[lkml]   [2010]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/4] [GIT PULL] tracing: Harry Potter and the Deathly Macros


This pull request is for 2.6.38.

The first two patches are boring and are just some updates for tracing.

But the second two patches are the Deathly Macros.

The first of the two is the Macro of Invisibility. Not really anything
to worry about. It adds the TP_CONDITION() which allows a tracepoint
to "hide" unwanted traces nicely. If the condition is not met, that
tracepoint will not be traced. Also, the "if" statement is outside
the fast path and is only hit during actual tracing (not there when
tracing is disabled).

The second patch is the Macro of Resurrection. It is resurrecting
the debate about stable tracepoints and if current tracepoints may change.
This patch uses the first patch to only trace the wakeup tracepoint
if it succeeds to actually wake something up. This makes the
"success" field in the tracepoint redundant and it seems silly to
keep it there. It wastes space in the buffers and adds a slight overhead
just to record it. But this wasted space is more of an issue than
the overhead.

Now if we change this, it may break tools that analyze the wakeup
tracepoint and checks the "success" field to know if it should
ignore it or not. Any tools that do this should have tested to
see if that field was there and if not assume the wakeup succeeded.

If we had the Macro of Invinicibility (true stable events), then
this would not be an issue for us. But unfortunately, the Macro of
Invincibility is not here, and is probably buried somewhere
with an old gay wizard.

Please pull the latest tip/perf/core tree, which can be found at:


Steven Rostedt (3):
tracing/events: Show real number in array fields
tracing: Only trace sched_wakeup if it actually work something up

Wu Zhangjin (1):
ftrace: Speed up recordmcount

include/linux/ftrace_event.h | 4 ++++
include/linux/tracepoint.h | 29 +++++++++++++++++++++++------
include/trace/define_trace.h | 15 +++++++++++++++
include/trace/events/sched.h | 16 ++++++++--------
include/trace/ftrace.h | 14 ++++++++++----
kernel/trace/trace_events.c | 6 ++++++
kernel/trace/trace_export.c | 14 ++++++++++----
scripts/ | 13 +++++++++----
8 files changed, 85 insertions(+), 26 deletions(-)

 \ /
  Last update: 2010-12-04 03:33    [W:0.064 / U:1.184 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site