Commit f2802e7f authored by Don Zickus's avatar Don Zickus Committed by Andi Kleen

[PATCH] Add SMP support on x86_64 to reservation framework

This patch includes the changes to make the nmi watchdog on x86_64 SMP
aware.  A bunch of code was moved around to make it simpler to read.  In
addition, it is now possible to determine if a particular NMI was the result
of the watchdog or not.  This feature allows the kernel to filter out
unknown NMIs easier.
Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent cb9c448c
...@@ -479,8 +479,7 @@ void __cpuinit setup_local_APIC (void) ...@@ -479,8 +479,7 @@ void __cpuinit setup_local_APIC (void)
} }
nmi_watchdog_default(); nmi_watchdog_default();
if (nmi_watchdog == NMI_LOCAL_APIC) setup_apic_nmi_watchdog(NULL);
setup_apic_nmi_watchdog();
apic_pm_activate(); apic_pm_activate();
} }
......
This diff is collapsed.
...@@ -63,7 +63,7 @@ extern void release_perfctr_nmi(unsigned int); ...@@ -63,7 +63,7 @@ extern void release_perfctr_nmi(unsigned int);
extern int reserve_evntsel_nmi(unsigned int); extern int reserve_evntsel_nmi(unsigned int);
extern void release_evntsel_nmi(unsigned int); extern void release_evntsel_nmi(unsigned int);
extern void setup_apic_nmi_watchdog (void); extern void setup_apic_nmi_watchdog (void *);
extern int reserve_lapic_nmi(void); extern int reserve_lapic_nmi(void);
extern void release_lapic_nmi(void); extern void release_lapic_nmi(void);
extern void disable_timer_nmi_watchdog(void); extern void disable_timer_nmi_watchdog(void);
...@@ -73,6 +73,7 @@ extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason); ...@@ -73,6 +73,7 @@ extern void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason);
extern void nmi_watchdog_default(void); extern void nmi_watchdog_default(void);
extern int setup_nmi_watchdog(char *); extern int setup_nmi_watchdog(char *);
extern atomic_t nmi_active;
extern unsigned int nmi_watchdog; extern unsigned int nmi_watchdog;
#define NMI_DEFAULT -1 #define NMI_DEFAULT -1
#define NMI_NONE 0 #define NMI_NONE 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment