Re: [PATCH] perf tools: Fix ftrace:function event recording

From: Jiri Olsa
Date: Thu Nov 13 2014 - 12:25:39 EST


On Thu, Nov 13, 2014 at 06:21:03PM +0100, Jiri Olsa wrote:
> 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.

forgot:

Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

thanks,
jirka

>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/evsel.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index ec5eb8033296..a3baaa31231e 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -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);
>
> --
> 1.9.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/