Skip to contentSkip to conversation

tracing: Prevent wasting time evaluating parameters in trace_preempt_on/off

PATCH In review Minho Ban 2 participants 2 messages Apr 25, 2012 ftrace

lore
Share & tools
lore

Minho Ban

author
#0 lore raw

PATCH 1/1 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.

---
 include/linux/ftrace.h |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
include/linux/ftrace.h +6 -2
index 72a6cab..bc7af66 100644
@@ -485,8 +485,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
Signature · 1 line
1.7.5.4