summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/evlist.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-26 07:50:56 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-26 07:50:56 +0100
commit986fb2e0532b1b0fa1e8312fbc38b9e7ed826547 (patch)
treee571ff6c8cd4bedfd49181125f0bd2993546ed24 /tools/perf/util/evlist.c
parent24438e46268c721e14c5c888386af85c9e1c5db1 (diff)
parent2e6e902d185027f8e3cb8b7305238f7e35d6a436 (diff)
downloadtalos-obmc-linux-986fb2e0532b1b0fa1e8312fbc38b9e7ed826547.tar.gz
talos-obmc-linux-986fb2e0532b1b0fa1e8312fbc38b9e7ed826547.zip
Merge 4.20-rc4 into char-misc-next
We want the char/misc fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/perf/util/evlist.c')
-rw-r--r--tools/perf/util/evlist.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index e88e6f9b1463..668d2a9ef0f4 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -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;
+}
OpenPOWER on IntegriCloud