[PATCH] perf cgroup: fix cgroup for multiple events

From: weiping zhang
Date: Thu Jan 25 2018 - 10:00:56 EST


if use -G and with multiple events, only the first event has
correct cgroup setting, all other events have a wroung setting.

reproduce:
mkdir -p /sys/fs/cgroup/perf_event/test
perf stat -e cycles -e cache-misses -a -I 1000 -G test

before:
1.001007226 <not counted> cycles test
1.001007226 7,506 cache-misses

after:
1.000834097 <not counted> cycles test
1.000834097 <not counted> cache-misses test

Signed-off-by: weiping zhang <zhangweiping@xxxxxxxxxxxxxxx>
---
tools/perf/util/cgroup.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/cgroup.c b/tools/perf/util/cgroup.c
index d9ffc1e..b50bfd1 100644
--- a/tools/perf/util/cgroup.c
+++ b/tools/perf/util/cgroup.c
@@ -137,7 +137,8 @@ static int add_cgroup(struct perf_evlist *evlist, char *str)

return -1;
found:
- counter->cgrp = cgrp;
+ evlist__for_each_entry(evlist, counter)
+ counter->cgrp = cgrp;
return 0;
}

--
2.9.4