perf evsel: Use event maps directly in perf_evsel__enable
authorJiri Olsa <jolsa@kernel.org>
Thu, 3 Dec 2015 09:06:40 +0000 (10:06 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 7 Dec 2015 21:12:57 +0000 (18:12 -0300)
All events now share proper cpu and thread maps. There's no need to pass
those maps from evlist, it's safe to use evsel maps for enabling event.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1449133606-14429-2-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c
tools/perf/util/evsel.c
tools/perf/util/evsel.h

index df2fbf0..813c52a 100644 (file)
@@ -256,12 +256,9 @@ static void handle_initial_delay(void)
        struct perf_evsel *counter;
 
        if (initial_delay) {
-               const int ncpus = cpu_map__nr(evsel_list->cpus),
-                       nthreads = thread_map__nr(evsel_list->threads);
-
                usleep(initial_delay * 1000);
                evlist__for_each(evsel_list, counter)
-                       perf_evsel__enable(counter, ncpus, nthreads);
+                       perf_evsel__enable(counter);
        }
 }
 
index 0a1f4d9..3a9b506 100644 (file)
@@ -981,8 +981,11 @@ int perf_evsel__append_filter(struct perf_evsel *evsel,
        return -1;
 }
 
-int perf_evsel__enable(struct perf_evsel *evsel, int ncpus, int nthreads)
+int perf_evsel__enable(struct perf_evsel *evsel)
 {
+       int nthreads = thread_map__nr(evsel->threads);
+       int ncpus = cpu_map__nr(evsel->cpus);
+
        return perf_evsel__run_ioctl(evsel, ncpus, nthreads,
                                     PERF_EVENT_IOC_ENABLE,
                                     0);
index 0e49bd7..a721592 100644 (file)
@@ -227,7 +227,7 @@ int perf_evsel__append_filter(struct perf_evsel *evsel,
                              const char *op, const char *filter);
 int perf_evsel__apply_filter(struct perf_evsel *evsel, int ncpus, int nthreads,
                             const char *filter);
-int perf_evsel__enable(struct perf_evsel *evsel, int ncpus, int nthreads);
+int perf_evsel__enable(struct perf_evsel *evsel);
 
 int perf_evsel__open_per_cpu(struct perf_evsel *evsel,
                             struct cpu_map *cpus);