1. 16 Dec, 2021 2 commits
    • Kajol Jain's avatar
      powerpc/perf: Add encodings to represent data based on newer composite PERF_MEM_LVLNUM* fields · 4a20ee10
      Kajol Jain authored
      The code represent data coming from L1/L2/L3 cache hits based on
      PERF_MEM_LVL_* namespace, which is in the process of deprecation in
      the favour of newer composite PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_,HOPS_}
      fields.
      
      Add data source encodings to represent L1/L2/L3 cache hits based on
      newer composite PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_,HOPS_} fields for
      power10 and older platforms
      
      Result in power9 system without patch changes:
      
      localhost:# ./perf mem report --sort="mem,sym,dso" --stdio
       # Overhead       Samples  Memory access             Symbol                             Shared Object
       # ........  ............  ........................  .................................  ................
       #
          29.51%             1  L2 hit                    [k] perf_event_exec                [kernel.vmlinux]
          27.05%             1  L1 hit                    [k] perf_ctx_unlock                [kernel.vmlinux]
          13.93%             1  L1 hit                    [k] vtime_delta                    [kernel.vmlinux]
          13.11%             1  L1 hit                    [k] prepend_path.isra.11           [kernel.vmlinux]
           8.20%             1  L1 hit                    [.] 00000038.plt_call.__GI_strlen  libc-2.28.so
           8.20%             1  L1 hit                    [k] perf_event_interrupt           [kernel.vmlinux]
      
      Result in power9 system with patch changes:
      
      localhost:# ./perf mem report --sort="mem,sym,dso" --stdio
       # Overhead       Samples  Memory access             Symbol                      Shared Object
       # ........  ............  ........................  ..........................  ................
       #
          36.63%             1  L2 or L2 hit              [k] perf_event_exec         [kernel.vmlinux]
          25.50%             1  L1 or L1 hit              [k] vtime_delta             [kernel.vmlinux]
          13.12%             1  L1 or L1 hit              [k] unmap_region            [kernel.vmlinux]
          12.62%             1  L1 or L1 hit              [k] perf_sample_event_took  [kernel.vmlinux]
           6.93%             1  L1 or L1 hit              [k] perf_ctx_unlock         [kernel.vmlinux]
           5.20%             1  L1 or L1 hit              [.] __memcpy_power7         libc-2.28.so
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Reviewed-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20211206091749.87585-4-kjain@linux.ibm.com
      4a20ee10
    • Kajol Jain's avatar
      perf: Add new macros for mem_hops field · cb1c4aba
      Kajol Jain authored
      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.
      
      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
      Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20211206091749.87585-2-kjain@linux.ibm.com
      cb1c4aba
  2. 15 Dec, 2021 1 commit
  3. 14 Dec, 2021 1 commit
  4. 09 Dec, 2021 36 commits