Messages in this thread | | | Date | Fri, 15 Mar 2013 15:39:35 -0400 | From | Steven Rostedt <> | Subject | [for-next][PATCH 00/20] tracing: function triggers, stack tracer fixes, clocks and documenation |
| |
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(-) [unhandled content-type:application/pgp-signature]
| |