x86, mce: always use separate work queue to run trigger
authorAndi Kleen <andi@firstfloor.org>
Thu, 12 Feb 2009 12:39:28 +0000 (13:39 +0100)
committerH. Peter Anvin <hpa@linux.intel.com>
Tue, 17 Feb 2009 23:32:41 +0000 (15:32 -0800)
commit9bd984058088d6ef7af6946591a207e51a2f4890
tree538a5ae886a21f3086918e3738813ff55a9818bc
parent123aa76ec0cab5d4881cd8509faed43231e68801
x86, mce: always use separate work queue to run trigger

Impact: Needed for bug fix in next patch

This relaxes the requirement that mce_notify_user has to run in process
context. Useful for future changes, but also leads to cleaner
behaviour now. Now instead mce_notify_user can be called directly
from interrupt (but not NMI) context.

The work queue only uses a single global work struct, which can be done safely
because it is always free to reuse before the trigger function is executed.
This way no events can be lost.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/mcheck/mce_64.c