x86: APIC/SMP: downgrade the NMI watchdog for "nosmp"
authorMaciej W. Rozycki <macro@linux-mips.org>
Wed, 21 May 2008 21:10:16 +0000 (22:10 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 07:12:58 +0000 (09:12 +0200)
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>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/smpboot.c

index 8c53d86e3e86d1d8e6dac6407db57a791264c56d..df60bc7c9cb706a806099cb08a1d66a70b95fc64 100644 (file)
@@ -1159,6 +1159,10 @@ static int __init smp_sanity_check(unsigned max_cpus)
        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