• Kan Liang's avatar
    perf pmu: Fix parser error for uncore event alias · e94d6b7f
    Kan Liang authored
    Perf fails to parse uncore event alias, for example:
    
      # perf stat -e unc_m_clockticks -a --no-merge sleep 1
      event syntax error: 'unc_m_clockticks'
                           \___ parser error
    
    Current code assumes that the event alias is from one specific PMU.
    
    To find the PMU, perf strcmps the PMU name of event alias with the real
    PMU name on the system.
    
    However, the uncore event alias may be from multiple PMUs with common
    prefix. The PMU name of uncore event alias is the common prefix.
    
    For example, UNC_M_CLOCKTICKS is clock event for iMC, which include 6
    PMUs with the same prefix "uncore_imc" on a skylake server.
    
    The real PMU names on the system for iMC are uncore_imc_0 ...
    uncore_imc_5.
    
    The strncmp is used to only check the common prefix for uncore event
    alias.
    
    With the patch:
    
      # perf stat -e unc_m_clockticks -a --no-merge sleep 1
      Performance counter stats for 'system wide':
    
           723,594,722      unc_m_clockticks [uncore_imc_5]
           724,001,954      unc_m_clockticks [uncore_imc_3]
           724,042,655      unc_m_clockticks [uncore_imc_1]
           724,161,001      unc_m_clockticks [uncore_imc_4]
           724,293,713      unc_m_clockticks [uncore_imc_2]
           724,340,901      unc_m_clockticks [uncore_imc_0]
    
           1.002090060 seconds time elapsed
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Cc: stable@vger.kernel.org
    Fixes: ea1fa48c ("perf stat: Handle different PMU names with common prefix")
    Link: http://lkml.kernel.org/r/1552672814-156173-1-git-send-email-kan.liang@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    e94d6b7f
pmu.c 32.3 KB