]> www.infradead.org Git - users/jedix/linux-maple.git/commit
perf stat: Don't merge counters purely on name
authorIan Rogers <irogers@google.com>
Sat, 1 Feb 2025 07:43:19 +0000 (23:43 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 5 Feb 2025 05:29:05 +0000 (21:29 -0800)
commit2d9961c690d299893735783a2077e866f2d46a56
tree59b3f1c999c69211bea1b1bab00155d9fa974044
parent63e287131cf0c59b026053d6d63fe271604ffa7e
perf stat: Don't merge counters purely on name

Counter merging was added in commit 942c5593393d ("perf stat: Add
perf_stat_merge_counters()"), however, it merges events with the same
name on different PMUs regardless of whether the different PMUs are
actually of the same type (ie they differ only in the suffix on the
PMU). For hwmon events there may be a temp1 event on every PMU, but
the PMU names are all unique and don't differ just by a suffix. The
merging is over eager and will merge all the hwmon counters together
meaning an aggregated and very large temp1 value is shown. The same
would be true for say cache events and memory controller events where
the PMUs differ but the event names are the same.

Fix the problem by correctly saying two PMUs alias when they differ
only by suffix.

Note, there is an overlap with evsel's merged_stat with aggregation
and the evsel's metric_leader where aggregation happens for metrics.

Fixes: 942c5593393d ("perf stat: Add perf_stat_merge_counters()")
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Link: https://lore.kernel.org/r/20250201074320.746259-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/stat.c