perf evsel: Move and globalize perf_evsel__find_pmu() and perf_evsel__is_aux_event()
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 1 Apr 2020 10:16:09 +0000 (13:16 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 18 Apr 2020 12:04:32 +0000 (09:04 -0300)
Move and globalize 2 functions from the auxtrace specific sources so
that they can be reused.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lore.kernel.org/lkml/20200401101613.6201-13-adrian.hunter@intel.com
[ Move to pmu.c, as moving to evsel.h breaks the python binding ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/auxtrace.c
tools/perf/util/evsel.h
tools/perf/util/pmu.c

index 809a09e..33ad333 100644 (file)
 #include "symbol/kallsyms.h"
 #include <internal/lib.h>
 
-static struct perf_pmu *perf_evsel__find_pmu(struct evsel *evsel)
-{
-       struct perf_pmu *pmu = NULL;
-
-       while ((pmu = perf_pmu__scan(pmu)) != NULL) {
-               if (pmu->type == evsel->core.attr.type)
-                       break;
-       }
-
-       return pmu;
-}
-
-static bool perf_evsel__is_aux_event(struct evsel *evsel)
-{
-       struct perf_pmu *pmu = perf_evsel__find_pmu(evsel);
-
-       return pmu && pmu->auxtrace;
-}
-
 /*
  * Make a group from 'leader' to 'last', requiring that the events were not
  * already grouped to a different leader.
index e64ed42..a463bc6 100644 (file)
@@ -158,6 +158,9 @@ int perf_evsel__object_config(size_t object_size,
                              int (*init)(struct evsel *evsel),
                              void (*fini)(struct evsel *evsel));
 
+struct perf_pmu *perf_evsel__find_pmu(struct evsel *evsel);
+bool perf_evsel__is_aux_event(struct evsel *evsel);
+
 struct evsel *perf_evsel__new_idx(struct perf_event_attr *attr, int idx);
 
 static inline struct evsel *evsel__new(struct perf_event_attr *attr)
index ef6a63f..bc912a8 100644 (file)
@@ -18,6 +18,7 @@
 #include <regex.h>
 #include <perf/cpumap.h>
 #include "debug.h"
+#include "evsel.h"
 #include "pmu.h"
 #include "parse-events.h"
 #include "header.h"
@@ -884,6 +885,25 @@ struct perf_pmu *perf_pmu__scan(struct perf_pmu *pmu)
        return NULL;
 }
 
+struct perf_pmu *perf_evsel__find_pmu(struct evsel *evsel)
+{
+       struct perf_pmu *pmu = NULL;
+
+       while ((pmu = perf_pmu__scan(pmu)) != NULL) {
+               if (pmu->type == evsel->core.attr.type)
+                       break;
+       }
+
+       return pmu;
+}
+
+bool perf_evsel__is_aux_event(struct evsel *evsel)
+{
+       struct perf_pmu *pmu = perf_evsel__find_pmu(evsel);
+
+       return pmu && pmu->auxtrace;
+}
+
 struct perf_pmu *perf_pmu__find(const char *name)
 {
        struct perf_pmu *pmu;