Lines Matching defs:evsel

17 #include "evsel.h"
46 #include <perf/evsel.h>
114 struct evsel *first = evlist__first(evlist);
122 struct evsel *evsel;
124 evlist__for_each_entry(evlist, evsel)
125 evsel__calc_id_pos(evsel);
132 struct evsel *pos, *n;
162 void evlist__add(struct evlist *evlist, struct evsel *entry)
174 void evlist__remove(struct evlist *evlist, struct evsel *evsel)
176 evsel->evlist = NULL;
177 perf_evlist__remove(&evlist->core, &evsel->core);
183 struct evsel *evsel, *temp;
185 __evlist__for_each_entry_safe(list, temp, evsel) {
186 list_del_init(&evsel->core.node);
187 evlist__add(evlist, evsel);
194 struct evsel *evsel;
200 evsel = perf_evlist__find_tracepoint_by_name(evlist, assocs[i].name);
201 if (evsel == NULL)
205 if (evsel->handler != NULL)
207 evsel->handler = assocs[i].handler;
217 struct evsel *evsel, *leader;
219 leader = list_entry(list->next, struct evsel, core.node);
220 evsel = list_entry(list->prev, struct evsel, core.node);
222 leader->core.nr_members = evsel->idx - leader->idx + 1;
224 __evlist__for_each_entry(list, evsel) {
225 evsel->leader = leader;
239 struct evsel *evsel = evsel__new_cycles(precise);
241 if (evsel == NULL)
244 evlist__add(evlist, evsel);
255 struct evsel *evsel = evsel__new_idx(&attr, evlist->core.nr_entries);
257 if (evsel == NULL)
260 evlist__add(evlist, evsel);
266 struct evsel *evsel, *n;
271 evsel = evsel__new_idx(attrs + i, evlist->core.nr_entries + i);
272 if (evsel == NULL)
274 list_add_tail(&evsel->core.node, &head);
282 __evlist__for_each_entry_safe(&head, n, evsel)
283 evsel__delete(evsel);
297 struct evsel *
300 struct evsel *evsel;
302 evlist__for_each_entry(evlist, evsel) {
303 if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT &&
304 (int)evsel->core.attr.config == id)
305 return evsel;
311 struct evsel *
315 struct evsel *evsel;
317 evlist__for_each_entry(evlist, evsel) {
318 if ((evsel->core.attr.type == PERF_TYPE_TRACEPOINT) &&
319 (strcmp(evsel->name, name) == 0))
320 return evsel;
328 struct evsel *evsel = evsel__newtp(sys, name);
330 if (IS_ERR(evsel))
333 evsel->handler = handler;
334 evlist__add(evlist, evsel);
339 struct evsel *evsel)
341 if (evsel->core.system_wide)
349 struct evsel *pos;
352 * Reset the per evsel cpu_iter. This is needed because
353 * each evsel's cpumap may have a different index space,
361 bool evsel__cpu_iter_skip_no_inc(struct evsel *ev, int cpu)
370 bool evsel__cpu_iter_skip(struct evsel *ev, int cpu)
381 struct evsel *pos;
422 struct evsel *pos;
456 struct evsel *evsel, int cpu)
459 int nr_threads = perf_evlist__nr_threads(evlist, evsel);
461 if (!evsel->core.fd)
465 int err = ioctl(FD(evsel, cpu, thread), PERF_EVENT_IOC_ENABLE, 0);
473 struct evsel *evsel,
479 if (!evsel->core.fd)
483 int err = ioctl(FD(evsel, cpu, thread), PERF_EVENT_IOC_ENABLE, 0);
491 struct evsel *evsel, int idx)
496 return perf_evlist__enable_event_cpu(evlist, evsel, idx);
498 return perf_evlist__enable_event_thread(evlist, evsel, idx);
540 struct evsel *perf_evlist__id2evsel(struct evlist *evlist, u64 id)
549 return container_of(sid->evsel, struct evsel, core);
557 struct evsel *perf_evlist__id2evsel_strict(struct evlist *evlist,
567 return container_of(sid->evsel, struct evsel, core);
593 struct evsel *perf_evlist__event2evsel(struct evlist *evlist,
596 struct evsel *first = evlist__first(evlist);
621 return container_of(sid->evsel, struct evsel, core);
886 * Its value is decided by evsel's write_backward.
971 struct evsel *evsel;
973 evlist__for_each_entry(evlist, evsel)
974 __evsel__set_sample_bit(evsel, bit);
980 struct evsel *evsel;
982 evlist__for_each_entry(evlist, evsel)
983 __evsel__reset_sample_bit(evsel, bit);
986 int perf_evlist__apply_filters(struct evlist *evlist, struct evsel **err_evsel)
988 struct evsel *evsel;
991 evlist__for_each_entry(evlist, evsel) {
992 if (evsel->filter == NULL)
997 * So evlist and evsel should always be same.
999 err = perf_evsel__apply_filter(&evsel->core, evsel->filter);
1001 *err_evsel = evsel;
1011 struct evsel *evsel;
1017 evlist__for_each_entry(evlist, evsel) {
1018 if (evsel->core.attr.type != PERF_TYPE_TRACEPOINT)
1021 err = evsel__set_filter(evsel, filter);
1031 struct evsel *evsel;
1037 evlist__for_each_entry(evlist, evsel) {
1038 if (evsel->core.attr.type != PERF_TYPE_TRACEPOINT)
1041 err = evsel__append_tp_filter(evsel, filter);
1105 struct evsel *pos;
1124 struct evsel *evsel;
1129 evlist__for_each_entry(evlist, evsel)
1130 evlist->combined_sample_type |= evsel->core.attr.sample_type;
1143 struct evsel *evsel;
1146 evlist__for_each_entry(evlist, evsel)
1147 branch_type |= evsel->core.attr.branch_sample_type;
1153 struct evsel *first = evlist__first(evlist), *pos = first;
1175 struct evsel *first = evlist__first(evlist);
1208 struct evsel *first = evlist__first(evlist), *pos = first;
1220 struct evsel *first = evlist__first(evlist);
1225 struct evsel *evsel)
1227 evlist->selected = evsel;
1232 struct evsel *evsel;
1241 evlist__for_each_entry_reverse(evlist, evsel)
1242 evsel__close(evsel);
1251 evlist__for_each_entry_reverse(evlist, evsel) {
1252 if (evsel__cpu_iter_skip(evsel, cpu))
1254 perf_evsel__close_cpu(&evsel->core, evsel->cpu_iter - 1);
1258 evlist__for_each_entry_reverse(evlist, evsel) {
1259 perf_evsel__free_fd(&evsel->core);
1260 perf_evsel__free_id(&evsel->core);
1298 struct evsel *evsel;
1313 evlist__for_each_entry(evlist, evsel) {
1314 err = evsel__open(evsel, evsel->core.cpus, evsel->core.threads);
1462 struct evsel *evsel = perf_evlist__event2evsel(evlist, event);
1464 if (!evsel)
1466 return evsel__parse_sample(evsel, event, sample);
1473 struct evsel *evsel = perf_evlist__event2evsel(evlist, event);
1475 if (!evsel)
1477 return evsel__parse_sample_timestamp(evsel, event, timestamp);
1508 struct evsel *first = evlist__first(evlist);
1565 struct evsel *move_evsel)
1567 struct evsel *evsel, *n;
1573 evlist__for_each_entry_safe(evlist, n, evsel) {
1574 if (evsel->leader == move_evsel->leader)
1575 list_move_tail(&evsel->core.node, &move);
1581 struct evsel *perf_evlist__get_tracking_event(struct evlist *evlist)
1583 struct evsel *evsel;
1585 evlist__for_each_entry(evlist, evsel) {
1586 if (evsel->tracking)
1587 return evsel;
1594 struct evsel *tracking_evsel)
1596 struct evsel *evsel;
1601 evlist__for_each_entry(evlist, evsel) {
1602 if (evsel != tracking_evsel)
1603 evsel->tracking = false;
1609 struct evsel *
1613 struct evsel *evsel;
1615 evlist__for_each_entry(evlist, evsel) {
1616 if (!evsel->name)
1618 if (strcmp(str, evsel->name) == 0)
1619 return evsel;
1685 struct evsel *evsel;
1687 evlist__for_each_entry(evlist, evsel) {
1688 if (!evsel->core.attr.exclude_kernel)
1703 struct evsel *leader = evlist__first(evlist);
1710 struct evsel *perf_evlist__reset_weak_group(struct evlist *evsel_list,
1711 struct evsel *evsel,
1714 struct evsel *c2, *leader;
1717 leader = evsel->leader;
1726 if (c2 == evsel)
1981 struct evsel *evlist__find_evsel(struct evlist *evlist, int idx)
1983 struct evsel *evsel;
1985 evlist__for_each_entry(evlist, evsel) {
1986 if (evsel->idx == idx)
1987 return evsel;