commit aea29c4a9324f24b5c61e7c3919a8137a53be935 Author: Andi Kleen <ak at linux.intel.com> Date: Fri Nov 19 18:42:02 2010 +0100 x86: mce: Convert mce code to xpanic - Pass in the panic timeout directly instead of abusing global variable. - Disable backtraces and kexecs on machine check panics because they don't do anything useful. Signed-off-by: Andi Kleen <ak at linux.intel.com> --- arch/x86/kernel/cpu/mcheck/mce.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) Index: linux-2.6.slim_kdump/arch/x86/kernel/cpu/mcheck/mce.c =================================================================== --- linux-2.6.slim_kdump.orig/arch/x86/kernel/cpu/mcheck/mce.c +++ linux-2.6.slim_kdump/arch/x86/kernel/cpu/mcheck/mce.c @@ -258,9 +258,8 @@ static void wait_for_panic(void) local_irq_enable(); while (timeout-- > 0) udelay(1); - if (panic_timeout == 0) - panic_timeout = mce_panic_timeout; - panic("Panicing machine check CPU died"); + xpanic(PANIC_NO_KEXEC|PANIC_NO_BACKTRACE, 0, + "Panicing machine check CPU died"); } static void mce_panic(char *msg, struct mce *final, char *exp) @@ -316,9 +315,8 @@ static void mce_panic(char *msg, struct if (exp) pr_emerg(HW_ERR "Machine check: %s\n", exp); if (!fake_panic) { - if (panic_timeout == 0) - panic_timeout = mce_panic_timeout; - panic(msg); + xpanic(PANIC_NO_KEXEC|PANIC_NO_BACKTRACE, mce_panic_timeout, + msg); } else pr_emerg(HW_ERR "Fake kernel panic: %s\n", msg); }