linux/arch/x86/kernel/cpu/mcheck
Chen Gong 55babd8f41 x86/mce: Add CMCI poll mode
On Intel systems corrected machine check interrupts (CMCI) may be sent to
multiple logical processors; possibly to all processors on the affected
socket (SDM Volume 3B "15.5.1 CMCI Local APIC Interface").  This means
that a persistent error (such as a stuck bit in ECC memory) may cause
a storm of interrupts that greatly hinders or prevents forward progress
(probably on many processors).

To solve this we keep track of the rate at which each processor sees
CMCI. If we exceed a threshold, we disable CMCI delivery and switch to
polling the machine check banks. If the storm subsides (none of the
affected processors see any more errors for a complete poll interval) we
re-enable CMCI.

[Tony: Added console messages when storm begins/ends and increased storm
threshold from 5 to 15 so we have a few more logged entries before we
disable interrupts and start dropping reports]

Signed-off-by: Chen Gong <gong.chen@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Chen Gong <gong.chen@linux.intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2012-08-09 11:44:51 -07:00
..
Makefile ACPI, APEI, Generic Hardware Error Source memory error support 2010-05-19 22:41:16 -04:00
mce_amd.c Features: 2012-07-24 13:14:03 -07:00
mce_intel.c x86/mce: Add CMCI poll mode 2012-08-09 11:44:51 -07:00
mce-apei.c x86/mce Add validation check before GHES error is recorded 2012-04-20 16:02:05 -07:00
mce-inject.c x86: mce: Serialize mce injection 2012-08-03 11:45:56 -07:00
mce-internal.h x86/mce: Add CMCI poll mode 2012-08-09 11:44:51 -07:00
mce-severity.c x86/mce: Add instruction recovery signatures to mce-severity table 2012-05-23 14:24:11 -07:00
mce.c x86/mce: Add CMCI poll mode 2012-08-09 11:44:51 -07:00
p5.c Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
therm_throt.c Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00
threshold.c x86: Call idle notifier after irq_enter() 2011-12-11 10:31:38 -08:00
winchip.c Disintegrate asm/system.h for X86 2012-03-28 18:11:12 +01:00