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 <zhangweip...@didichuxing.com> --- 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