]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI, APEI, GHES, printk support for recoverable error via NMI
authorHuang Ying <ying.huang@intel.com>
Wed, 13 Jul 2011 05:14:25 +0000 (13:14 +0800)
committerLen Brown <len.brown@intel.com>
Wed, 3 Aug 2011 15:15:57 +0000 (11:15 -0400)
commit403795834e7030670f18ae9d55a806cda207239f
treedc3863496a4b6c4e30450f1b94d3e1c87b858e7a
parent2c63b44d4f77703c26096fbd55cdf4cd844e4275
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>
drivers/acpi/apei/Kconfig
drivers/acpi/apei/ghes.c