Lines Matching refs:evsel
119 struct evsel *first = evlist__first(evlist); in evlist__set_id_pos()
127 struct evsel *evsel; in evlist__update_id_pos() local
129 evlist__for_each_entry(evlist, evsel) in evlist__update_id_pos()
130 evsel__calc_id_pos(evsel); in evlist__update_id_pos()
137 struct evsel *pos, *n; in evlist__purge()
167 void evlist__add(struct evlist *evlist, struct evsel *entry) in evlist__add()
177 void evlist__remove(struct evlist *evlist, struct evsel *evsel) in evlist__remove() argument
179 evsel->evlist = NULL; in evlist__remove()
180 perf_evlist__remove(&evlist->core, &evsel->core); in evlist__remove()
186 struct evsel *evsel, *temp, *leader = NULL; in evlist__splice_list_tail() local
188 __evlist__for_each_entry_safe(list, temp, evsel) { in evlist__splice_list_tail()
189 list_del_init(&evsel->core.node); in evlist__splice_list_tail()
190 evlist__add(evlist, evsel); in evlist__splice_list_tail()
191 leader = evsel; in evlist__splice_list_tail()
195 __evlist__for_each_entry_safe(list, temp, evsel) { in evlist__splice_list_tail()
196 if (evsel__has_leader(evsel, leader)) { in evlist__splice_list_tail()
197 list_del_init(&evsel->core.node); in evlist__splice_list_tail()
198 evlist__add(evlist, evsel); in evlist__splice_list_tail()
212 struct evsel *evsel = evlist__find_tracepoint_by_name(evlist, assocs[i].name); in __evlist__set_tracepoints_handlers() local
213 if (evsel == NULL) in __evlist__set_tracepoints_handlers()
217 if (evsel->handler != NULL) in __evlist__set_tracepoints_handlers()
219 evsel->handler = assocs[i].handler; in __evlist__set_tracepoints_handlers()
234 struct evsel *evsel; in __evlist__add_default() local
236 evsel = evsel__new_cycles(precise, PERF_TYPE_HARDWARE, in __evlist__add_default()
238 if (evsel == NULL) in __evlist__add_default()
241 evlist__add(evlist, evsel); in __evlist__add_default()
252 struct evsel *evsel = evsel__new_idx(&attr, evlist->core.nr_entries); in evlist__add_dummy() local
254 if (evsel == NULL) in evlist__add_dummy()
257 evlist__add(evlist, evsel); in evlist__add_dummy()
263 struct evsel *evsel, *n; in evlist__add_attrs() local
268 evsel = evsel__new_idx(attrs + i, evlist->core.nr_entries + i); in evlist__add_attrs()
269 if (evsel == NULL) in evlist__add_attrs()
271 list_add_tail(&evsel->core.node, &head); in evlist__add_attrs()
279 __evlist__for_each_entry_safe(&head, n, evsel) in evlist__add_attrs()
280 evsel__delete(evsel); in evlist__add_attrs()
299 struct evsel *evlist__find_tracepoint_by_id(struct evlist *evlist, int id) in evlist__find_tracepoint_by_id()
301 struct evsel *evsel; in evlist__find_tracepoint_by_id() local
303 evlist__for_each_entry(evlist, evsel) { in evlist__find_tracepoint_by_id()
304 if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT && in evlist__find_tracepoint_by_id()
305 (int)evsel->core.attr.config == id) in evlist__find_tracepoint_by_id()
306 return evsel; in evlist__find_tracepoint_by_id()
312 struct evsel *evlist__find_tracepoint_by_name(struct evlist *evlist, const char *name) in evlist__find_tracepoint_by_name()
314 struct evsel *evsel; in evlist__find_tracepoint_by_name() local
316 evlist__for_each_entry(evlist, evsel) { in evlist__find_tracepoint_by_name()
317 if ((evsel->core.attr.type == PERF_TYPE_TRACEPOINT) && in evlist__find_tracepoint_by_name()
318 (strcmp(evsel->name, name) == 0)) in evlist__find_tracepoint_by_name()
319 return evsel; in evlist__find_tracepoint_by_name()
327 struct evsel *evsel = evsel__newtp(sys, name); in evlist__add_newtp() local
329 if (IS_ERR(evsel)) in evlist__add_newtp()
332 evsel->handler = handler; in evlist__add_newtp()
333 evlist__add(evlist, evsel); in evlist__add_newtp()
337 static int evlist__nr_threads(struct evlist *evlist, struct evsel *evsel) in evlist__nr_threads() argument
339 if (evsel->core.system_wide) in evlist__nr_threads()
347 struct evsel *pos; in evlist__cpu_iter_start()
359 bool evsel__cpu_iter_skip_no_inc(struct evsel *ev, int cpu) in evsel__cpu_iter_skip_no_inc()
368 bool evsel__cpu_iter_skip(struct evsel *ev, int cpu) in evsel__cpu_iter_skip()
377 static int evsel__strcmp(struct evsel *pos, char *evsel_name) in evsel__strcmp()
388 struct evsel *pos; in evlist__is_enabled()
402 struct evsel *pos; in __evlist__disable()
464 struct evsel *pos; in __evlist__enable()
516 static int evlist__enable_event_cpu(struct evlist *evlist, struct evsel *evsel, int cpu) in evlist__enable_event_cpu() argument
519 int nr_threads = evlist__nr_threads(evlist, evsel); in evlist__enable_event_cpu()
521 if (!evsel->core.fd) in evlist__enable_event_cpu()
525 int err = ioctl(FD(evsel, cpu, thread), PERF_EVENT_IOC_ENABLE, 0); in evlist__enable_event_cpu()
532 static int evlist__enable_event_thread(struct evlist *evlist, struct evsel *evsel, int thread) in evlist__enable_event_thread() argument
537 if (!evsel->core.fd) in evlist__enable_event_thread()
541 int err = ioctl(FD(evsel, cpu, thread), PERF_EVENT_IOC_ENABLE, 0); in evlist__enable_event_thread()
548 int evlist__enable_event_idx(struct evlist *evlist, struct evsel *evsel, int idx) in evlist__enable_event_idx() argument
553 return evlist__enable_event_cpu(evlist, evsel, idx); in evlist__enable_event_idx()
555 return evlist__enable_event_thread(evlist, evsel, idx); in evlist__enable_event_idx()
597 struct evsel *evlist__id2evsel(struct evlist *evlist, u64 id) in evlist__id2evsel()
606 return container_of(sid->evsel, struct evsel, core); in evlist__id2evsel()
614 struct evsel *evlist__id2evsel_strict(struct evlist *evlist, u64 id) in evlist__id2evsel_strict()
623 return container_of(sid->evsel, struct evsel, core); in evlist__id2evsel_strict()
648 struct evsel *evlist__event2evsel(struct evlist *evlist, union perf_event *event) in evlist__event2evsel()
650 struct evsel *first = evlist__first(evlist); in evlist__event2evsel()
675 return container_of(sid->evsel, struct evsel, core); in evlist__event2evsel()
1021 int evlist__apply_filters(struct evlist *evlist, struct evsel **err_evsel) in evlist__apply_filters()
1023 struct evsel *evsel; in evlist__apply_filters() local
1026 evlist__for_each_entry(evlist, evsel) { in evlist__apply_filters()
1027 if (evsel->filter == NULL) in evlist__apply_filters()
1034 err = perf_evsel__apply_filter(&evsel->core, evsel->filter); in evlist__apply_filters()
1036 *err_evsel = evsel; in evlist__apply_filters()
1046 struct evsel *evsel; in evlist__set_tp_filter() local
1052 evlist__for_each_entry(evlist, evsel) { in evlist__set_tp_filter()
1053 if (evsel->core.attr.type != PERF_TYPE_TRACEPOINT) in evlist__set_tp_filter()
1056 err = evsel__set_filter(evsel, filter); in evlist__set_tp_filter()
1066 struct evsel *evsel; in evlist__append_tp_filter() local
1072 evlist__for_each_entry(evlist, evsel) { in evlist__append_tp_filter()
1073 if (evsel->core.attr.type != PERF_TYPE_TRACEPOINT) in evlist__append_tp_filter()
1076 err = evsel__append_tp_filter(evsel, filter); in evlist__append_tp_filter()
1140 struct evsel *pos; in evlist__valid_sample_type()
1159 struct evsel *evsel; in __evlist__combined_sample_type() local
1164 evlist__for_each_entry(evlist, evsel) in __evlist__combined_sample_type()
1165 evlist->combined_sample_type |= evsel->core.attr.sample_type; in __evlist__combined_sample_type()
1178 struct evsel *evsel; in evlist__combined_branch_type() local
1181 evlist__for_each_entry(evlist, evsel) in evlist__combined_branch_type()
1182 branch_type |= evsel->core.attr.branch_sample_type; in evlist__combined_branch_type()
1188 struct evsel *first = evlist__first(evlist), *pos = first; in evlist__valid_read_format()
1210 struct evsel *first = evlist__first(evlist); in evlist__id_hdr_size()
1243 struct evsel *first = evlist__first(evlist), *pos = first; in evlist__valid_sample_id_all()
1255 struct evsel *first = evlist__first(evlist); in evlist__sample_id_all()
1259 void evlist__set_selected(struct evlist *evlist, struct evsel *evsel) in evlist__set_selected() argument
1261 evlist->selected = evsel; in evlist__set_selected()
1266 struct evsel *evsel; in evlist__close() local
1275 evlist__for_each_entry_reverse(evlist, evsel) in evlist__close()
1276 evsel__close(evsel); in evlist__close()
1285 evlist__for_each_entry_reverse(evlist, evsel) { in evlist__close()
1286 if (evsel__cpu_iter_skip(evsel, cpu)) in evlist__close()
1288 perf_evsel__close_cpu(&evsel->core, evsel->cpu_iter - 1); in evlist__close()
1292 evlist__for_each_entry_reverse(evlist, evsel) { in evlist__close()
1293 perf_evsel__free_fd(&evsel->core); in evlist__close()
1294 perf_evsel__free_id(&evsel->core); in evlist__close()
1333 struct evsel *evsel; in evlist__open() local
1348 evlist__for_each_entry(evlist, evsel) { in evlist__open()
1349 err = evsel__open(evsel, evsel->core.cpus, evsel->core.threads); in evlist__open()
1502 struct evsel *evsel = evlist__event2evsel(evlist, event); in evlist__parse_sample() local
1504 if (!evsel) in evlist__parse_sample()
1506 return evsel__parse_sample(evsel, event, sample); in evlist__parse_sample()
1511 struct evsel *evsel = evlist__event2evsel(evlist, event); in evlist__parse_sample_timestamp() local
1513 if (!evsel) in evlist__parse_sample_timestamp()
1515 return evsel__parse_sample_timestamp(evsel, event, timestamp); in evlist__parse_sample_timestamp()
1546 struct evsel *first = evlist__first(evlist); in evlist__strerror_open()
1602 void evlist__to_front(struct evlist *evlist, struct evsel *move_evsel) in evlist__to_front()
1604 struct evsel *evsel, *n; in evlist__to_front() local
1610 evlist__for_each_entry_safe(evlist, n, evsel) { in evlist__to_front()
1611 if (evsel__leader(evsel) == evsel__leader(move_evsel)) in evlist__to_front()
1612 list_move_tail(&evsel->core.node, &move); in evlist__to_front()
1618 struct evsel *evlist__get_tracking_event(struct evlist *evlist) in evlist__get_tracking_event()
1620 struct evsel *evsel; in evlist__get_tracking_event() local
1622 evlist__for_each_entry(evlist, evsel) { in evlist__get_tracking_event()
1623 if (evsel->tracking) in evlist__get_tracking_event()
1624 return evsel; in evlist__get_tracking_event()
1630 void evlist__set_tracking_event(struct evlist *evlist, struct evsel *tracking_evsel) in evlist__set_tracking_event()
1632 struct evsel *evsel; in evlist__set_tracking_event() local
1637 evlist__for_each_entry(evlist, evsel) { in evlist__set_tracking_event()
1638 if (evsel != tracking_evsel) in evlist__set_tracking_event()
1639 evsel->tracking = false; in evlist__set_tracking_event()
1645 struct evsel *evlist__find_evsel_by_str(struct evlist *evlist, const char *str) in evlist__find_evsel_by_str()
1647 struct evsel *evsel; in evlist__find_evsel_by_str() local
1649 evlist__for_each_entry(evlist, evsel) { in evlist__find_evsel_by_str()
1650 if (!evsel->name) in evlist__find_evsel_by_str()
1652 if (strcmp(str, evsel->name) == 0) in evlist__find_evsel_by_str()
1653 return evsel; in evlist__find_evsel_by_str()
1718 struct evsel *evsel; in evlist__exclude_kernel() local
1720 evlist__for_each_entry(evlist, evsel) { in evlist__exclude_kernel()
1721 if (!evsel->core.attr.exclude_kernel) in evlist__exclude_kernel()
1736 struct evsel *leader = evlist__first(evlist); in evlist__force_leader()
1743 struct evsel *evlist__reset_weak_group(struct evlist *evsel_list, struct evsel *evsel, bool close) in evlist__reset_weak_group() argument
1745 struct evsel *c2, *leader; in evlist__reset_weak_group()
1748 leader = evsel__leader(evsel); in evlist__reset_weak_group()
1758 if (c2 == evsel) in evlist__reset_weak_group()
1999 struct evsel *evsel; in evlist__ctlfd_enable() local
2013 evsel = evlist__find_evsel_by_str(evlist, name); in evlist__ctlfd_enable()
2014 if (evsel) { in evlist__ctlfd_enable()
2019 pr_info("Event %s %s\n", evsel->name, in evlist__ctlfd_enable()
2040 struct evsel *evsel; in evlist__ctlfd_list() local
2065 evlist__for_each_entry(evlist, evsel) in evlist__ctlfd_list()
2066 evsel__fprintf(evsel, &details, stderr); in evlist__ctlfd_list()
2118 struct evsel *evlist__find_evsel(struct evlist *evlist, int idx) in evlist__find_evsel()
2120 struct evsel *evsel; in evlist__find_evsel() local
2122 evlist__for_each_entry(evlist, evsel) { in evlist__find_evsel()
2123 if (evsel->core.idx == idx) in evlist__find_evsel()
2124 return evsel; in evlist__find_evsel()
2131 struct evsel *evsel; in evlist__scnprintf_evsels() local
2134 evlist__for_each_entry(evlist, evsel) { in evlist__scnprintf_evsels()
2135 if (evsel__is_dummy_event(evsel)) in evlist__scnprintf_evsels()
2137 if (size > (strlen(evsel__name(evsel)) + (printed ? 2 : 1))) { in evlist__scnprintf_evsels()
2138 …printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "," : "", evsel__name(evsel)); in evlist__scnprintf_evsels()
2150 struct evsel *leader, *evsel, *pos; in evlist__check_mem_load_aux() local
2159 evlist__for_each_entry(evlist, evsel) { in evlist__check_mem_load_aux()
2160 leader = evsel__leader(evsel); in evlist__check_mem_load_aux()
2161 if (leader == evsel) in evlist__check_mem_load_aux()