kernel-hacking-2024-linux-s.../drivers/acpi
Huang Ying 67eb2e9907 ACPI, APEI, GHES, printk support for recoverable error via NMI
Some APEI GHES recoverable errors are reported via NMI, but printk is
not safe in NMI context.

To solve the issue, a lock-less memory allocator is used to allocate
memory in NMI handler, save the error record into the allocated
memory, put the error record into a lock-less list.  On the other
hand, an irq_work is used to delay the operation from NMI context to
IRQ context.  The irq_work IRQ handler will remove nodes from
lock-less list, printk the error record and do some further processing
include recovery operation, then free the memory.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2011-08-03 11:15:57 -04:00
..
acpica Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-05-29 11:19:16 -07:00
apei ACPI, APEI, GHES, printk support for recoverable error via NMI 2011-08-03 11:15:57 -04:00
ac.c
acpi_ipmi.c
acpi_memhotplug.c
acpi_pad.c
atomicio.c x86: remove 32-bit versions of readq()/writeq() 2011-05-25 08:39:44 -07:00
battery.c
blacklist.c
bus.c ACPI, APEI, Add APEI bit support in generic _OSC call 2011-07-13 23:38:20 -04:00
button.c
cm_sbs.c
container.c
custom_method.c ACPI: Split out custom_method functionality into an own driver 2011-05-29 01:50:40 -04:00
debugfs.c ACPI: Split out custom_method functionality into an own driver 2011-05-29 01:50:40 -04:00
dock.c
ec.c Merge branch 'ec-cleanup' into release 2011-05-29 04:40:39 -04:00
ec_sys.c
event.c
fan.c
glue.c
hed.c
internal.h ACPI: Cleanup custom_method debug stuff 2011-05-29 01:50:04 -04:00
Kconfig Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-05-29 11:19:16 -07:00
Makefile Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-05-29 11:19:16 -07:00
numa.c
nvs.c
osl.c Merge branches 'acpica', 'aml-custom', 'bugzilla-16548', 'bugzilla-20242', 'd3-cold', 'ec-asus' and 'thermal-fix' into release 2011-05-29 04:38:48 -04:00
pci_bind.c
pci_irq.c
pci_link.c
pci_root.c PCI/ACPI: Report _OSC control mask returned on failure to get control 2011-05-10 15:43:37 -07:00
pci_slot.c
power.c
proc.c
processor_core.c ACPI: processor: fix processor_physically_present in UP kernel 2011-05-29 02:17:56 -04:00
processor_driver.c
processor_idle.c x86 idle: clarify AMD erratum 400 workaround 2011-05-29 03:38:57 -04:00
processor_perflib.c [CPUFREQ] use dynamic debug instead of custom infrastructure 2011-05-04 11:50:57 -04:00
processor_thermal.c
processor_throttling.c Merge branch 'x86/urgent' into x86-mm 2011-05-02 14:16:47 +02:00
reboot.c
sbs.c
sbshc.c
sbshc.h
scan.c ACPI / PM: Avoid infinite recurrence while registering power resources 2011-04-26 11:33:18 +02:00
sleep.c
sleep.h
sysfs.c ACPI: Cleanup custom_method debug stuff 2011-05-29 01:50:04 -04:00
tables.c
thermal.c
utils.c
video.c treewide: fix a few typos in comments 2011-05-10 10:16:21 +02:00
video_detect.c
wakeup.c