perf evlist: Move perf_evsel__reset_weak_group into evlist
- Move the function from builtin-stat to evlist for reuse - Rename to evlist to match purpose better - Pass the evlist as first argument. - No functional changes Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Link: http://lkml.kernel.org/r/20181001195927.14211-1-andi@firstfloor.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
79ef68c7e1
commit
c3537fc251
@@ -1810,3 +1810,30 @@ void perf_evlist__force_leader(struct perf_evlist *evlist)
|
||||
leader->forced_leader = true;
|
||||
}
|
||||
}
|
||||
|
||||
struct perf_evsel *perf_evlist__reset_weak_group(struct perf_evlist *evsel_list,
|
||||
struct perf_evsel *evsel)
|
||||
{
|
||||
struct perf_evsel *c2, *leader;
|
||||
bool is_open = true;
|
||||
|
||||
leader = evsel->leader;
|
||||
pr_debug("Weak group for %s/%d failed\n",
|
||||
leader->name, leader->nr_members);
|
||||
|
||||
/*
|
||||
* for_each_group_member doesn't work here because it doesn't
|
||||
* include the first entry.
|
||||
*/
|
||||
evlist__for_each_entry(evsel_list, c2) {
|
||||
if (c2 == evsel)
|
||||
is_open = false;
|
||||
if (c2->leader == leader) {
|
||||
if (is_open)
|
||||
perf_evsel__close(c2);
|
||||
c2->leader = c2;
|
||||
c2->nr_members = 0;
|
||||
}
|
||||
}
|
||||
return leader;
|
||||
}
|
||||
|
Reference in New Issue
Block a user