perf tools: Fix ftrace:function event recording
Jiri Olsa
reviewerPATCH 1/1 perf tools: Fix ftrace:function event recording
Following patch fails (-EINVAL) ftrace:function with enabled user space callchains:
cfa77bc4af2c perf: Disallow user-space callchains for function trace events
We need to follow in perf tool itself and explicitly set the perf_event_attr::exclude_callchain_user flag for ftrace:function event.
--- tools/perf/util/evsel.c | 8 ++++++++ 1 file changed, 8 insertions(+)
tools/perf/util/evsel.c +8 -0
@@ -658,6 +658,14 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts) attr->mmap_data = track; } +/* +* We don't allow user space callchains for function trace +* event, due to issues with page faults while tracing page +* fault handler and its overall trickiness nature. +*/ +if (perf_evsel__is_function_event (evsel)) + evsel->attr.exclude_callchain_user =1 ; +if (callchain_param.enabled && !evsel->no_aux_samples)perf_evsel__config_callgraph (evsel);
Signature · 1 line
1.9.3
Quoted 7 lines · Jiri Olsa
Following patch fails (
-EINVAL) ftrace:function with enabled user space callchains:
cfa77bc4af2cperf: Disallow user-space callchains for function trace eventsWe need to follow in perf tool itself and explicitly set the
perf_event_attr::exclude_callchain_userflag for ftrace:function event.
forgot:
thanks,
jirka
Quoted 37 lines
Cc Arnaldo Carvalho de Melo <[email protected]>Cc Corey Ashford <[email protected]>Cc David Ahern <[email protected]>Cc Frederic Weisbecker <[email protected]>Cc Ingo Molnar <[email protected]>Cc Namhyung Kim <[email protected]>Cc Paul Mackerras <[email protected]>Cc Peter Zijlstra <[email protected]>Cc Steven Rostedt <[email protected]>Signed-off-by Jiri Olsa <[email protected]>--- tools/perf/util/evsel.c | 8 ++++++++ 1 file changed, 8 insertions(+)tools/perf/util/evsel.c +8
-0@@ -658,6 +658,14 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts) attr->mmap_data = track; } +/* +* We don't allow user space callchains for function trace +* event, due to issues with page faults while tracing page +* fault handler and its overall trickiness nature. +*/ +if (perf_evsel__is_function_event (evsel)) + evsel->attr.exclude_callchain_user =1 ; +if (callchain_param.enabled && !evsel->no_aux_samples)perf_evsel__config_callgraph (evsel);Signature · 1 line
1.9.3
tip-bot for Jiri Olsa
merge bot[tip:perf/core] perf evsel: Fix ftrace:function event recording
In reply to Jiri Olsaperf evsel: Fix ftrace:function event recording
Commit-ID: f140373bc904d9541e3f8e985d3810864e34c735 Gitweb: http://git.kernel.org/tip/f140373bc904d9541e3f8e985d3810864e34c735 Author: Jiri Olsa <[email protected]> AuthorDate: Thu, 13 Nov 2014 18:21:03 +0100 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 19 Nov 2014 12:33:48 -0300
perf evsel: Fix ftrace:function event recording
Following patch fails (-EINVAL) ftrace:function with enabled user space callchains:
cfa77bc4af2c perf: Disallow user-space callchains for function trace events
We need to follow in perf tool itself and explicitly set the perf_event_attr::exclude_callchain_user flag for ftrace:function event.
--- tools/perf/util/evsel.c | 8 ++++++++ 1 file changed, 8 insertions(+)
tools/perf/util/evsel.c +8 -0
@@ -658,6 +658,14 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts) attr->mmap_data = track; } +/* +* We don't allow user space callchains for function trace +* event, due to issues with page faults while tracing page +* fault handler and its overall trickiness nature. +*/ +if (perf_evsel__is_function_event (evsel)) + evsel->attr.exclude_callchain_user =1 ; +if (callchain_param.enabled && !evsel->no_aux_samples)perf_evsel__config_callgraph (evsel);