diff options
author | Jiri Olsa <jolsa@redhat.com> | 2012-11-12 12:34:03 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-11-14 14:52:15 -0500 |
commit | 3fe4430dd66837d8fcdb63c167e908655fc842e3 (patch) | |
tree | ed2c30417f02a07326410692f8cbbd8b7c069b25 | |
parent | 2711926a416733b853977a0e014c713955ad0d8a (diff) |
perf tools: Omit group members from perf_evlist__disable/enable
There's no need to disable/enable ordinary group member events,
because they are initialy enabled and get scheduled by the leader.
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1352741644-16809-5-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/util/evlist.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 04acae0ce697..e9d2d5da2fb8 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -222,6 +222,8 @@ void perf_evlist__disable(struct perf_evlist *evlist) | |||
222 | 222 | ||
223 | for (cpu = 0; cpu < evlist->cpus->nr; cpu++) { | 223 | for (cpu = 0; cpu < evlist->cpus->nr; cpu++) { |
224 | list_for_each_entry(pos, &evlist->entries, node) { | 224 | list_for_each_entry(pos, &evlist->entries, node) { |
225 | if (pos->leader) | ||
226 | continue; | ||
225 | for (thread = 0; thread < evlist->threads->nr; thread++) | 227 | for (thread = 0; thread < evlist->threads->nr; thread++) |
226 | ioctl(FD(pos, cpu, thread), | 228 | ioctl(FD(pos, cpu, thread), |
227 | PERF_EVENT_IOC_DISABLE, 0); | 229 | PERF_EVENT_IOC_DISABLE, 0); |
@@ -236,6 +238,8 @@ void perf_evlist__enable(struct perf_evlist *evlist) | |||
236 | 238 | ||
237 | for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) { | 239 | for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) { |
238 | list_for_each_entry(pos, &evlist->entries, node) { | 240 | list_for_each_entry(pos, &evlist->entries, node) { |
241 | if (pos->leader) | ||
242 | continue; | ||
239 | for (thread = 0; thread < evlist->threads->nr; thread++) | 243 | for (thread = 0; thread < evlist->threads->nr; thread++) |
240 | ioctl(FD(pos, cpu, thread), | 244 | ioctl(FD(pos, cpu, thread), |
241 | PERF_EVENT_IOC_ENABLE, 0); | 245 | PERF_EVENT_IOC_ENABLE, 0); |