[PATCH v2 0/2] perf: arm-spe: Decode SPE source and use for perf c2c

Ali Saidi
2022-02-21T22:36:14Z

When synthesizing data from SPE, augment the type with source information
for Arm Neoverse cores so we can detect situtions like cache line contention
and transfers on Arm platforms.

This changes enables the expected behavior of perf c2c on a system with SPE where
lines that are shared among multiple cores show up in perf c2c output.

These changes switch to use mem_lvl_num to encode the level information instead
of mem_lvl which is being deprecated, but I haven't found other users of
mem_lvl_num.

Changes in v2:
* Split the synht_data_source functions into a generic and neoverse version
* Use mem_lvl_num instead of mem_lvl
* Modify c2c to support mem_lvl_num + HITM

Ali Saidi (2):
perf arm-spe: Use SPE data source for neoverse cores
perf mem: Support HITM for when mem_lvl_num is used

.../util/arm-spe-decoder/arm-spe-decoder.c | 1 +
.../util/arm-spe-decoder/arm-spe-decoder.h | 12 ++
tools/perf/util/arm-spe.c | 106 +++++++++++++++---
tools/perf/util/mem-events.c | 14 ++-
4 files changed, 114 insertions(+), 19 deletions(-)

--
2.32.0