libperf: Add perf_evsel__cpus()/threads() functions
authorJiri Olsa <jolsa@kernel.org>
Sun, 21 Jul 2019 11:24:54 +0000 (13:24 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 29 Jul 2019 21:34:46 +0000 (18:34 -0300)
Add the following functions:

  perf_evsel__cpus()
  perf_evsel__threads()

to access the evsel's cpus and threads objects.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190721112506.12306-68-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/lib/evsel.c
tools/perf/lib/include/perf/evsel.h
tools/perf/lib/libperf.map
tools/perf/util/evsel.h

index c3f3722..8dbe0e8 100644 (file)
@@ -215,3 +215,13 @@ int perf_evsel__apply_filter(struct perf_evsel *evsel, const char *filter)
                                     PERF_EVENT_IOC_SET_FILTER,
                                     (void *)filter);
 }
+
+struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel)
+{
+       return evsel->cpus;
+}
+
+struct perf_thread_map *perf_evsel__threads(struct perf_evsel *evsel)
+{
+       return evsel->threads;
+}
index 0db18df..ae9f7ee 100644 (file)
@@ -32,5 +32,7 @@ LIBPERF_API int perf_evsel__read(struct perf_evsel *evsel, int cpu, int thread,
                                 struct perf_counts_values *count);
 LIBPERF_API int perf_evsel__enable(struct perf_evsel *evsel);
 LIBPERF_API int perf_evsel__disable(struct perf_evsel *evsel);
+LIBPERF_API struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel);
+LIBPERF_API struct perf_thread_map *perf_evsel__threads(struct perf_evsel *evsel);
 
 #endif /* __LIBPERF_EVSEL_H */
index d4d34be..9f43b5c 100644 (file)
@@ -21,6 +21,8 @@ LIBPERF_0.0.1 {
                perf_evsel__open;
                perf_evsel__close;
                perf_evsel__read;
+               perf_evsel__cpus;
+               perf_evsel__threads;
                perf_evlist__new;
                perf_evlist__delete;
                perf_evlist__init;
index 0989fb2..3cf35aa 100644 (file)
@@ -193,7 +193,7 @@ struct record_opts;
 
 static inline struct perf_cpu_map *evsel__cpus(struct evsel *evsel)
 {
-       return evsel->core.cpus;
+       return perf_evsel__cpus(&evsel->core);
 }
 
 static inline int perf_evsel__nr_cpus(struct evsel *evsel)