Messages in this thread Patch in this message | | | From | Jiri Olsa <> | Subject | [PATCH 1/5] ftrace perf: Check sample types only for sampling events | Date | Wed, 16 Mar 2016 15:34:29 +0100 |
| |
Currently we check sample type for ftrace:function event even if it's not created as sampling event. That prevents creating ftrace_function event in counting mode.
Making sure we check sample types only for sampling events.
Before: $ sudo perf stat -e ftrace:function ls ...
Performance counter stats for 'ls':
<not supported> ftrace:function
0.001983662 seconds time elapsed
After: $ sudo perf stat -e ftrace:function ls ...
Performance counter stats for 'ls':
44,498 ftrace:function
0.037534722 seconds time elapsed
Suggested-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- kernel/trace/trace_event_perf.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c index 00df25fd86ef..e11108f1d197 100644 --- a/kernel/trace/trace_event_perf.c +++ b/kernel/trace/trace_event_perf.c @@ -47,6 +47,9 @@ static int perf_trace_event_perm(struct trace_event_call *tp_event, if (perf_paranoid_tracepoint_raw() && !capable(CAP_SYS_ADMIN)) return -EPERM; + if (!is_sampling_event(p_event)) + return 0; + /* * We don't allow user space callchains for function trace * event, due to issues with page faults while tracing page -- 2.4.3
| |