Oleg Nesterov
736288ba50
uprobes/perf: Teach trace_uprobe/perf code to track the active perf_event's
...
Introduce "struct trace_uprobe_filter" which records the "active"
perf_event's attached to ftrace_event_call. For the start we simply
use list_head, we can optimize this later if needed. For example, we
do not really need to record an event with ->parent != NULL, we can
rely on parent->child_list. And we can certainly do some optimizations
for the case when 2 events have the same ->tp_target or tp_target->mm.
Change trace_uprobe_register() to process TRACE_REG_PERF_OPEN/CLOSE
and add/del this perf_event to the list.
We can probably avoid any locking, but lets start with the "obvioulsy
correct" trace_uprobe_filter->rwlock which protects everything.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
2013-02-08 18:28:06 +01:00
..
blktrace.c
tracing: Use this_cpu_ptr per-cpu helper
2013-01-21 13:22:30 -05:00
ftrace.c
tracing: Avoid unnecessary multiple recursion checks
2013-01-22 23:38:01 -05:00
Kconfig
tracing: Make a snapshot feature available from userspace
2013-01-30 11:02:06 -05: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: Add stats field for amount read from trace ring buffer
2013-01-30 11:01:53 -05:00
ring_buffer_benchmark.c
rpm-traces.c
trace.c
tracing: Init current_trace to nop_trace and remove NULL checks
2013-02-01 18:38:47 -05:00
trace.h
tracing: Make a snapshot feature available from userspace
2013-01-30 11:02:06 -05:00
trace_branch.c
tracing: Cache comms only after an event occurred
2012-10-31 16:45:31 -04:00
trace_clock.c
tracing: Use sched_clock_cpu for trace_clock_global
2013-01-30 11:02:05 -05:00
trace_entries.h
Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
2012-03-24 08:19:09 +01:00
trace_event_perf.c
perf/core improvements and fixes:
2012-08-21 11:27:00 +02:00
trace_events.c
tracing: Remove the extra 4 bytes of padding in events
2013-01-21 21:05:41 -05:00
trace_events_filter.c
tracing: Replace strict_strto* with kstrto*
2012-10-31 16:45:23 -04:00
trace_events_filter_test.h
trace_export.c
tracing: Do not enable function event with enable
2012-05-10 15:55:43 -04:00
trace_functions.c
tracing: Fix unsigned int compare of zero in recursion check
2013-01-24 07:52:34 -05:00
trace_functions_graph.c
tracing/fgraph: Adjust fgraph depth before calling trace return callback
2013-01-29 17:30:31 -05:00
trace_irqsoff.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-12-13 12:00:02 -08:00
trace_kdb.c
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
trace_nop.c
trace_output.c
tracing: Format non-nanosec times from tsc clock without a decimal point.
2012-11-13 15:48:40 -05:00
trace_output.h
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: Use irq_work for wake ups and remove *_nowake_*() functions
2012-11-02 10:21:52 -04:00
trace_sched_wakeup.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-12-13 12:00:02 -08:00
trace_selftest.c
ftrace: Fix function tracing recursion self test
2013-01-22 23:37:58 -05: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/syscalls: Make local functions static
2013-01-21 13:22:31 -05:00
trace_uprobe.c
uprobes/perf: Teach trace_uprobe/perf code to track the active perf_event's
2013-02-08 18:28:06 +01:00