diff options
Diffstat (limited to 'tools/perf/util/evsel.h')
-rw-r--r-- | tools/perf/util/evsel.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h index 52021c3087df..bf758e53c929 100644 --- a/tools/perf/util/evsel.h +++ b/tools/perf/util/evsel.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #include "xyarray.h" | 9 | #include "xyarray.h" |
10 | #include "cgroup.h" | 10 | #include "cgroup.h" |
11 | #include "hist.h" | 11 | #include "hist.h" |
12 | #include "symbol.h" | ||
12 | 13 | ||
13 | struct perf_counts_values { | 14 | struct perf_counts_values { |
14 | union { | 15 | union { |
@@ -246,11 +247,34 @@ static inline struct perf_evsel *perf_evsel__next(struct perf_evsel *evsel) | |||
246 | return list_entry(evsel->node.next, struct perf_evsel, node); | 247 | return list_entry(evsel->node.next, struct perf_evsel, node); |
247 | } | 248 | } |
248 | 249 | ||
250 | /** | ||
251 | * perf_evsel__is_group_leader - Return whether given evsel is a leader event | ||
252 | * | ||
253 | * @evsel - evsel selector to be tested | ||
254 | * | ||
255 | * Return %true if @evsel is a group leader or a stand-alone event | ||
256 | */ | ||
249 | static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel) | 257 | static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel) |
250 | { | 258 | { |
251 | return evsel->leader == evsel; | 259 | return evsel->leader == evsel; |
252 | } | 260 | } |
253 | 261 | ||
262 | /** | ||
263 | * perf_evsel__is_group_event - Return whether given evsel is a group event | ||
264 | * | ||
265 | * @evsel - evsel selector to be tested | ||
266 | * | ||
267 | * Return %true iff event group view is enabled and @evsel is a actual group | ||
268 | * leader which has other members in the group | ||
269 | */ | ||
270 | static inline bool perf_evsel__is_group_event(struct perf_evsel *evsel) | ||
271 | { | ||
272 | if (!symbol_conf.event_group) | ||
273 | return false; | ||
274 | |||
275 | return perf_evsel__is_group_leader(evsel) && evsel->nr_members > 1; | ||
276 | } | ||
277 | |||
254 | struct perf_attr_details { | 278 | struct perf_attr_details { |
255 | bool freq; | 279 | bool freq; |
256 | bool verbose; | 280 | bool verbose; |