提交 1de84979 编写于 作者: A Andi Kleen 提交者: Andi Kleen

[PATCH] i386: Enable NMI watchdog by default

I've had good experiences with having this on by default on x86-64.
It turns nasty hangs into easier to debug oopses.

Enable the local APIC wdog by default for systems newer than 2004.

This comes from a strange compromise: according to arjan the reason
it was off by default was some old IBM systems that corrupted
registered when NMI happened in SMI. Can't remember more specific,
but >= 2004 should avoid these. It's probably overly broad
because most older systems should be ok (and the really old systems
won't be supported by the local apic watchdog anyways)
Signed-off-by: NAndi Kleen <ak@suse.de>
上级 260d6790
......@@ -21,6 +21,7 @@
#include <linux/sysdev.h>
#include <linux/sysctl.h>
#include <linux/percpu.h>
#include <linux/dmi.h>
#include <asm/smp.h>
#include <asm/nmi.h>
......@@ -204,6 +205,14 @@ static int __init check_nmi_watchdog(void)
unsigned int *prev_nmi_count;
int cpu;
/* Enable NMI watchdog for newer systems.
Actually it should be safe for most systems before 2004 too except
for some IBM systems that corrupt registers when NMI happens
during SMM. Unfortunately we don't have more exact information
on these and use this coarse check. */
if (nmi_watchdog == NMI_DEFAULT && dmi_get_year(DMI_BIOS_DATE) >= 2004)
nmi_watchdog = NMI_LOCAL_APIC;
if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT))
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册