aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/util/evlist.c9
-rw-r--r--tools/perf/util/evlist.h2
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
302void perf_evlist__enable(struct perf_evlist *evlist) 304void 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
325void perf_evlist__toggle_enable(struct perf_evlist *evlist)
326{
327 (evlist->enabled ? perf_evlist__disable : perf_evlist__enable)(evlist);
319} 328}
320 329
321int perf_evlist__disable_event(struct perf_evlist *evlist, 330int 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
140void perf_evlist__disable(struct perf_evlist *evlist); 141void perf_evlist__disable(struct perf_evlist *evlist);
141void perf_evlist__enable(struct perf_evlist *evlist); 142void perf_evlist__enable(struct perf_evlist *evlist);
143void perf_evlist__toggle_enable(struct perf_evlist *evlist);
142 144
143int perf_evlist__disable_event(struct perf_evlist *evlist, 145int perf_evlist__disable_event(struct perf_evlist *evlist,
144 struct perf_evsel *evsel); 146 struct perf_evsel *evsel);