Hi, Sorry I missed to update correct version details. Link to the previous patch-set, where discussion related to addition of new data source encoding field 'mem_hops' happened:
https://lkml.org/lkml/2021/9/4/37 Changelog: - Rather then adding new macros for L2.1/L3.1 (same chip, different core) entries as part of field lvlnum, we are introducing new field called 'mem_hops' which can be used to get hops level data(intra-chip/package or inter-chip/off-package details). As suggested by Peter Zijlstra. - Using OnChip to denote data accesses from 'another core of same chip' is not too clear. Update it to 'remote core, same chip' as pointed by Michael Ellerman. - Update the fix patch of correcting data source encodings to use new added field 'mem_hops'. Thanks, Kajol Jain On 10/5/21 2:48 PM, Kajol Jain wrote: > Add a comment about PERF_MEM_LVL_* namespace being depricated > to some extent in favour of added PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_} > fields. > > Remove an extra line present in perf_mem__lvl_scnprintf function. > > Signed-off-by: Kajol Jain <kj...@linux.ibm.com> > --- > include/uapi/linux/perf_event.h | 8 +++++++- > tools/include/uapi/linux/perf_event.h | 8 +++++++- > tools/perf/util/mem-events.c | 1 - > 3 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h > index f92880a15645..e1701e9c7858 100644 > --- a/include/uapi/linux/perf_event.h > +++ b/include/uapi/linux/perf_event.h > @@ -1241,7 +1241,13 @@ union perf_mem_data_src { > #define PERF_MEM_OP_EXEC 0x10 /* code (execution) */ > #define PERF_MEM_OP_SHIFT 0 > > -/* memory hierarchy (memory level, hit or miss) */ > +/* > + * PERF_MEM_LVL_* namespace being depricated to some extent in the > + * favour of newer composite PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_} fields. > + * Supporting this namespace inorder to not break defined ABIs. > + * > + * memory hierarchy (memory level, hit or miss) > + */ > #define PERF_MEM_LVL_NA 0x01 /* not available */ > #define PERF_MEM_LVL_HIT 0x02 /* hit level */ > #define PERF_MEM_LVL_MISS 0x04 /* miss level */ > diff --git a/tools/include/uapi/linux/perf_event.h > b/tools/include/uapi/linux/perf_event.h > index f92880a15645..e1701e9c7858 100644 > --- a/tools/include/uapi/linux/perf_event.h > +++ b/tools/include/uapi/linux/perf_event.h > @@ -1241,7 +1241,13 @@ union perf_mem_data_src { > #define PERF_MEM_OP_EXEC 0x10 /* code (execution) */ > #define PERF_MEM_OP_SHIFT 0 > > -/* memory hierarchy (memory level, hit or miss) */ > +/* > + * PERF_MEM_LVL_* namespace being depricated to some extent in the > + * favour of newer composite PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_} fields. > + * Supporting this namespace inorder to not break defined ABIs. > + * > + * memory hierarchy (memory level, hit or miss) > + */ > #define PERF_MEM_LVL_NA 0x01 /* not available */ > #define PERF_MEM_LVL_HIT 0x02 /* hit level */ > #define PERF_MEM_LVL_MISS 0x04 /* miss level */ > diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c > index f0e75df72b80..ff7289e28192 100644 > --- a/tools/perf/util/mem-events.c > +++ b/tools/perf/util/mem-events.c > @@ -320,7 +320,6 @@ int perf_mem__lvl_scnprintf(char *out, size_t sz, struct > mem_info *mem_info) > /* already taken care of */ > m &= ~(PERF_MEM_LVL_HIT|PERF_MEM_LVL_MISS); > > - > if (mem_info && mem_info->data_src.mem_remote) { > strcat(out, "Remote "); > l += 7; >