Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757065AbYAWQJz (ORCPT ); Wed, 23 Jan 2008 11:09:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755305AbYAWQFQ (ORCPT ); Wed, 23 Jan 2008 11:05:16 -0500 Received: from ms-smtp-05.nyroc.rr.com ([24.24.2.59]:54998 "EHLO ms-smtp-05.nyroc.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754481AbYAWQE4 (ORCPT ); Wed, 23 Jan 2008 11:04:56 -0500 Message-Id: <20080123160442.063076557@goodmis.org> References: <20080123160236.969334052@goodmis.org> User-Agent: quilt/0.46-1 Date: Wed, 23 Jan 2008 11:02:42 -0500 From: Steven Rostedt To: LKML Cc: Ingo Molnar , Linus Torvalds , Andrew Morton , Peter Zijlstra , Christoph Hellwig , Mathieu Desnoyers , Gregory Haskins , Arnaldo Carvalho de Melo , Thomas Gleixner , Tim Bird , Sam Ravnborg , "Frank Ch. Eigler" , Jan Kiszka , John Stultz , Arjan van de Ven , Steven Rostedt Subject: [PATCH 06/20 -v5] add notrace annotations for NMI routines Content-Disposition: inline; filename=mcount-nmi-notrace-annotations.patch Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2711 Lines: 70 This annotates NMI functions with notrace. Some tracers may be able to live with this, but some cannot. So we turn off NMI tracing. One solution might be to make a notrace_nmi which would only turn off NMI tracing if a trace utility needed it off. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt --- arch/x86/kernel/nmi_32.c | 2 +- arch/x86/kernel/nmi_64.c | 2 +- arch/x86/kernel/traps_32.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) Index: linux-mcount.git/arch/x86/kernel/nmi_32.c =================================================================== --- linux-mcount.git.orig/arch/x86/kernel/nmi_32.c 2008-01-23 10:26:11.000000000 -0500 +++ linux-mcount.git/arch/x86/kernel/nmi_32.c 2008-01-23 10:26:53.000000000 -0500 @@ -323,7 +323,7 @@ EXPORT_SYMBOL(touch_nmi_watchdog); extern void die_nmi(struct pt_regs *, const char *msg); -__kprobes int nmi_watchdog_tick(struct pt_regs * regs, unsigned reason) +notrace __kprobes int nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) { /* Index: linux-mcount.git/arch/x86/kernel/nmi_64.c =================================================================== --- linux-mcount.git.orig/arch/x86/kernel/nmi_64.c 2008-01-23 10:26:11.000000000 -0500 +++ linux-mcount.git/arch/x86/kernel/nmi_64.c 2008-01-23 10:26:53.000000000 -0500 @@ -314,7 +314,7 @@ void touch_nmi_watchdog(void) touch_softlockup_watchdog(); } -int __kprobes nmi_watchdog_tick(struct pt_regs * regs, unsigned reason) +notrace __kprobes int nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) { int sum; int touched = 0; Index: linux-mcount.git/arch/x86/kernel/traps_32.c =================================================================== --- linux-mcount.git.orig/arch/x86/kernel/traps_32.c 2008-01-23 10:26:11.000000000 -0500 +++ linux-mcount.git/arch/x86/kernel/traps_32.c 2008-01-23 10:26:53.000000000 -0500 @@ -723,7 +723,7 @@ void __kprobes die_nmi(struct pt_regs *r do_exit(SIGSEGV); } -static __kprobes void default_do_nmi(struct pt_regs * regs) +static notrace __kprobes void default_do_nmi(struct pt_regs *regs) { unsigned char reason = 0; @@ -763,7 +763,7 @@ static __kprobes void default_do_nmi(str static int ignore_nmis; -fastcall __kprobes void do_nmi(struct pt_regs * regs, long error_code) +notrace fastcall __kprobes void do_nmi(struct pt_regs *regs, long error_code) { int cpu; -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/