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....@linaro.org>
---
 tools/perf/builtin-c2c.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 98ae33eac6cc..c5babeaa3b38 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -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");
-- 
2.17.1

Reply via email to