diff options
-rw-r--r-- | tools/perf/util/evlist.c | 9 | ||||
-rw-r--r-- | tools/perf/util/evlist.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 6b58a47a79ec..8366511b45f8 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -297,6 +297,8 @@ void perf_evlist__disable(struct perf_evlist *evlist) | |||
297 | PERF_EVENT_IOC_DISABLE, 0); | 297 | PERF_EVENT_IOC_DISABLE, 0); |
298 | } | 298 | } |
299 | } | 299 | } |
300 | |||
301 | evlist->enabled = false; | ||
300 | } | 302 | } |
301 | 303 | ||
302 | void perf_evlist__enable(struct perf_evlist *evlist) | 304 | void perf_evlist__enable(struct perf_evlist *evlist) |
@@ -316,6 +318,13 @@ void perf_evlist__enable(struct perf_evlist *evlist) | |||
316 | PERF_EVENT_IOC_ENABLE, 0); | 318 | PERF_EVENT_IOC_ENABLE, 0); |
317 | } | 319 | } |
318 | } | 320 | } |
321 | |||
322 | evlist->enabled = true; | ||
323 | } | ||
324 | |||
325 | void perf_evlist__toggle_enable(struct perf_evlist *evlist) | ||
326 | { | ||
327 | (evlist->enabled ? perf_evlist__disable : perf_evlist__enable)(evlist); | ||
319 | } | 328 | } |
320 | 329 | ||
321 | int perf_evlist__disable_event(struct perf_evlist *evlist, | 330 | int perf_evlist__disable_event(struct perf_evlist *evlist, |
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h index 955bf31b7dd3..a8489b9d2812 100644 --- a/tools/perf/util/evlist.h +++ b/tools/perf/util/evlist.h | |||
@@ -41,6 +41,7 @@ struct perf_evlist { | |||
41 | int nr_groups; | 41 | int nr_groups; |
42 | int nr_mmaps; | 42 | int nr_mmaps; |
43 | bool overwrite; | 43 | bool overwrite; |
44 | bool enabled; | ||
44 | size_t mmap_len; | 45 | size_t mmap_len; |
45 | int id_pos; | 46 | int id_pos; |
46 | int is_pos; | 47 | int is_pos; |
@@ -139,6 +140,7 @@ void perf_evlist__munmap(struct perf_evlist *evlist); | |||
139 | 140 | ||
140 | void perf_evlist__disable(struct perf_evlist *evlist); | 141 | void perf_evlist__disable(struct perf_evlist *evlist); |
141 | void perf_evlist__enable(struct perf_evlist *evlist); | 142 | void perf_evlist__enable(struct perf_evlist *evlist); |
143 | void perf_evlist__toggle_enable(struct perf_evlist *evlist); | ||
142 | 144 | ||
143 | int perf_evlist__disable_event(struct perf_evlist *evlist, | 145 | int perf_evlist__disable_event(struct perf_evlist *evlist, |
144 | struct perf_evsel *evsel); | 146 | struct perf_evsel *evsel); |