• Jin Yao's avatar
    perf stat: Filter out unmatched aggregation for hybrid event · 92637cc7
    Jin Yao authored
    perf-stat has supported some aggregation modes, such as --per-core,
    --per-socket and etc. While for hybrid event, it may only available
    on part of cpus. So for --per-core, we need to filter out the
    unavailable cores, for --per-socket, filter out the unavailable
    sockets, and so on.
    
    Before:
    
      # perf stat --per-core -e cpu_core/cycles/ -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
      S0-D0-C0           2            479,530      cpu_core/cycles/
      S0-D0-C4           2            175,007      cpu_core/cycles/
      S0-D0-C8           2            166,240      cpu_core/cycles/
      S0-D0-C12          2            704,673      cpu_core/cycles/
      S0-D0-C16          2            865,835      cpu_core/cycles/
      S0-D0-C20          2          2,958,461      cpu_core/cycles/
      S0-D0-C24          2            163,988      cpu_core/cycles/
      S0-D0-C28          2            164,729      cpu_core/cycles/
      S0-D0-C32          0      <not counted>      cpu_core/cycles/
      S0-D0-C33          0      <not counted>      cpu_core/cycles/
      S0-D0-C34          0      <not counted>      cpu_core/cycles/
      S0-D0-C35          0      <not counted>      cpu_core/cycles/
      S0-D0-C36          0      <not counted>      cpu_core/cycles/
      S0-D0-C37          0      <not counted>      cpu_core/cycles/
      S0-D0-C38          0      <not counted>      cpu_core/cycles/
      S0-D0-C39          0      <not counted>      cpu_core/cycles/
    
             1.003597211 seconds time elapsed
    
    After:
    
      # perf stat --per-core -e cpu_core/cycles/ -a -- sleep 1
    
       Performance counter stats for 'system wide':
    
      S0-D0-C0           2            210,428      cpu_core/cycles/
      S0-D0-C4           2            444,830      cpu_core/cycles/
      S0-D0-C8           2            435,241      cpu_core/cycles/
      S0-D0-C12          2            423,976      cpu_core/cycles/
      S0-D0-C16          2            859,350      cpu_core/cycles/
      S0-D0-C20          2          1,559,589      cpu_core/cycles/
      S0-D0-C24          2            163,924      cpu_core/cycles/
      S0-D0-C28          2            376,610      cpu_core/cycles/
    
             1.003621290 seconds time elapsed
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Co-developed-by: default avatarJiri Olsa <jolsa@redhat.com>
    Reviewed-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20210427070139.25256-16-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    92637cc7
stat-display.c 32 KB