From: Linus Torvalds Date: Sun, 15 Jan 2012 19:26:35 +0000 (-0800) Subject: Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v3.3-rc1~51 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e;p=profile%2Fivi%2Fkernel-x86-ivi.git Merge branch 'perf-core-for-linus' of git://git./linux/kernel/git/tip/tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits) perf tools: Fix compile error on x86_64 Ubuntu perf report: Fix --stdio output alignment when --showcpuutilization used perf annotate: Get rid of field_sep check perf annotate: Fix usage string perf kmem: Fix a memory leak perf kmem: Add missing closedir() calls perf top: Add error message for EMFILE perf test: Change type of '-v' option to INCR perf script: Add missing closedir() calls tracing: Fix compile error when static ftrace is enabled recordmcount: Fix handling of elf64 big-endian objects. perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again perf tools: Add support for guest/host-only profiling perf kvm: Do guest-only counting by default perf top: Don't update total_period on process_sample perf hists: Stop using 'self' for struct hist_entry perf hists: Rename total_session to total_period x86: Add counter when debug stack is used with interrupts enabled x86: Allow NMIs to hit breakpoints in i386 x86: Keep current stack in NMI breakpoints ... --- 83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e diff --cc arch/x86/kernel/traps.c index fa1191f,0072b38..482ec3a --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@@ -310,7 -310,17 +310,12 @@@ dotraplinkage void __kprobes do_int3(st if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) return; -#else - if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP) - == NOTIFY_STOP) - return; -#endif + /* + * Let others (NMI) know that the debug stack is in use + * as we may switch to the interrupt stack. + */ + debug_stack_usage_inc(); preempt_conditional_sti(regs); do_trap(3, SIGTRAP, "int3", regs, error_code, NULL); preempt_conditional_cli(regs);