diff options
| author | Minho Ban <[email protected]> | 2012-05-07 11:36:00 +0900 |
|---|---|---|
| committer | Steven Rostedt <[email protected]> | 2012-05-08 09:33:52 -0400 |
| commit | b02ee9a33b65bcc4ad13c12a0b04afdaab3ddd8d (patch) | |
| tree | bf634618536dd15ffb8d0129efeb7aac312279c6 /include/linux | |
| parent | 19631cb3d67c24c8b1fa58bc69bc2fed8d15095d (diff) | |
tracing: Prevent wasting time evaluating parameters in trace_preempt_on/off
This fixes spending time for evaluating parameters in trace_preempt_on/off when
the tracer config is off.
The patch mainly inspired by Steven Rostedt, thanks Steven.
Link: http://lkml.kernel.org/r/[email protected]
Cc: Ingo Molnar <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Turner <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Hidetoshi Seto <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Josh Triplett <[email protected]>
Signed-off-by: Minho Ban <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ftrace.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 0b5590330bca..d32cc5e4b0cc 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -491,8 +491,12 @@ static inline void __ftrace_enabled_restore(int enabled) extern void trace_preempt_on(unsigned long a0, unsigned long a1); extern void trace_preempt_off(unsigned long a0, unsigned long a1); #else - static inline void trace_preempt_on(unsigned long a0, unsigned long a1) { } - static inline void trace_preempt_off(unsigned long a0, unsigned long a1) { } +/* + * Use defines instead of static inlines because some arches will make code out + * of the CALLER_ADDR, when we really want these to be a real nop. + */ +# define trace_preempt_on(a0, a1) do { } while (0) +# define trace_preempt_off(a0, a1) do { } while (0) #endif #ifdef CONFIG_FTRACE_MCOUNT_RECORD |