perf arm-spe: Implement ->evsel_is_auxtrace() callback
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 1 Apr 2020 10:16:01 +0000 (13:16 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 16 Apr 2020 15:19:15 +0000 (12:19 -0300)
Implement ->evsel_is_auxtrace() callback.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kim Phillips <kim.phillips@arm.com>
Link: http://lore.kernel.org/lkml/20200401101613.6201-5-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/arm-spe.c

index 53be12b..875a0dd 100644 (file)
@@ -176,6 +176,14 @@ static void arm_spe_free(struct perf_session *session)
        free(spe);
 }
 
+static bool arm_spe_evsel_is_auxtrace(struct perf_session *session,
+                                     struct evsel *evsel)
+{
+       struct arm_spe *spe = container_of(session->auxtrace, struct arm_spe, auxtrace);
+
+       return evsel->core.attr.type == spe->pmu_type;
+}
+
 static const char * const arm_spe_info_fmts[] = {
        [ARM_SPE_PMU_TYPE]              = "  PMU Type           %"PRId64"\n",
 };
@@ -218,6 +226,7 @@ int arm_spe_process_auxtrace_info(union perf_event *event,
        spe->auxtrace.flush_events = arm_spe_flush;
        spe->auxtrace.free_events = arm_spe_free_events;
        spe->auxtrace.free = arm_spe_free;
+       spe->auxtrace.evsel_is_auxtrace = arm_spe_evsel_is_auxtrace;
        session->auxtrace = &spe->auxtrace;
 
        arm_spe_print_info(&auxtrace_info->priv[0]);