Steven Rostedt (Red Hat)
dd42cd3ea9
tracing: Add function probe to trigger stack traces
Add a function probe that will cause a stack trace to be traced in
the ring buffer when the given function(s) are called.
format is:
<function>:stacktrace[:<count>]
echo 'schedule:stacktrace' > /debug/tracing/set_ftrace_filter
cat /debug/tracing/trace_pipe
kworker/2:0-4329 [002] ...2 2933.558007: <stack trace>
=> kthread
=> ret_from_fork
<idle>-0 [000] .N.2 2933.558019: <stack trace>
=> rest_init
=> start_kernel
=> x86_64_start_reservations
=> x86_64_start_kernel
kworker/2:0-4329 [002] ...2 2933.558109: <stack trace>
=> kthread
=> ret_from_fork
[...]
This can be set to only trace a specific amount of times:
echo 'schedule:stacktrace:3' > /debug/tracing/set_ftrace_filter
cat /debug/tracing/trace_pipe
<...>-58 [003] ...2 841.801694: <stack trace>
=> kthread
=> ret_from_fork
<idle>-0 [001] .N.2 841.801697: <stack trace>
=> start_secondary
<...>-2059 [001] ...2 841.801736: <stack trace>
=> wait_for_common
=> wait_for_completion
=> flush_work
=> tty_flush_to_ldisc
=> input_available_p
=> n_tty_poll
=> tty_poll
=> do_select
=> core_sys_select
=> sys_select
=> system_call_fastpath
To remove these:
echo '!schedule:stacktrace' > /debug/tracing/set_ftrace_filter
echo '!schedule:stacktrace:0' > /debug/tracing/set_ftrace_filter
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
2013-03-15 00:36:05 -04:00 |
| .. |
|
blktrace.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
ftrace.c
|
ftrace: Use manual free after synchronize_sched() not call_rcu_sched()
|
2013-03-15 00:36:03 -04:00 |
|
Kconfig
|
tracing: Add config option to allow snapshot to swap per cpu
|
2013-03-15 00:35:47 -04:00 |
|
Makefile
|
trace: Stop compiling in trace_clock unconditionally
|
2012-09-13 22:52:08 -04:00 |
|
power-traces.c
|
|
|
|
ring_buffer.c
|
ring-buffer: Do not use schedule_work_on() for current CPU
|
2013-03-15 00:35:52 -04:00 |
|
ring_buffer_benchmark.c
|
|
|
|
rpm-traces.c
|
PM / Runtime: Introduce trace points for tracing rpm_* functions
|
2011-09-27 22:53:27 +02:00 |
|
trace.c
|
tracing: Add skip argument to trace_dump_stack()
|
2013-03-15 00:36:05 -04:00 |
|
trace.h
|
tracing: Add internal ftrace trace_puts() for ftrace to use
|
2013-03-15 00:35:56 -04:00 |
|
trace_branch.c
|
tracing: Fix the branch tracer that broke with buffer change
|
2013-03-15 00:35:54 -04:00 |
|
trace_clock.c
|
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-19 17:49:41 -08:00 |
|
trace_entries.h
|
tracing: Add trace_puts() for even faster trace_printk() tracing
|
2013-03-15 00:35:55 -04:00 |
|
trace_event_perf.c
|
perf/core improvements and fixes:
|
2012-08-21 11:27:00 +02:00 |
|
trace_events.c
|
tracing: Add function probe triggers to enable/disable events
|
2013-03-15 00:36:04 -04:00 |
|
trace_events_filter.c
|
tracing: Separate out trace events from global variables
|
2013-03-15 00:34:40 -04:00 |
|
trace_events_filter_test.h
|
tracing/filter: Add startup tests for events filter
|
2011-08-19 14:35:59 -04:00 |
|
trace_export.c
|
tracing: Fix some section mismatch warnings
|
2013-03-15 00:34:54 -04:00 |
|
trace_functions.c
|
tracing: Add function probe to trigger stack traces
|
2013-03-15 00:36:05 -04:00 |
|
trace_functions_graph.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_irqsoff.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_kdb.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_kprobe.c
|
tracing: Use irq_work for wake ups and remove *_nowake_*() functions
|
2012-11-02 10:21:52 -04:00 |
|
trace_mmiotrace.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_nop.c
|
|
|
|
trace_output.c
|
tracing: Add trace_puts() for even faster trace_printk() tracing
|
2013-03-15 00:35:55 -04:00 |
|
trace_output.h
|
tracing: Add trace_puts() for even faster trace_printk() tracing
|
2013-03-15 00:35:55 -04:00 |
|
trace_printk.c
|
tracing: Add percpu buffers for trace_printk()
|
2012-04-23 21:15:55 -04:00 |
|
trace_probe.c
|
tracing: Replace strict_strto* with kstrto*
|
2012-10-31 16:45:23 -04:00 |
|
trace_probe.h
|
uprobes/tracing: Introduce is_trace_uprobe_enabled()
|
2013-02-08 18:24:30 +01:00 |
|
trace_sched_switch.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_sched_wakeup.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_selftest.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_selftest_dynamic.c
|
|
|
|
trace_stack.c
|
tracing: Remove unneeded checks from the stack tracer
|
2012-11-19 15:07:13 -05:00 |
|
trace_stat.c
|
|
|
|
trace_stat.h
|
|
|
|
trace_syscalls.c
|
tracing: Consolidate max_tr into main trace_array structure
|
2013-03-15 00:35:40 -04:00 |
|
trace_uprobe.c
|
uprobes/perf: Avoid uprobe_apply() whenever possible
|
2013-02-08 18:28:08 +01:00 |