linux/arch/x86/kernel/cpu
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
..
mcheck x86/mce: Add CMCI poll mode 2012-08-09 11:44:51 -07:00
mtrr x86/mm/mtrr: Slightly simplify print_mtrr_state() 2012-07-10 10:38:15 +02:00
.gitignore
amd.c x86, cpu: Rename checking_wrmsrl() to wrmsrl_safe() 2012-06-07 13:32:04 -07:00
bugs_64.c
bugs.c x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level> 2012-06-06 09:17:22 +02:00
centaur.c x86, centaur: Enable cx8 for VIA Eden too 2011-12-15 08:04:42 -08:00
common.c Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-07-26 13:17:17 -07:00
cpu.h x86/tlb_info: get last level TLB entry number of CPU 2012-06-27 19:28:24 -07:00
cyrix.c
hypervisor.c x86, hyper: fix build with !CONFIG_KVM_GUEST 2012-07-18 17:01:48 -03:00
intel_cacheinfo.c x86/cache_info: Fix setup of l2/l3 ids 2012-05-07 15:27:37 +02:00
intel.c x86/tlb: add tlb_flushall_shift for specific CPU 2012-06-27 19:29:10 -07:00
Makefile Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-07-26 13:08:01 -07:00
match.c x86: Fix typo in MODULE_DEVICE_TABLE example: s/x86_cpu/x86cpu/ 2012-04-16 14:20:19 +02:00
mkcapflags.pl x86, cpufeature: Remove stray %s, add -w to mkcapflags.pl 2012-06-26 08:02:48 -07:00
mshyperv.c x86: Hyper-V: Integrate the clocksource with Hyper-V detection code 2011-09-08 10:33:59 +02:00
perf_event_amd_ibs.c perf/x86-ibs: Fix usage of IBS op current count 2012-05-09 15:23:17 +02:00
perf_event_amd.c perf/x86/amd: Unify AMD's generic and family 15h pmus 2012-07-05 21:19:41 +02:00
perf_event_intel_ds.c perf/x86: Rename Intel specific macros 2012-07-05 21:19:39 +02:00
perf_event_intel_lbr.c perf/x86: Add LBR software filter support for Intel CPUs 2012-03-05 14:55:42 +01:00
perf_event_intel_uncore.c perf/x86: Fix format definition of SNB-EP uncore QPI box 2012-07-26 12:23:14 +02:00
perf_event_intel_uncore.h perf/x86: Fix format definition of SNB-EP uncore QPI box 2012-07-26 12:23:14 +02:00
perf_event_intel.c perf/x86: Fix LLC-* and node-* events on Intel SandyBridge 2012-07-26 12:23:12 +02:00
perf_event_p4.c perf/x86: Rename Intel specific macros 2012-07-05 21:19:39 +02:00
perf_event_p6.c x86, cpu: Rename checking_wrmsrl() to wrmsrl_safe() 2012-06-07 13:32:04 -07:00
perf_event.c perf/x86: Add a microcode revision check for SNB-PEBS 2012-07-05 21:55:57 +02:00
perf_event.h perf/x86: Make bitfield unsigned 2012-07-26 12:23:13 +02:00
perfctr-watchdog.c perf, x86: Add new AMD family 15h msrs to perfctr reservation code 2011-02-16 13:30:50 +01:00
powerflags.c x86: Report cpb and eff_freq_ro flags correctly 2011-12-15 08:14:49 +01:00
proc.c x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86' 2011-12-21 09:25:09 +01:00
rdrand.c x86, random: Verify RDRAND functionality and allow it to be disabled 2011-07-31 14:02:19 -07:00
scattered.c x86, cpufeature: Rename X86_FEATURE_DTS to X86_FEATURE_DTHERM 2012-06-25 09:01:15 -07:00
topology.c x86, cpu: Split addon_cpuid_features.c 2010-07-19 19:02:41 -07:00
transmeta.c
umc.c
vmware.c x86: Fix common misspellings 2011-03-18 10:39:30 +01:00