aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/smpboot.c
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2006-09-26 04:52:27 -0400
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 04:52:27 -0400
commit4038f901cf102a40715b900984ed7540a9fa637f (patch)
treee73261bee0e0856dba5a8bc447b18779a61fe235 /arch/i386/kernel/smpboot.c
parentc41c5cd3b20a2d81c30498f13b1527847a8fdf69 (diff)
[PATCH] i386/x86-64: Fix NMI watchdog suspend/resume
Making NMI suspend/resume work with SMP. We use CPU hotplug to offline APs in SMP suspend/resume. Only BSP executes sysdev's .suspend/.resume method. APs should follow CPU hotplug code path. And: +From: Don Zickus <dzickus@redhat.com> Makes the start/stop paths of nmi watchdog more robust to handle the suspend/resume cases more gracefully. AK: I merged the two patches together Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Don Zickus <dzickus@redhat.com> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r--arch/i386/kernel/smpboot.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index efe07990e7fc..9367af76ce37 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -1376,7 +1376,8 @@ int __cpu_disable(void)
1376 */ 1376 */
1377 if (cpu == 0) 1377 if (cpu == 0)
1378 return -EBUSY; 1378 return -EBUSY;
1379 1379 if (nmi_watchdog == NMI_LOCAL_APIC)
1380 stop_apic_nmi_watchdog(NULL);
1380 clear_local_APIC(); 1381 clear_local_APIC();
1381 /* Allow any queued timer interrupts to get serviced */ 1382 /* Allow any queued timer interrupts to get serviced */
1382 local_irq_enable(); 1383 local_irq_enable();