[PATCH 0/4] perf: Add new macros for mem_hops field

From: Kajol Jain
Date: Mon Dec 06 2021 - 04:19:20 EST


Patchset adds new macros for mem_hops field which can be
used to represent remote-node, socket and board level details.

Currently the code had macro for HOPS_0, which corresponds
to data coming from another core but same node.
Add new macros for HOPS_1 to HOPS_3 to represent
remote-node, socket and board level data.

For ex: Encodings for mem_hops fields with L2 cache:

L2 - local L2
L2 | REMOTE | HOPS_0 - remote core, same node L2
L2 | REMOTE | HOPS_1 - remote node, same socket L2
L2 | REMOTE | HOPS_2 - remote socket, same board L2
L2 | REMOTE | HOPS_3 - remote board L2

Patch 1 & 2 adds tool and kernel side changes to add new macros for
mem_hops field

Patch 3 add data source encodings for power10 and older platforms
to represent data based on newer composite PERF_MEM_LVLNUM* fields

Patch 4 add data source encodings with proper sub_index used to
represent memory/cache level data for power10 platform.

Kajol Jain (4):
perf: Add new macros for mem_hops field
tools/perf: Add new macros for mem_hops field
powerpc/perf: Add encodings to represent data based on newer composite
PERF_MEM_LVLNUM* fields
powerpc/perf: Add data source encodings for power10 platform

arch/powerpc/perf/isa207-common.c | 60 ++++++++++++++++++++-------
include/uapi/linux/perf_event.h | 5 ++-
tools/include/uapi/linux/perf_event.h | 5 ++-
tools/perf/util/mem-events.c | 29 ++++++++-----
4 files changed, 71 insertions(+), 28 deletions(-)

--
2.27.0