Lines Matching refs:evsel
319 static struct evsel *
326 struct evsel *evsel; in __add_event() local
332 evsel = perf_evsel__new_idx(attr, *idx); in __add_event()
333 if (!evsel) in __add_event()
337 evsel->core.cpus = perf_cpu_map__get(cpus); in __add_event()
338 evsel->core.own_cpus = perf_cpu_map__get(cpus); in __add_event()
339 evsel->core.system_wide = pmu ? pmu->is_uncore : false; in __add_event()
340 evsel->auto_merge_stats = auto_merge_stats; in __add_event()
343 evsel->name = strdup(name); in __add_event()
346 list_splice(config_terms, &evsel->config_terms); in __add_event()
348 list_add_tail(&evsel->core.node, list); in __add_event()
349 return evsel; in __add_event()
362 struct evsel *evsel; in add_event_tool() local
368 evsel = __add_event(list, idx, &attr, NULL, NULL, NULL, false, "0"); in add_event_tool()
369 if (!evsel) in add_event_tool()
371 evsel->tool_event = tool_event; in add_event_tool()
373 evsel->unit = strdup("ns"); in add_event_tool()
515 struct evsel *evsel; in add_tracepoint() local
517 evsel = perf_evsel__newtp_idx(sys_name, evt_name, (*idx)++); in add_tracepoint()
518 if (IS_ERR(evsel)) { in add_tracepoint()
519 tracepoint_error(err, PTR_ERR(evsel), sys_name, evt_name); in add_tracepoint()
520 return PTR_ERR(evsel); in add_tracepoint()
528 list_splice(&config_terms, &evsel->config_terms); in add_tracepoint()
531 list_add_tail(&evsel->core.node, list); in add_tracepoint()
642 struct evsel *pos; in add_bpf_event()
661 struct evsel *evsel, *tmp; in add_bpf_event() local
665 list_for_each_entry_safe(evsel, tmp, &new_evsels, core.node) { in add_bpf_event()
666 list_del_init(&evsel->core.node); in add_bpf_event()
667 evsel__delete(evsel); in add_bpf_event()
1319 struct evsel *evsel; in parse_events_add_pmu() local
1344 evsel = __add_event(list, &parse_state->idx, &attr, NULL, pmu, NULL, in parse_events_add_pmu()
1346 if (evsel) { in parse_events_add_pmu()
1347 evsel->pmu_name = name; in parse_events_add_pmu()
1348 evsel->use_uncore_alias = use_uncore_alias; in parse_events_add_pmu()
1371 evsel = __add_event(list, &parse_state->idx, &attr, in parse_events_add_pmu()
1374 if (evsel) { in parse_events_add_pmu()
1375 evsel->unit = info.unit; in parse_events_add_pmu()
1376 evsel->scale = info.scale; in parse_events_add_pmu()
1377 evsel->per_pkg = info.per_pkg; in parse_events_add_pmu()
1378 evsel->snapshot = info.snapshot; in parse_events_add_pmu()
1379 evsel->metric_expr = info.metric_expr; in parse_events_add_pmu()
1380 evsel->metric_name = info.metric_name; in parse_events_add_pmu()
1381 evsel->pmu_name = name; in parse_events_add_pmu()
1382 evsel->use_uncore_alias = use_uncore_alias; in parse_events_add_pmu()
1383 evsel->percore = config_term_percore(&evsel->config_terms); in parse_events_add_pmu()
1386 return evsel ? 0 : -ENOMEM; in parse_events_add_pmu()
1466 struct evsel *evsel, *leader; in parse_events__set_leader_for_uncore_aliase() local
1471 leader = list_first_entry(list, struct evsel, core.node); in parse_events__set_leader_for_uncore_aliase()
1472 evsel = list_last_entry(list, struct evsel, core.node); in parse_events__set_leader_for_uncore_aliase()
1473 total_members = evsel->idx - leader->idx + 1; in parse_events__set_leader_for_uncore_aliase()
1484 __evlist__for_each_entry(list, evsel) { in parse_events__set_leader_for_uncore_aliase()
1487 if (!evsel->use_uncore_alias) in parse_events__set_leader_for_uncore_aliase()
1491 if (!is_same_uncore_block(leader->pmu_name, evsel->pmu_name)) in parse_events__set_leader_for_uncore_aliase()
1501 if ((leader != evsel) && (leader->pmu_name == evsel->pmu_name)) { in parse_events__set_leader_for_uncore_aliase()
1506 WARN_ON(strcmp(leader->name, evsel->name)); in parse_events__set_leader_for_uncore_aliase()
1509 leaders[nr_pmu++] = (uintptr_t) evsel; in parse_events__set_leader_for_uncore_aliase()
1531 __evlist__for_each_entry(list, evsel) { in parse_events__set_leader_for_uncore_aliase()
1534 evsel->leader = (struct evsel *) leaders[i++]; in parse_events__set_leader_for_uncore_aliase()
1539 evsel = (struct evsel *) leaders[i]; in parse_events__set_leader_for_uncore_aliase()
1540 evsel->core.nr_members = total_members / nr_pmu; in parse_events__set_leader_for_uncore_aliase()
1541 evsel->group_name = name ? strdup(name) : NULL; in parse_events__set_leader_for_uncore_aliase()
1557 struct evsel *leader; in parse_events__set_leader()
1568 leader = list_entry(list->next, struct evsel, core.node); in parse_events__set_leader()
1601 struct evsel *evsel) in get_event_modifier() argument
1603 int eu = evsel ? evsel->core.attr.exclude_user : 0; in get_event_modifier()
1604 int ek = evsel ? evsel->core.attr.exclude_kernel : 0; in get_event_modifier()
1605 int eh = evsel ? evsel->core.attr.exclude_hv : 0; in get_event_modifier()
1606 int eH = evsel ? evsel->core.attr.exclude_host : 0; in get_event_modifier()
1607 int eG = evsel ? evsel->core.attr.exclude_guest : 0; in get_event_modifier()
1608 int eI = evsel ? evsel->core.attr.exclude_idle : 0; in get_event_modifier()
1609 int precise = evsel ? evsel->core.attr.precise_ip : 0; in get_event_modifier()
1612 int pinned = evsel ? evsel->core.attr.pinned : 0; in get_event_modifier()
1615 int exclude_GH = evsel ? evsel->exclude_GH : 0; in get_event_modifier()
1714 struct evsel *evsel; in parse_events__modifier_event() local
1726 __evlist__for_each_entry(list, evsel) { in parse_events__modifier_event()
1727 if (add && get_event_modifier(&mod, str, evsel)) in parse_events__modifier_event()
1730 evsel->core.attr.exclude_user = mod.eu; in parse_events__modifier_event()
1731 evsel->core.attr.exclude_kernel = mod.ek; in parse_events__modifier_event()
1732 evsel->core.attr.exclude_hv = mod.eh; in parse_events__modifier_event()
1733 evsel->core.attr.precise_ip = mod.precise; in parse_events__modifier_event()
1734 evsel->core.attr.exclude_host = mod.eH; in parse_events__modifier_event()
1735 evsel->core.attr.exclude_guest = mod.eG; in parse_events__modifier_event()
1736 evsel->core.attr.exclude_idle = mod.eI; in parse_events__modifier_event()
1737 evsel->exclude_GH = mod.exclude_GH; in parse_events__modifier_event()
1738 evsel->sample_read = mod.sample_read; in parse_events__modifier_event()
1739 evsel->precise_max = mod.precise_max; in parse_events__modifier_event()
1740 evsel->weak_group = mod.weak; in parse_events__modifier_event()
1742 if (perf_evsel__is_group_leader(evsel)) in parse_events__modifier_event()
1743 evsel->core.attr.pinned = mod.pinned; in parse_events__modifier_event()
1751 struct evsel *evsel; in parse_events_name() local
1753 __evlist__for_each_entry(list, evsel) { in parse_events_name()
1754 if (!evsel->name) in parse_events_name()
1755 evsel->name = strdup(name); in parse_events_name()
1931 struct evsel *last; in parse_events()
2040 int (*func)(struct evsel *evsel, in foreach_evsel_in_last_glob() argument
2044 struct evsel *last = NULL; in foreach_evsel_in_last_glob()
2065 last = list_entry(last->core.node.prev, struct evsel, core.node); in foreach_evsel_in_last_glob()
2071 static int set_filter(struct evsel *evsel, const void *arg) in set_filter() argument
2078 if (evsel == NULL) { in set_filter()
2084 if (evsel->core.attr.type == PERF_TYPE_TRACEPOINT) { in set_filter()
2085 if (perf_evsel__append_tp_filter(evsel, str) < 0) { in set_filter()
2095 if (pmu->type == evsel->core.attr.type) { in set_filter()
2110 if (perf_evsel__append_addr_filter(evsel, str) < 0) { in set_filter()
2128 static int add_exclude_perf_filter(struct evsel *evsel, in add_exclude_perf_filter() argument
2133 if (evsel == NULL || evsel->core.attr.type != PERF_TYPE_TRACEPOINT) { in add_exclude_perf_filter()
2141 if (perf_evsel__append_tp_filter(evsel, new_filter) < 0) { in add_exclude_perf_filter()
2320 struct evsel *evsel; in is_event_supported() local
2331 evsel = evsel__new(&attr); in is_event_supported()
2332 if (evsel) { in is_event_supported()
2333 open_return = evsel__open(evsel, NULL, tmap); in is_event_supported()
2344 evsel->core.attr.exclude_kernel = 1; in is_event_supported()
2345 ret = evsel__open(evsel, NULL, tmap) >= 0; in is_event_supported()
2347 evsel__delete(evsel); in is_event_supported()