Lines Matching refs:evsel
347 static struct evsel *
355 struct evsel *evsel; in __add_event() local
368 evsel = evsel__new_idx(attr, *idx); in __add_event()
369 if (!evsel) { in __add_event()
375 evsel->core.cpus = cpus; in __add_event()
376 evsel->core.own_cpus = perf_cpu_map__get(cpus); in __add_event()
377 evsel->core.system_wide = pmu ? pmu->is_uncore : false; in __add_event()
378 evsel->auto_merge_stats = auto_merge_stats; in __add_event()
381 evsel->name = strdup(name); in __add_event()
384 list_splice(config_terms, &evsel->config_terms); in __add_event()
387 list_add_tail(&evsel->core.node, list); in __add_event()
389 return evsel; in __add_event()
392 struct evsel *parse_events__add_event(int idx, struct perf_event_attr *attr, in parse_events__add_event()
410 struct evsel *evsel; in add_event_tool() local
416 evsel = __add_event(list, idx, &attr, true, NULL, NULL, NULL, false, in add_event_tool()
418 if (!evsel) in add_event_tool()
420 evsel->tool_event = tool_event; in add_event_tool()
422 evsel->unit = "ns"; in add_event_tool()
564 struct evsel *evsel = evsel__newtp_idx(sys_name, evt_name, (*idx)++); in add_tracepoint() local
566 if (IS_ERR(evsel)) { in add_tracepoint()
567 tracepoint_error(err, PTR_ERR(evsel), sys_name, evt_name); in add_tracepoint()
568 return PTR_ERR(evsel); in add_tracepoint()
576 list_splice(&config_terms, &evsel->config_terms); in add_tracepoint()
579 list_add_tail(&evsel->core.node, list); in add_tracepoint()
690 struct evsel *pos; in add_bpf_event()
709 struct evsel *evsel, *tmp; in add_bpf_event() local
713 list_for_each_entry_safe(evsel, tmp, &new_evsels, core.node) { in add_bpf_event()
714 list_del_init(&evsel->core.node); in add_bpf_event()
715 evsel__delete(evsel); in add_bpf_event()
1446 struct evsel *evsel; in parse_events_add_pmu() local
1487 evsel = __add_event(list, &parse_state->idx, &attr, true, NULL, in parse_events_add_pmu()
1489 if (evsel) { in parse_events_add_pmu()
1490 evsel->pmu_name = name ? strdup(name) : NULL; in parse_events_add_pmu()
1491 evsel->use_uncore_alias = use_uncore_alias; in parse_events_add_pmu()
1543 evsel = __add_event(list, &parse_state->idx, &attr, true, in parse_events_add_pmu()
1546 if (!evsel) in parse_events_add_pmu()
1549 evsel->pmu_name = name ? strdup(name) : NULL; in parse_events_add_pmu()
1550 evsel->use_uncore_alias = use_uncore_alias; in parse_events_add_pmu()
1551 evsel->percore = config_term_percore(&evsel->config_terms); in parse_events_add_pmu()
1556 evsel->unit = info.unit; in parse_events_add_pmu()
1557 evsel->scale = info.scale; in parse_events_add_pmu()
1558 evsel->per_pkg = info.per_pkg; in parse_events_add_pmu()
1559 evsel->snapshot = info.snapshot; in parse_events_add_pmu()
1560 evsel->metric_expr = info.metric_expr; in parse_events_add_pmu()
1561 evsel->metric_name = info.metric_name; in parse_events_add_pmu()
1654 struct evsel *evsel, *leader; in parse_events__set_leader_for_uncore_aliase() local
1659 leader = list_first_entry(list, struct evsel, core.node); in parse_events__set_leader_for_uncore_aliase()
1660 evsel = list_last_entry(list, struct evsel, core.node); in parse_events__set_leader_for_uncore_aliase()
1661 total_members = evsel->idx - leader->idx + 1; in parse_events__set_leader_for_uncore_aliase()
1672 __evlist__for_each_entry(list, evsel) { in parse_events__set_leader_for_uncore_aliase()
1675 if (!evsel->use_uncore_alias) in parse_events__set_leader_for_uncore_aliase()
1679 if (!is_same_uncore_block(leader->pmu_name, evsel->pmu_name)) in parse_events__set_leader_for_uncore_aliase()
1689 if ((leader != evsel) && in parse_events__set_leader_for_uncore_aliase()
1690 !strcmp(leader->pmu_name, evsel->pmu_name)) { in parse_events__set_leader_for_uncore_aliase()
1696 leaders[nr_pmu++] = (uintptr_t) evsel; in parse_events__set_leader_for_uncore_aliase()
1718 __evlist__for_each_entry(list, evsel) { in parse_events__set_leader_for_uncore_aliase()
1721 evsel->leader = (struct evsel *) leaders[i++]; in parse_events__set_leader_for_uncore_aliase()
1726 evsel = (struct evsel *) leaders[i]; in parse_events__set_leader_for_uncore_aliase()
1727 evsel->core.nr_members = total_members / nr_pmu; in parse_events__set_leader_for_uncore_aliase()
1728 evsel->group_name = name ? strdup(name) : NULL; in parse_events__set_leader_for_uncore_aliase()
1744 struct evsel *leader; in parse_events__set_leader()
1755 leader = list_entry(list->next, struct evsel, core.node); in parse_events__set_leader()
1789 struct evsel *evsel) in get_event_modifier() argument
1791 int eu = evsel ? evsel->core.attr.exclude_user : 0; in get_event_modifier()
1792 int ek = evsel ? evsel->core.attr.exclude_kernel : 0; in get_event_modifier()
1793 int eh = evsel ? evsel->core.attr.exclude_hv : 0; in get_event_modifier()
1794 int eH = evsel ? evsel->core.attr.exclude_host : 0; in get_event_modifier()
1795 int eG = evsel ? evsel->core.attr.exclude_guest : 0; in get_event_modifier()
1796 int eI = evsel ? evsel->core.attr.exclude_idle : 0; in get_event_modifier()
1797 int precise = evsel ? evsel->core.attr.precise_ip : 0; in get_event_modifier()
1800 int pinned = evsel ? evsel->core.attr.pinned : 0; in get_event_modifier()
1801 int exclusive = evsel ? evsel->core.attr.exclusive : 0; in get_event_modifier()
1804 int exclude_GH = evsel ? evsel->exclude_GH : 0; in get_event_modifier()
1908 struct evsel *evsel; in parse_events__modifier_event() local
1920 __evlist__for_each_entry(list, evsel) { in parse_events__modifier_event()
1921 if (add && get_event_modifier(&mod, str, evsel)) in parse_events__modifier_event()
1924 evsel->core.attr.exclude_user = mod.eu; in parse_events__modifier_event()
1925 evsel->core.attr.exclude_kernel = mod.ek; in parse_events__modifier_event()
1926 evsel->core.attr.exclude_hv = mod.eh; in parse_events__modifier_event()
1927 evsel->core.attr.precise_ip = mod.precise; in parse_events__modifier_event()
1928 evsel->core.attr.exclude_host = mod.eH; in parse_events__modifier_event()
1929 evsel->core.attr.exclude_guest = mod.eG; in parse_events__modifier_event()
1930 evsel->core.attr.exclude_idle = mod.eI; in parse_events__modifier_event()
1931 evsel->exclude_GH = mod.exclude_GH; in parse_events__modifier_event()
1932 evsel->sample_read = mod.sample_read; in parse_events__modifier_event()
1933 evsel->precise_max = mod.precise_max; in parse_events__modifier_event()
1934 evsel->weak_group = mod.weak; in parse_events__modifier_event()
1936 if (evsel__is_group_leader(evsel)) { in parse_events__modifier_event()
1937 evsel->core.attr.pinned = mod.pinned; in parse_events__modifier_event()
1938 evsel->core.attr.exclusive = mod.exclusive; in parse_events__modifier_event()
1947 struct evsel *evsel; in parse_events_name() local
1949 __evlist__for_each_entry(list, evsel) { in parse_events_name()
1950 if (!evsel->name) in parse_events_name()
1951 evsel->name = strdup(name); in parse_events_name()
2171 struct evsel *last; in __parse_events()
2316 int (*func)(struct evsel *evsel, in foreach_evsel_in_last_glob() argument
2320 struct evsel *last = NULL; in foreach_evsel_in_last_glob()
2341 last = list_entry(last->core.node.prev, struct evsel, core.node); in foreach_evsel_in_last_glob()
2347 static int set_filter(struct evsel *evsel, const void *arg) in set_filter() argument
2354 if (evsel == NULL) { in set_filter()
2360 if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT) { in set_filter()
2361 if (evsel__append_tp_filter(evsel, str) < 0) { in set_filter()
2371 if (pmu->type == evsel->core.attr.type) { in set_filter()
2386 if (evsel__append_addr_filter(evsel, str) < 0) { in set_filter()
2404 static int add_exclude_perf_filter(struct evsel *evsel, in add_exclude_perf_filter() argument
2409 if (evsel == NULL || evsel->core.attr.type != PERF_TYPE_TRACEPOINT) { in add_exclude_perf_filter()
2417 if (evsel__append_tp_filter(evsel, new_filter) < 0) { in add_exclude_perf_filter()
2596 struct evsel *evsel; in is_event_supported() local
2607 evsel = evsel__new(&attr); in is_event_supported()
2608 if (evsel) { in is_event_supported()
2609 open_return = evsel__open(evsel, NULL, tmap); in is_event_supported()
2620 evsel->core.attr.exclude_kernel = 1; in is_event_supported()
2621 ret = evsel__open(evsel, NULL, tmap) >= 0; in is_event_supported()
2623 evsel__delete(evsel); in is_event_supported()