perf evsel: Add evsel__prepare_open()
authorRiccardo Mancini <rickyman7@gmail.com>
Sat, 21 Aug 2021 09:19:24 +0000 (11:19 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 31 Aug 2021 19:36:54 +0000 (16:36 -0300)
This function will prepare the evsel and disable the missing features.
It will be used in one of the following patches.

Signed-off-by: Riccardo Mancini <rickyman7@gmail.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/fa5e78bbb92c848226f044278fdcf777b3ce4583.1629490974.git.rickyman7@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c
tools/perf/util/evsel.h

index f0bc89f..45d778f 100644 (file)
@@ -1827,6 +1827,20 @@ static void evsel__disable_missing_features(struct evsel *evsel)
                evsel->core.attr.sample_id_all = 0;
 }
 
+int evsel__prepare_open(struct evsel *evsel, struct perf_cpu_map *cpus,
+                       struct perf_thread_map *threads)
+{
+       int err;
+
+       err = __evsel__prepare_open(evsel, cpus, threads);
+       if (err)
+               return err;
+
+       evsel__disable_missing_features(evsel);
+
+       return err;
+}
+
 static int evsel__open_cpu(struct evsel *evsel, struct perf_cpu_map *cpus,
                struct perf_thread_map *threads,
                int start_cpu, int end_cpu)
index 76efcfa..b173700 100644 (file)
@@ -287,6 +287,8 @@ int evsel__open_per_thread(struct evsel *evsel, struct perf_thread_map *threads)
 int evsel__open(struct evsel *evsel, struct perf_cpu_map *cpus,
                struct perf_thread_map *threads);
 void evsel__close(struct evsel *evsel);
+int evsel__prepare_open(struct evsel *evsel, struct perf_cpu_map *cpus,
+               struct perf_thread_map *threads);
 
 struct perf_sample;