[PATCH 00/13 v3] perf tools: fix perf stat with large socket IDs

From: James Clark
Date: Fri Nov 13 2020 - 12:19:40 EST


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 <james.clark@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Thomas Richter <tmricht@xxxxxxxxxxxxx>
Cc: John Garry <john.garry@xxxxxxxxxx>

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