diff options
Diffstat (limited to 'tools/perf/util/evsel.h')
-rw-r--r-- | tools/perf/util/evsel.h | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h index 4a7bdc713bab..1ea7c92e6e33 100644 --- a/tools/perf/util/evsel.h +++ b/tools/perf/util/evsel.h | |||
@@ -74,10 +74,7 @@ struct perf_evsel { | |||
74 | off_t id_offset; | 74 | off_t id_offset; |
75 | }; | 75 | }; |
76 | struct cgroup_sel *cgrp; | 76 | struct cgroup_sel *cgrp; |
77 | struct { | 77 | void *handler; |
78 | void *func; | ||
79 | void *data; | ||
80 | } handler; | ||
81 | struct cpu_map *cpus; | 78 | struct cpu_map *cpus; |
82 | unsigned int sample_size; | 79 | unsigned int sample_size; |
83 | int id_pos; | 80 | int id_pos; |
@@ -99,8 +96,19 @@ struct thread_map; | |||
99 | struct perf_evlist; | 96 | struct perf_evlist; |
100 | struct perf_record_opts; | 97 | struct perf_record_opts; |
101 | 98 | ||
102 | struct perf_evsel *perf_evsel__new(struct perf_event_attr *attr, int idx); | 99 | struct perf_evsel *perf_evsel__new_idx(struct perf_event_attr *attr, int idx); |
103 | struct perf_evsel *perf_evsel__newtp(const char *sys, const char *name, int idx); | 100 | |
101 | static inline struct perf_evsel *perf_evsel__new(struct perf_event_attr *attr) | ||
102 | { | ||
103 | return perf_evsel__new_idx(attr, 0); | ||
104 | } | ||
105 | |||
106 | struct perf_evsel *perf_evsel__newtp_idx(const char *sys, const char *name, int idx); | ||
107 | |||
108 | static inline struct perf_evsel *perf_evsel__newtp(const char *sys, const char *name) | ||
109 | { | ||
110 | return perf_evsel__newtp_idx(sys, name, 0); | ||
111 | } | ||
104 | 112 | ||
105 | struct event_format *event_format__new(const char *sys, const char *name); | 113 | struct event_format *event_format__new(const char *sys, const char *name); |
106 | 114 | ||
@@ -197,6 +205,12 @@ static inline bool perf_evsel__match2(struct perf_evsel *e1, | |||
197 | (e1->attr.config == e2->attr.config); | 205 | (e1->attr.config == e2->attr.config); |
198 | } | 206 | } |
199 | 207 | ||
208 | #define perf_evsel__cmp(a, b) \ | ||
209 | ((a) && \ | ||
210 | (b) && \ | ||
211 | (a)->attr.type == (b)->attr.type && \ | ||
212 | (a)->attr.config == (b)->attr.config) | ||
213 | |||
200 | int __perf_evsel__read_on_cpu(struct perf_evsel *evsel, | 214 | int __perf_evsel__read_on_cpu(struct perf_evsel *evsel, |
201 | int cpu, int thread, bool scale); | 215 | int cpu, int thread, bool scale); |
202 | 216 | ||
@@ -265,6 +279,11 @@ static inline struct perf_evsel *perf_evsel__next(struct perf_evsel *evsel) | |||
265 | return list_entry(evsel->node.next, struct perf_evsel, node); | 279 | return list_entry(evsel->node.next, struct perf_evsel, node); |
266 | } | 280 | } |
267 | 281 | ||
282 | static inline struct perf_evsel *perf_evsel__prev(struct perf_evsel *evsel) | ||
283 | { | ||
284 | return list_entry(evsel->node.prev, struct perf_evsel, node); | ||
285 | } | ||
286 | |||
268 | /** | 287 | /** |
269 | * perf_evsel__is_group_leader - Return whether given evsel is a leader event | 288 | * perf_evsel__is_group_leader - Return whether given evsel is a leader event |
270 | * | 289 | * |
@@ -304,8 +323,7 @@ int perf_evsel__fprintf(struct perf_evsel *evsel, | |||
304 | 323 | ||
305 | bool perf_evsel__fallback(struct perf_evsel *evsel, int err, | 324 | bool perf_evsel__fallback(struct perf_evsel *evsel, int err, |
306 | char *msg, size_t msgsize); | 325 | char *msg, size_t msgsize); |
307 | int perf_evsel__open_strerror(struct perf_evsel *evsel, | 326 | int perf_evsel__open_strerror(struct perf_evsel *evsel, struct target *target, |
308 | struct perf_target *target, | ||
309 | int err, char *msg, size_t size); | 327 | int err, char *msg, size_t size); |
310 | 328 | ||
311 | static inline int perf_evsel__group_idx(struct perf_evsel *evsel) | 329 | static inline int perf_evsel__group_idx(struct perf_evsel *evsel) |