OpenCloudOS-Kernel/arch/x86/kernel/cpu/mcheck
Andi Kleen 29b0f591d6 x86, mce: default to panic timeout for machine checks
Fatal machine checks can be logged to disk after boot, but only if
the system did a warm reboot. That's unfortunately difficult with the
default panic behaviour, which waits forever and the admin has to
press the power button because modern systems usually miss a reset button.
This clears the machine checks in the registers and make
it impossible to log them.

This patch changes the default for machine check panic to always
reboot after 30s. Then the mce can be successfully logged after
reboot.

I believe this will improve machine check experience for any
system running the X server.

This is dependent on successfull boot logging of MCEs. This currently
only works on Intel systems, on AMD there are quite a lot of systems
around which leave junk in the machine check registers after boot,
so it's disabled here. These systems will continue to default
to endless waiting panic.

v2: Only force panic timeout when it's shorter (H.Seto)
v3: Only force timeout when there is no timeout
(based on comment H.Seto)

[ Fix changelog - HS ]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-03 14:45:33 -07:00
..
Makefile x86, mce: add table driven machine check grading 2009-06-03 14:40:39 -07:00
k7.c x86, mce: clean up k7.c 2009-05-28 09:24:10 -07:00
mce-inject.c x86, mce: support more than 256 CPUs in struct mce 2009-06-03 14:40:38 -07:00
mce-internal.h x86, mce: add table driven machine check grading 2009-06-03 14:40:39 -07:00
mce-severity.c x86, mce: add table driven machine check grading 2009-06-03 14:40:39 -07:00
mce.c x86, mce: default to panic timeout for machine checks 2009-06-03 14:45:33 -07:00
mce.h x86, mce: use 64bit machine check code on 32bit 2009-05-28 09:24:13 -07:00
mce_amd_64.c x86, mce: trivial clean up for mce_amd_64.c 2009-05-28 09:24:16 -07:00
mce_intel.c x86, mce: Cleanup symbols in intel thermal codes 2009-05-28 09:24:11 -07:00
mce_intel_64.c x86, mce: trivial clean up for mce_intel_64.c 2009-05-28 09:24:16 -07:00
non-fatal.c x86, mce: clean up non-fatal.c 2009-05-28 09:24:10 -07:00
p4.c x86, mce: Cleanup symbols in intel thermal codes 2009-05-28 09:24:11 -07:00
p5.c x86, mce: use 64bit machine check code on 32bit 2009-05-28 09:24:13 -07:00
p6.c x86, mce: clean up p6.c 2009-05-28 09:24:09 -07:00
therm_throt.c x86, mce: trivial clean up for therm_throt.c 2009-05-28 09:24:15 -07:00
threshold.c x86, mce: enable MCE_INTEL for 32bit new MCE 2009-05-28 09:24:13 -07:00
winchip.c x86, mce: clean up winchip.c 2009-05-28 09:24:10 -07:00