Commit ced4c249 authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim
Browse files

perf stat: Don't size aggregation ids from user_requested_cpus



As evsels may have additional CPU terms, the user_requested_cpus may
not reflect all the CPUs requested. Use evlist->all_cpus to size the
array as that reflects all the CPUs potentially needed by the evlist.

Reviewed-by: default avatarThomas Falcon <thomas.falcon@intel.com>
Signed-off-by: default avatarIan Rogers <irogers@google.com>
Tested-by: default avatarJames Clark <james.clark@linaro.org>
Link: https://lore.kernel.org/r/20250719030517.1990983-4-irogers@google.com


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 848e7a06
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -1513,11 +1513,8 @@ static int perf_stat_init_aggr_mode(void)
	 * taking the highest cpu number to be the size of
	 * the aggregation translate cpumap.
	 */
	if (!perf_cpu_map__is_any_cpu_or_is_empty(evsel_list->core.user_requested_cpus))
		nr = perf_cpu_map__max(evsel_list->core.user_requested_cpus).cpu;
	else
		nr = 0;
	stat_config.cpus_aggr_map = cpu_aggr_map__empty_new(nr + 1);
	nr = perf_cpu_map__max(evsel_list->core.all_cpus).cpu + 1;
	stat_config.cpus_aggr_map = cpu_aggr_map__empty_new(nr);
	return stat_config.cpus_aggr_map ? 0 : -ENOMEM;
}