perf evlist: Factor perf_evlist__(enable|disable) functions
authorJiri Olsa <jolsa@kernel.org>
Thu, 3 Dec 2015 09:06:42 +0000 (10:06 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 7 Dec 2015 21:12:58 +0000 (18:12 -0300)
Use perf_evsel__(enable|disable) functions in perf_evlist__(enable|disable)
functions in order to centralize ioctl enable/disable calls. This way we
eliminate 2 places calling directly ioctl.

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-4-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c

index d1392194a9a951bd3e1dd5c9b72fd383ede98439..d1b6c206bb93ab2b58c81b9c92c39de10c3c4a09 100644 (file)
@@ -336,20 +336,12 @@ static int perf_evlist__nr_threads(struct perf_evlist *evlist,
 
 void perf_evlist__disable(struct perf_evlist *evlist)
 {
-       int cpu, thread;
        struct perf_evsel *pos;
-       int nr_cpus = cpu_map__nr(evlist->cpus);
-       int nr_threads;
 
-       for (cpu = 0; cpu < nr_cpus; cpu++) {
-               evlist__for_each(evlist, pos) {
-                       if (!perf_evsel__is_group_leader(pos) || !pos->fd)
-                               continue;
-                       nr_threads = perf_evlist__nr_threads(evlist, pos);
-                       for (thread = 0; thread < nr_threads; thread++)
-                               ioctl(FD(pos, cpu, thread),
-                                     PERF_EVENT_IOC_DISABLE, 0);
-               }
+       evlist__for_each(evlist, pos) {
+               if (!perf_evsel__is_group_leader(pos) || !pos->fd)
+                       continue;
+               perf_evsel__disable(pos);
        }
 
        evlist->enabled = false;
@@ -357,20 +349,12 @@ void perf_evlist__disable(struct perf_evlist *evlist)
 
 void perf_evlist__enable(struct perf_evlist *evlist)
 {
-       int cpu, thread;
        struct perf_evsel *pos;
-       int nr_cpus = cpu_map__nr(evlist->cpus);
-       int nr_threads;
 
-       for (cpu = 0; cpu < nr_cpus; cpu++) {
-               evlist__for_each(evlist, pos) {
-                       if (!perf_evsel__is_group_leader(pos) || !pos->fd)
-                               continue;
-                       nr_threads = perf_evlist__nr_threads(evlist, pos);
-                       for (thread = 0; thread < nr_threads; thread++)
-                               ioctl(FD(pos, cpu, thread),
-                                     PERF_EVENT_IOC_ENABLE, 0);
-               }
+       evlist__for_each(evlist, pos) {
+               if (!perf_evsel__is_group_leader(pos) || !pos->fd)
+                       continue;
+               perf_evsel__enable(pos);
        }
 
        evlist->enabled = true;
This page took 0.027123 seconds and 5 git commands to generate.