aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/traps.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-08-05 08:45:05 +0200
committerIngo Molnar <mingo@elte.hu>2010-08-05 08:45:05 +0200
commit61be7fdec2f51b99570cd5dcc30c7848c8e56513 (patch)
tree4a73ee635bc3e35dc54f75caddd26ffb6238bb5c /arch/x86/kernel/traps.c
parent12a81c8df13c60904febcafcf6b90ca1acb67122 (diff)
parenteb703f98191a505f78d0066712ad67d5dedc4c90 (diff)
downloadmrst-s0i3-test-61be7fdec2f51b99570cd5dcc30c7848c8e56513.tar.gz
mrst-s0i3-test-61be7fdec2f51b99570cd5dcc30c7848c8e56513.tar.xz
mrst-s0i3-test-61be7fdec2f51b99570cd5dcc30c7848c8e56513.zip
Merge branch 'perf/nmi' into perf/core
Conflicts: kernel/Makefile Merge reason: Add the now complete topic, fix the conflict. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/traps.c')
-rw-r--r--arch/x86/kernel/traps.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 725ef4d17cd..60788dee0f8 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -392,7 +392,13 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT)
== NOTIFY_STOP)
return;
+
#ifdef CONFIG_X86_LOCAL_APIC
+ if (notify_die(DIE_NMI, "nmi", regs, reason, 2, SIGINT)
+ == NOTIFY_STOP)
+ return;
+
+#ifndef CONFIG_LOCKUP_DETECTOR
/*
* Ok, so this is none of the documented NMI sources,
* so it must be the NMI watchdog.
@@ -400,6 +406,7 @@ static notrace __kprobes void default_do_nmi(struct pt_regs *regs)
if (nmi_watchdog_tick(regs, reason))
return;
if (!do_nmi_callback(regs, cpu))
+#endif /* !CONFIG_LOCKUP_DETECTOR */
unknown_nmi_error(reason, regs);
#else
unknown_nmi_error(reason, regs);