Steven Rostedt (Red Hat)
e1df4cb682
ftrace: Fix function probe to only enable needed functions
...
Currently the function probe enables all functions and runs a "hash"
against every function call to see if it should call a probe. This
is extremely wasteful.
Note, a probe is something like:
echo schedule:traceoff > /debug/tracing/set_ftrace_filter
When schedule is called, the probe will disable tracing. But currently,
it has a call back for *all* functions, and checks to see if the
called function is the probe that is needed.
The probe function has been created before ftrace was rewritten to
allow for more than one "op" to be registered by the function tracer.
When probes were created, it couldn't limit the functions without also
limiting normal function calls. But now we can, it's about time
to update the probe code.
Todo, have separate ops for different entries. That is, assign
a ftrace_ops per probe, instead of one op for all probes. But
as there's not many probes assigned, this may not be that urgent.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2013-03-15 00:36:00 -04:00
..
blktrace.c
tracing: Consolidate max_tr into main trace_array structure
2013-03-15 00:35:40 -04:00
ftrace.c
ftrace: Fix function probe to only enable needed functions
2013-03-15 00:36:00 -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
trace.c
tracing: Let tracing_snapshot() be used by modules but not NMI
2013-03-15 00:35:57 -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
trace_events.c
tracing: Add alloc_snapshot kernel command line parameter
2013-03-15 00:35:53 -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
trace_export.c
tracing: Fix some section mismatch warnings
2013-03-15 00:34:54 -04:00
trace_functions.c
ftrace: Separate unlimited probes from count limited probes
2013-03-15 00:35:59 -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
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