aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/evsel.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/evsel.h')
-rw-r--r--tools/perf/util/evsel.h24
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
13struct perf_counts_values { 14struct 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 */
249static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel) 257static 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 */
270static 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
254struct perf_attr_details { 278struct perf_attr_details {
255 bool freq; 279 bool freq;
256 bool verbose; 280 bool verbose;