]> git.baikalelectronics.ru Git - kernel.git/commit
perf stat: Use evsel->core.cpus to iterate cpus in BPF cgroup counters
authorNamhyung Kim <namhyung@kernel.org>
Fri, 16 Sep 2022 18:41:31 +0000 (11:41 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 21 Sep 2022 13:30:55 +0000 (10:30 -0300)
commit0b52643700a7edb1e0fe111d7b42a8db1e81c703
treebca373559060e2d0a3c5678ae316900367ddbf96
parentf3572f59c9b2cb63f0c8c3ac7fbdac930c740cf9
perf stat: Use evsel->core.cpus to iterate cpus in BPF cgroup counters

If it mixes core and uncore events, each evsel would have different cpu map.
But it assumed they are same with evlist's all_cpus and accessed by the same
index.  This resulted in a crash like below.

  $ perf stat -a --bpf-counters --for-each_cgroup ^. -e cycles,imc/cas_count_read/ sleep 1
  Segmentation fault

While it's not recommended to use uncore events for cgroup aggregation, it
should not crash.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20220916184132.1161506-4-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/bpf_counter_cgroup.c