linux_dsm_epyc7002/include
Thomas Gleixner b04e7bdb98 ACPI: disable lower idle C-states across suspend/resume
device_suspend() calls ACPI suspend functions, which seems to have undesired
side effects on lower idle C-states. It took me some time to realize that
especially the VAIO BIOSes (both Andrews jinxed UP and my elfstruck SMP one)
show this effect. I'm quite sure that other bug reports against suspend/resume
about turning the system into a brick have the same root cause.

After fishing in the dark for quite some time, I realized that removing the ACPI
processor module before suspend (this removes the lower C-state functionality)
made the problem disappear. Interestingly enough the propability of having a
bricked box is influenced by various factors (interrupts, size of the ram image,
...). Even adding a bunch of printks in the wrong places made the problem go
away. The previous periodic tick implementation simply pampered over the
problem, which explains why the dyntick / clockevents changes made this more
prominent.

We avoid complex functionality during the boot process and we have to do the
same during suspend/resume. It is a similar scenario and equaly fragile.

Add suspend / resume functions to the ACPI processor code and disable the lower
idle C-states across suspend/resume. Fall back to the default idle
implementation (halt) instead.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-09-22 17:15:34 -07:00
..
acpi ACPI: disable lower idle C-states across suspend/resume 2007-09-22 17:15:34 -07:00
asm-alpha
asm-arm
asm-avr32
asm-blackfin Blackfin arch: fix some bugs in lib/string.h functions found by our string testing modules 2007-09-12 16:30:15 +08:00
asm-cris
asm-frv
asm-generic Define termios_1 functions for powerpc, s390, avr32 and frv 2007-09-12 09:08:05 -07:00
asm-h8300
asm-i386
asm-ia64 [IA64] Cleanup HPSIM code (was: Re: Enable early console for Ski simulator) 2007-09-01 02:52:25 -07:00
asm-m32r m32r: Rename STI/CLI macros 2007-09-06 11:10:56 +09:00
asm-m68k m68k(nommu): add missing syscalls 2007-09-11 17:21:20 -07:00
asm-m68knommu m68k(nommu): add missing syscalls 2007-09-11 17:21:20 -07:00
asm-mips [MIPS] cpu-bugs64.c: GCC 3.3 constraint workaround 2007-09-19 19:33:14 +01:00
asm-parisc
asm-powerpc [POWERPC] Fix timekeeping on PowerPC 601 2007-09-19 15:26:34 +10:00
asm-ppc
asm-s390
asm-sh
asm-sh64
asm-sparc
asm-sparc64 [SPARC64]: Fix lockdep, particularly on SMP. 2007-09-16 11:51:15 -07:00
asm-um UML: Fix ELF_CORE_COPY_REGS build botch 2007-09-10 18:58:05 -07:00
asm-v850
asm-x86_64 Revert "x86_64: Quicklist support for x86_64" 2007-09-21 12:09:41 -07:00
asm-xtensa
crypto
keys
linux signalfd simplification 2007-09-20 13:19:59 -07:00
math-emu
media V4L/DVB (6220a): fix build error for et61x251 driver 2007-09-14 13:39:12 -03:00
mtd
net [SCTP]: Convert bind_addr_list locking to RCU 2007-09-16 16:03:28 -07:00
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild