If configured to use the I/O APIC, the NMI watchdog is deemed to fail if
the chip has been deactivated as a result of "nosmp". Downgrade to the
local APIC watchdog similarly to what is done for the UP case.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
---
patch-2.6.26-rc1-20080505-nosmp-watchdog-0
diff -up --recursive --new-file linux-2.6.26-rc1-20080505.macro/arch/x86/kernel/smpboot.c linux-2.6.26-rc1-20080505/arch/x86/kernel/smpboot.c
--- linux-2.6.26-rc1-20080505.macro/arch/x86/kernel/smpboot.c 2008-05-21 06:24:25.000000000 +0000
+++ linux-2.6.26-rc1-20080505/arch/x86/kernel/smpboot.c 2008-05-21 06:24:25.000000000 +0000
@@ -1147,6 +1147,10 @@ static int __init smp_sanity_check(unsig
if (!max_cpus) {
printk(KERN_INFO "SMP mode deactivated.\n");
smpboot_clear_io_apic();
+
+ if (nmi_watchdog != NMI_NONE && nmi_watchdog != NMI_DISABLED)
+ nmi_watchdog = NMI_LOCAL_APIC;
+
#ifdef CONFIG_X86_32
connect_bsp_APIC();
#endif
--