Lines Matching full:leader
527 evsel->core.leader = orig->core.leader; in evsel__clone()
978 * Returns the group details for the specified leader,
1304 struct evsel *leader = evsel__leader(evsel); in evsel__config() local
1330 if (leader->core.nr_members > 1) { in evsel__config()
1737 static bool evsel__group_has_tpebs(struct evsel *leader) in evsel__group_has_tpebs() argument
1741 for_each_group_evsel(evsel, leader) { in evsel__group_has_tpebs()
1748 static u64 evsel__group_read_nr_members(struct evsel *leader) in evsel__group_read_nr_members() argument
1750 u64 nr = leader->core.nr_members; in evsel__group_read_nr_members()
1753 for_each_group_evsel(evsel, leader) { in evsel__group_read_nr_members()
1760 static u64 evsel__group_read_size(struct evsel *leader) in evsel__group_read_size() argument
1762 u64 read_format = leader->core.attr.read_format; in evsel__group_read_size()
1767 if (!evsel__group_has_tpebs(leader)) in evsel__group_read_size()
1768 return perf_evsel__read_size(&leader->core); in evsel__group_read_size()
1783 nr = evsel__group_read_nr_members(leader); in evsel__group_read_size()
1791 static int evsel__process_group_data(struct evsel *leader, int cpu_map_idx, int thread, u64 *data) in evsel__process_group_data() argument
1793 u64 read_format = leader->core.attr.read_format; in evsel__process_group_data()
1799 if (nr != evsel__group_read_nr_members(leader)) in evsel__process_group_data()
1812 counter = evlist__id2evsel(leader->evlist, v->id); in evsel__process_group_data()
1825 static int evsel__read_group(struct evsel *leader, int cpu_map_idx, int thread) in evsel__read_group() argument
1827 struct perf_stat_evsel *ps = leader->stats; in evsel__read_group()
1828 u64 read_format = leader->core.attr.read_format; in evsel__read_group()
1829 int size = evsel__group_read_size(leader); in evsel__read_group()
1835 if (!evsel__is_group_leader(leader)) in evsel__read_group()
1846 if (FD(leader, cpu_map_idx, thread) < 0) in evsel__read_group()
1849 if (readn(FD(leader, cpu_map_idx, thread), data, size) <= 0) in evsel__read_group()
1852 return evsel__process_group_data(leader, cpu_map_idx, thread, data); in evsel__read_group()
1921 struct evsel *leader = evsel__leader(evsel); in evsel__hybrid_group_cpu_map_idx() local
1923 if ((evsel__is_hybrid(evsel) && !evsel__is_hybrid(leader)) || in evsel__hybrid_group_cpu_map_idx()
1924 (!evsel__is_hybrid(evsel) && evsel__is_hybrid(leader))) { in evsel__hybrid_group_cpu_map_idx()
1925 return evsel__match_other_cpu(evsel, leader, cpu_map_idx); in evsel__hybrid_group_cpu_map_idx()
1933 struct evsel *leader = evsel__leader(evsel); in get_group_fd() local
1940 * Leader must be already processed/open, in get_group_fd()
1943 BUG_ON(!leader->core.fd); in get_group_fd()
1949 fd = FD(leader, cpu_map_idx, thread); in get_group_fd()
1950 BUG_ON(fd == -1 && !leader->skippable); in get_group_fd()
1953 * When the leader has been skipped, return -2 to distinguish from no in get_group_fd()
1954 * group leader case. in get_group_fd()
2327 struct evsel *leader; in evsel__detect_missing_aux_action_feature() local
2339 * The leader is an AUX area event. If it has failed, assume the feature in evsel__detect_missing_aux_action_feature()
2342 leader = evsel__leader(evsel); in evsel__detect_missing_aux_action_feature()
2343 if (evsel == leader) { in evsel__detect_missing_aux_action_feature()
2352 if (leader->core.attr.aux_action) in evsel__detect_missing_aux_action_feature()
2355 if (!evsel__probe_aux_action(leader, cpu)) in evsel__detect_missing_aux_action_feature()
2618 pr_debug("broken group leader for %s\n", evsel->name); in evsel__open_cpu()
2901 struct evsel *leader = evsel__leader(evsel); in evsel__has_branch_counters() local
2904 if (!leader || !evsel->evlist) in evsel__has_branch_counters()
2910 if (leader->br_cntr_nr > 0) in evsel__has_branch_counters()
3859 return container_of(evsel->core.leader, struct evsel, core); in evsel__leader()
3862 bool evsel__has_leader(struct evsel *evsel, struct evsel *leader) in evsel__has_leader() argument
3864 return evsel->core.leader == &leader->core; in evsel__has_leader()
3872 void evsel__set_leader(struct evsel *evsel, struct evsel *leader) in evsel__set_leader() argument
3874 evsel->core.leader = &leader->core; in evsel__set_leader()
3895 * Remove an event from a given group (leader).
3899 void evsel__remove_from_group(struct evsel *evsel, struct evsel *leader) in evsel__remove_from_group() argument
3901 if (!arch_evsel__must_be_in_group(evsel) && evsel != leader) { in evsel__remove_from_group()
3904 leader->core.nr_members--; in evsel__remove_from_group()