• K
    perf pmu: Fix core PMU alias list for X86 platform · 292c34c1
    Kan Liang 提交于
    When counting uncore event with alias, core event is mistakenly
    involved, for example:
    
      perf stat --no-merge -e "unc_m_cas_count.all" -C0  sleep 1
    
      Performance counter stats for 'CPU(s) 0':
    
                     0      unc_m_cas_count.all [uncore_imc_4]
                     0      unc_m_cas_count.all [uncore_imc_2]
                     0      unc_m_cas_count.all [uncore_imc_0]
               153,640      unc_m_cas_count.all [cpu]
                     0      unc_m_cas_count.all [uncore_imc_5]
                25,026      unc_m_cas_count.all [uncore_imc_3]
                     0      unc_m_cas_count.all [uncore_imc_1]
    
           1.001447890 seconds time elapsed
    
    The reason is that current implementation doesn't check PMU name of a
    event when adding its alias into the alias list for core PMU. The
    uncore event aliases are mistakenly added.
    
    This bug was introduced in:
      commit 14b22ae0 ("perf pmu: Add helper function is_pmu_core to
      detect PMU CORE devices")
    
    Checking the PMU name for all PMUs on X86 and other architectures except
    ARM.
    There is no behavior change for ARM.
    Signed-off-by: NKan Liang <kan.liang@linux.intel.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Agustin Vega-Frias <agustinv@codeaurora.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Fixes: 14b22ae0 ("perf pmu: Add helper function is_pmu_core to detect PMU CORE devices")
    Link: http://lkml.kernel.org/r/1524594014-79243-1-git-send-email-kan.liang@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    292c34c1
pmu.c 30.2 KB