• Jin Yao's avatar
    perf header: Support HYBRID_CPU_PMU_CAPS feature · e119083b
    Jin Yao authored
    Perf has supported the CPU_PMU_CAPS feature to display a list of CPU PMU
    capabilities. But on a hybrid platform, it may have several CPU PMUs (such
    as "cpu_core" and "cpu_atom"). The CPU_PMU_CAPS feature is hard to extend
    to support multiple CPU PMUs well if it needs to be compatible for the case
    of old perf data file + new perf tool.
    
    So for better compatibility we now create a new feature HYBRID_CPU_PMU_CAPS
    in the header.
    
    For the perf.data generated on hybrid platform,
    
      root@otcpl-adl-s-2:~# perf report --header-only -I
    
      # cpu_core pmu capabilities: branches=32, max_precise=3, pmu_name=alderlake_hybrid
      # cpu_atom pmu capabilities: branches=32, max_precise=3, pmu_name=alderlake_hybrid
      # missing features: TRACING_DATA BRANCH_STACK GROUP_DESC AUXTRACE STAT CLOCKID DIR_FORMAT COMPRESSED CPU_PMU_CAPS CLOCK_DATA
    
    For the perf.data generated on non-hybrid platform
    
      root@kbl-ppc:~# perf report --header-only -I
    
      # cpu pmu capabilities: branches=32, max_precise=3, pmu_name=skylake
      # missing features: TRACING_DATA BRANCH_STACK GROUP_DESC AUXTRACE STAT CLOCKID DIR_FORMAT COMPRESSED CLOCK_DATA HYBRID_TOPOLOGY HYBRID_CPU_PMU_CAPS
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Acked-by: default avatarJiri 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/20210514122948.9472-3-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    e119083b
header.h 4.08 KB