• J
    perf pmu: Skip invalid hybrid pmu · 49afa7f6
    Jin Yao 提交于
    On hybrid platform, such as Alderlake, if atom CPUs are offlined,
    the kernel still exports the sysfs path '/sys/devices/cpu_atom/' for
    'cpu_atom' pmu but the file '/sys/devices/cpu_atom/cpus' is empty,
    which indicates this is an invalid pmu.
    
    Need to check and skip the invalid hybrid pmu.
    
    Before:
    
      # perf list
      ...
      branch-instructions OR cpu_atom/branch-instructions/ [Kernel PMU event]
      branch-instructions OR cpu_core/branch-instructions/ [Kernel PMU event]
      branch-misses OR cpu_atom/branch-misses/           [Kernel PMU event]
      branch-misses OR cpu_core/branch-misses/           [Kernel PMU event]
      bus-cycles OR cpu_atom/bus-cycles/                 [Kernel PMU event]
      bus-cycles OR cpu_core/bus-cycles/                 [Kernel PMU event]
      ...
    
    The cpu_atom events are still displayed even if atom CPUs are offlined.
    
    After:
    
      # perf list
      ...
      branch-instructions OR cpu_core/branch-instructions/ [Kernel PMU event]
      branch-misses OR cpu_core/branch-misses/           [Kernel PMU event]
      bus-cycles OR cpu_core/bus-cycles/                 [Kernel PMU event]
      ...
    
    Now only cpu_core events are displayed.
    Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
    Acked-by: NJiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jin Yao <yao.jin@intel.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20210708013701.20347-2-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    49afa7f6
pmu.c 40.4 KB