Break up the previous v2 patchset into smaller atomic commits. The end result is the same as the previous patchset apart from some minor refactoring, asserting on an empty header and calling cpu__setup_cpunode_map() in the topology self test.
Testing done: Tested --per-core, --per-thread, --per-die, --per-node 'perf stat' outputs on Arm ThunderX2 and Intel KNL. Also tested 'perf stat record' and 'perf stat report --input' with recordings from a version of perf before this patchset to confirm that the output was the same. Signed-off-by: James Clark <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Thomas Richter <[email protected]> Cc: John Garry <[email protected]> James Clark (13): perf tools: Improve topology test perf tools: Use allocator for perf_cpu_map perf tools: Add new struct for cpu aggregation perf tools: Replace aggregation ID with a struct perf tools: add new map type for aggregation perf tools: drop in cpu_aggr_map struct perf tools: restrict visibility of functions perf tools: Start using cpu_aggr_id in map perf tools: Add separate node member perf tools: Add separate socket member perf tools: Add separate die member perf tools: Add separate core member perf tools: add thread field tools/perf/builtin-stat.c | 128 +++++++++++++------------ tools/perf/tests/topology.c | 58 +++++++++-- tools/perf/util/cpumap.c | 170 ++++++++++++++++++++++----------- tools/perf/util/cpumap.h | 55 ++++++----- tools/perf/util/stat-display.c | 106 +++++++++++--------- tools/perf/util/stat.c | 2 +- tools/perf/util/stat.h | 9 +- 7 files changed, 332 insertions(+), 196 deletions(-) -- 2.28.0

