History

tools headers UAPI: Add new macros for mem_hops field to perf_event.h

Add 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. Also add corresponding strings in the mem_hops array to represent mem_hop field data in perf_mem__lvl_scnprintf function Incase mem_hops field is used, PERF_MEM_LVLNUM field also need to be set inorder to represent the data source. Hence printing data source via PERF_MEM_LVL field can be skip in that scenario. 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

Kajol Jain committed 4 years ago

Commit 7fbddf41 parent bb516932 files · +22 −12Browse files

Showing the changes to tools/include/uapi/linux (1 of 2 files). Show all

Unified · Split

tools/include/uapi/linux/perf_event.h+4−1
@@ -1332,7 +1332,10 @@ union perf_mem_data_src { · 1331 unmodified lines
13321332
13331333 /* hop level */
13341334 #define PERF_MEM_HOPS_0 0x01 /* remote core, same node */
1335−/* 2-7 available */
1335+#define PERF_MEM_HOPS_1 0x02 /* remote node, same socket */
1336+#define PERF_MEM_HOPS_2 0x03 /* remote socket, same board */
1337+#define PERF_MEM_HOPS_3 0x04 /* remote board */
1338+/* 5-7 available */
13361339 #define PERF_MEM_HOPS_SHIFT 43
13371340
13381341 #define PERF_MEM_S(a, s) \