Re: [PATCH 06/20 -v5] add notrace annotations for NMI routines

From: Mathieu Desnoyers
Date: Wed Jan 23 2008 - 16:31:52 EST


* Steven Rostedt (rostedt@xxxxxxxxxxx) wrote:
> 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.
>
Is this still needed with the atomic clocksource read ?

> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> ---
> 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;
>
>
> --

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/