linux-stable/kernel/trace
zhangwei(Jovi) 70ed91c6ec tracing/uprobes: Support ftrace_event_file base multibuffer
Support multi-buffer on uprobe-based dynamic events by
using ftrace_event_file.

This patch is based kprobe-based dynamic events multibuffer
support work initially, commited by Masami(commit 41a7dd420c),
but revised as below:

Oleg changed the kprobe-based multibuffer design from
array-pointers of ftrace_event_file into simple list,
so this patch also change to the list design.

rcu_read_lock/unlock added into uprobe_trace_func/uretprobe_trace_func,
to synchronize with ftrace_event_file list add and delete.

Even though we allow multi-uprobes instances now,
but TP_FLAG_PROFILE/TP_FLAG_TRACE are still mutually exclusive
in probe_event_enable currently, this means we cannot allow
one user is using uprobe-tracer, and another user is using
perf-probe on same uprobe concurrently.
(Perhaps this will be fix in future, kprobe don't have this
limitation now)

Link: http://lkml.kernel.org/r/1389946120-19610-4-git-send-email-namhyung@kernel.org

Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-02-20 12:30:09 -05:00
..
blktrace.c tracing: Pass trace_array to set_flag callback 2014-02-20 12:13:07 -05:00
ftrace.c ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00
Kconfig ring-buffer: Select IRQ_WORK 2013-05-03 19:24:17 -04:00
Makefile tracing: Add basic event trigger framework 2013-12-20 18:40:22 -05:00
power-traces.c
ring_buffer.c ring-buffer: Fix first commit on sub-buffer having non-zero delta 2014-02-11 13:38:54 -05:00
ring_buffer_benchmark.c
rpm-traces.c
trace.c ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00
trace.h ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00
trace_branch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_clock.c tracing: Add "uptime" trace clock that uses jiffies 2013-03-15 00:36:09 -04: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/trace: Properly use u64 to hold event_id 2013-11-19 16:57:44 +01:00
trace_events.c tracing: Move ftrace_event_file() out of DYNAMIC_FTRACE ifdef 2013-12-21 22:02:17 -05:00
trace_events_filter.c tracing: Add and use generic set_trigger_filter() implementation 2013-12-21 22:02:17 -05:00
trace_events_filter_test.h
trace_events_trigger.c tracing: Show available event triggers when no trigger is set 2014-01-09 21:20:32 -05:00
trace_export.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_functions.c ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00
trace_functions_graph.c tracing: Pass trace_array to set_flag callback 2014-02-20 12:13:07 -05:00
trace_irqsoff.c tracing: Pass trace_array to flag_changed callback 2014-02-20 12:13:08 -05: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/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00
trace_mmiotrace.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_nop.c tracing: Set up infrastructure to allow tracers for instances 2014-02-20 12:13:10 -05:00
trace_output.c ftrace, sched: Add TRACE_FLAG_PREEMPT_RESCHED 2013-11-11 12:43:39 +01:00
trace_output.h tracing: Rename trace_event_mutex to trace_event_sem 2013-03-15 13:22:10 -04:00
trace_printk.c tracing: Add __tracepoint_string() to export string pointers 2013-07-26 13:39:44 -04:00
trace_probe.c tracing/uprobes: Add @+file_offset fetch method 2014-01-02 20:57:05 -05:00
trace_probe.h tracing/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00
trace_sched_switch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_sched_wakeup.c tracing: Pass trace_array to flag_changed callback 2014-02-20 12:13:08 -05:00
trace_selftest.c sched/deadline: Add latency tracing for SCHED_DEADLINE tasks 2014-01-13 13:41:11 +01:00
trace_selftest_dynamic.c
trace_stack.c tracing: Add generic tracing_lseek() function 2014-01-02 16:17:12 -05:00
trace_stat.c trace/trace_stat: use rbtree postorder iteration helper instead of opencoding 2013-11-05 16:01:47 -05:00
trace_stat.h
trace_syscalls.c tracing: Consolidate event trigger code 2014-01-09 21:20:07 -05:00
trace_uprobe.c tracing/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00