diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2010-05-18 12:08:32 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-05-18 12:35:46 -0400 |
commit | 4f41c013f553957765902fb01475972f0af3e8e7 (patch) | |
tree | ddaa54947cc990094a4b270f2f8b3d6da195044f /kernel/trace/trace_kprobe.c | |
parent | ef4f30f54e265c2f6f9ac9eda4db158a4e16050b (diff) |
perf/ftrace: Optimize perf/tracepoint interaction for single events
When we've got but a single event per tracepoint
there is no reason to try and multiplex it so don't.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_kprobe.c')
-rw-r--r-- | kernel/trace/trace_kprobe.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index a7514326052b..2d7bf4146be8 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c | |||
@@ -1362,7 +1362,7 @@ static __kprobes void kprobe_perf_func(struct kprobe *kp, | |||
1362 | for (i = 0; i < tp->nr_args; i++) | 1362 | for (i = 0; i < tp->nr_args; i++) |
1363 | call_fetch(&tp->args[i].fetch, regs, data + tp->args[i].offset); | 1363 | call_fetch(&tp->args[i].fetch, regs, data + tp->args[i].offset); |
1364 | 1364 | ||
1365 | perf_trace_buf_submit(entry, size, rctx, entry->ip, 1, irq_flags, regs); | 1365 | perf_trace_buf_submit(entry, size, rctx, entry->ip, 1, irq_flags, regs, call->perf_data); |
1366 | } | 1366 | } |
1367 | 1367 | ||
1368 | /* Kretprobe profile handler */ | 1368 | /* Kretprobe profile handler */ |
@@ -1395,7 +1395,7 @@ static __kprobes void kretprobe_perf_func(struct kretprobe_instance *ri, | |||
1395 | call_fetch(&tp->args[i].fetch, regs, data + tp->args[i].offset); | 1395 | call_fetch(&tp->args[i].fetch, regs, data + tp->args[i].offset); |
1396 | 1396 | ||
1397 | perf_trace_buf_submit(entry, size, rctx, entry->ret_ip, 1, | 1397 | perf_trace_buf_submit(entry, size, rctx, entry->ret_ip, 1, |
1398 | irq_flags, regs); | 1398 | irq_flags, regs, call->perf_data); |
1399 | } | 1399 | } |
1400 | 1400 | ||
1401 | static int probe_perf_enable(struct ftrace_event_call *call) | 1401 | static int probe_perf_enable(struct ftrace_event_call *call) |