Lines Matching full:leader
537 evsel->core.leader = orig->core.leader; in evsel__clone()
988 * Returns the group details for the specified leader,
1314 struct evsel *leader = evsel__leader(evsel); in evsel__config() local
1340 if (leader->core.nr_members > 1) { in evsel__config()
1747 static bool evsel__group_has_tpebs(struct evsel *leader) in evsel__group_has_tpebs() argument
1751 for_each_group_evsel(evsel, leader) { in evsel__group_has_tpebs()
1758 static u64 evsel__group_read_nr_members(struct evsel *leader) in evsel__group_read_nr_members() argument
1760 u64 nr = leader->core.nr_members; in evsel__group_read_nr_members()
1763 for_each_group_evsel(evsel, leader) { in evsel__group_read_nr_members()
1770 static u64 evsel__group_read_size(struct evsel *leader) in evsel__group_read_size() argument
1772 u64 read_format = leader->core.attr.read_format; in evsel__group_read_size()
1777 if (!evsel__group_has_tpebs(leader)) in evsel__group_read_size()
1778 return perf_evsel__read_size(&leader->core); in evsel__group_read_size()
1793 nr = evsel__group_read_nr_members(leader); in evsel__group_read_size()
1801 static int evsel__process_group_data(struct evsel *leader, int cpu_map_idx, int thread, u64 *data) in evsel__process_group_data() argument
1803 u64 read_format = leader->core.attr.read_format; in evsel__process_group_data()
1809 if (nr != evsel__group_read_nr_members(leader)) in evsel__process_group_data()
1822 counter = evlist__id2evsel(leader->evlist, v->id); in evsel__process_group_data()
1835 static int evsel__read_group(struct evsel *leader, int cpu_map_idx, int thread) in evsel__read_group() argument
1837 struct perf_stat_evsel *ps = leader->stats; in evsel__read_group()
1838 u64 read_format = leader->core.attr.read_format; in evsel__read_group()
1839 int size = evsel__group_read_size(leader); in evsel__read_group()
1845 if (!evsel__is_group_leader(leader)) in evsel__read_group()
1856 if (FD(leader, cpu_map_idx, thread) < 0) in evsel__read_group()
1859 if (readn(FD(leader, cpu_map_idx, thread), data, size) <= 0) in evsel__read_group()
1862 return evsel__process_group_data(leader, cpu_map_idx, thread, data); in evsel__read_group()
1931 struct evsel *leader = evsel__leader(evsel); in evsel__hybrid_group_cpu_map_idx() local
1933 if ((evsel__is_hybrid(evsel) && !evsel__is_hybrid(leader)) || in evsel__hybrid_group_cpu_map_idx()
1934 (!evsel__is_hybrid(evsel) && evsel__is_hybrid(leader))) { in evsel__hybrid_group_cpu_map_idx()
1935 return evsel__match_other_cpu(evsel, leader, cpu_map_idx); in evsel__hybrid_group_cpu_map_idx()
1943 struct evsel *leader = evsel__leader(evsel); in get_group_fd() local
1950 * Leader must be already processed/open, in get_group_fd()
1953 BUG_ON(!leader->core.fd); in get_group_fd()
1959 fd = FD(leader, cpu_map_idx, thread); in get_group_fd()
1960 BUG_ON(fd == -1 && !leader->skippable); in get_group_fd()
1963 * When the leader has been skipped, return -2 to distinguish from no in get_group_fd()
1964 * group leader case. in get_group_fd()
2337 struct evsel *leader; in evsel__detect_missing_aux_action_feature() local
2349 * The leader is an AUX area event. If it has failed, assume the feature in evsel__detect_missing_aux_action_feature()
2352 leader = evsel__leader(evsel); in evsel__detect_missing_aux_action_feature()
2353 if (evsel == leader) { in evsel__detect_missing_aux_action_feature()
2362 if (leader->core.attr.aux_action) in evsel__detect_missing_aux_action_feature()
2365 if (!evsel__probe_aux_action(leader, cpu)) in evsel__detect_missing_aux_action_feature()
2628 pr_debug("broken group leader for %s\n", evsel->name); in evsel__open_cpu()
2911 struct evsel *leader = evsel__leader(evsel); in evsel__has_branch_counters() local
2914 if (!leader || !evsel->evlist) in evsel__has_branch_counters()
2920 if (leader->br_cntr_nr > 0) in evsel__has_branch_counters()
3872 return container_of(evsel->core.leader, struct evsel, core); in evsel__leader()
3875 bool evsel__has_leader(struct evsel *evsel, struct evsel *leader) in evsel__has_leader() argument
3877 return evsel->core.leader == &leader->core; in evsel__has_leader()
3885 void evsel__set_leader(struct evsel *evsel, struct evsel *leader) in evsel__set_leader() argument
3887 evsel->core.leader = &leader->core; in evsel__set_leader()
3908 * Remove an event from a given group (leader).
3912 void evsel__remove_from_group(struct evsel *evsel, struct evsel *leader) in evsel__remove_from_group() argument
3914 if (!arch_evsel__must_be_in_group(evsel) && evsel != leader) { in evsel__remove_from_group()
3917 leader->core.nr_members--; in evsel__remove_from_group()