[for-next][PATCH 00/20] tracing: function triggers, stack tracer fixes, clocks and documenation
From: Steven Rostedt
Date: Fri Mar 15 2013 - 15:55:55 EST
Here's another set of patches.
Mostly I updated the function triggers. You know the kind:
echo bad_area_nosemaphore:traceoff > set_ftrace_filter
I cleaned up the code and also added a few more triggers.
What we already had was just traceon and traceoff. These turn on and
off tracing when a function is hit.
What was added was:
snapshot: Take a snapshot of the buffer (swap buffers with the live
and "snapshot" buffer) when a function is hit. Note, it
will not snapshot in an NMI.
stacktrace: Write the current kernel stacktrace into the ring buffer.
enable_event: Enable a specified event to start tracing.
disable_event: Have a specified event to stop tracing.
I also added two new trace_clocks:
uptime - counts jiffies since boot up and reports in nanoseconds.
perf - uses perf's local_clock(). This will help later when
perf can read ftrace buffers and can interleave them.
Finally, I updated Documentation/trace/ftrace.txt to reflect all these
changes, as well as changes that have been done since it was last updated.
That file was suffering from some major bit rot.
I'll keep these in linux-next for a while before doing my pull request
to Ingo.
Enjoy,
-- Steve
Steven Rostedt (Red Hat) (20):
tracing: Consolidate updating of count for traceon/off
tracing: Consolidate ftrace_trace_onoff_unreg() into callback
ftrace: Separate unlimited probes from count limited probes
ftrace: Fix function probe to only enable needed functions
tracing: Add alloc/free_snapshot() to replace duplicate code
tracing: Add snapshot trigger to function probes
tracing: Fix comments for ftrace_event_file/call flags
ftrace: Clean up function probe methods
ftrace: Use manual free after synchronize_sched() not call_rcu_sched()
tracing: Add a way to soft disable trace events
tracing: Add function probe triggers to enable/disable events
tracing: Add skip argument to trace_dump_stack()
tracing: Add function probe to trigger stack traces
tracing: Use stack of calling function for stack tracer
tracing: Fix stack tracer with fentry use
tracing: Remove most or all of stack tracer stack size from stack_max_size
tracing: Add function-trace option to disable function tracing of latency tracers
tracing: Add "uptime" trace clock that uses jiffies
tracing: Add "perf" trace_clock
tracing: Bring Documentation/trace/ftrace.txt up to date
----
Documentation/trace/ftrace.txt | 2097 ++++++++++++++++++++++++++-----------
include/linux/ftrace.h | 6 +-
include/linux/ftrace_event.h | 37 +-
include/linux/kernel.h | 2 +-
include/linux/trace_clock.h | 1 +
include/trace/ftrace.h | 8 +
kernel/trace/ftrace.c | 73 +-
kernel/trace/trace.c | 208 +++-
kernel/trace/trace.h | 1 +
kernel/trace/trace_clock.c | 10 +
kernel/trace/trace_events.c | 354 ++++++-
kernel/trace/trace_functions.c | 199 +++-
kernel/trace/trace_irqsoff.c | 67 +-
kernel/trace/trace_sched_wakeup.c | 63 +-
kernel/trace/trace_stack.c | 74 +-
15 files changed, 2418 insertions(+), 782 deletions(-)
Attachment:
signature.asc
Description: This is a digitally signed message part