perf c2c: Support AUX trace
authorLeo Yan <leo.yan@linaro.org>
Fri, 6 Nov 2020 09:48:52 +0000 (17:48 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 11 Nov 2020 15:27:06 +0000 (12:27 -0300)
This patch adds the AUX callbacks in session structure, so support AUX
trace for "perf c2c" tool; make itrace memory event as default for "perf
c2c", this tells the AUX trace decoder to synthesize samples and can be
used for statistics.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20201106094853.21082-9-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-c2c.c

index 98ae33e..c5babea 100644 (file)
@@ -369,6 +369,10 @@ static struct perf_c2c c2c = {
                .exit           = perf_event__process_exit,
                .fork           = perf_event__process_fork,
                .lost           = perf_event__process_lost,
+               .attr           = perf_event__process_attr,
+               .auxtrace_info  = perf_event__process_auxtrace_info,
+               .auxtrace       = perf_event__process_auxtrace,
+               .auxtrace_error = perf_event__process_auxtrace_error,
                .ordered_events = true,
                .ordering_requires_timestamps = true,
        },
@@ -2678,6 +2682,12 @@ static int setup_coalesce(const char *coalesce, bool no_source)
 
 static int perf_c2c__report(int argc, const char **argv)
 {
+       struct itrace_synth_opts itrace_synth_opts = {
+               .set = true,
+               .mem = true,    /* Only enable memory event */
+               .default_no_sample = true,
+       };
+
        struct perf_session *session;
        struct ui_progress prog;
        struct perf_data data = {
@@ -2757,6 +2767,8 @@ static int perf_c2c__report(int argc, const char **argv)
                goto out;
        }
 
+       session->itrace_synth_opts = &itrace_synth_opts;
+
        err = setup_nodes(session);
        if (err) {
                pr_err("Failed setup nodes\n");