linux_dsm_epyc7002/tools/perf
Kan Liang 292c34c102 perf pmu: Fix core PMU alias list for X86 platform
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 14b22ae028 ("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: Kan Liang <kan.liang@linux.intel.com>
Tested-by: Arnaldo 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: 14b22ae028 ("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.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-04-24 16:02:29 -03:00
..
arch perf record: Fix s390 undefined record__auxtrace_init() return value 2018-04-23 12:05:02 -03:00
bench
Documentation perf mem: Document incorrect and missing options 2018-04-23 11:59:18 -03:00
jvmti
pmu-events perf list: Remove s390 specific strcmp_cpuid_cmp function 2018-04-23 11:03:13 -03:00
python
scripts
tests perf evsel: Disable write_backward for leader sampling group events 2018-04-23 11:21:56 -03:00
trace perf trace: Support MAP_FIXED_NOREPLACE 2018-04-18 15:34:52 -03:00
ui perf hists browser: Clarify top/report browser help 2018-04-18 15:35:49 -03:00
util perf pmu: Fix core PMU alias list for X86 platform 2018-04-24 16:02:29 -03:00
.gitignore
Build
builtin-annotate.c perf annotate: Introduce --ignore-vmlinux command line option 2018-03-21 12:53:42 -03:00
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c
builtin-c2c.c perf c2c report: Add cacheline address count column 2018-03-16 13:53:38 -03:00
builtin-config.c
builtin-data.c
builtin-diff.c
builtin-evlist.c
builtin-ftrace.c
builtin-help.c perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
builtin-inject.c
builtin-kallsyms.c
builtin-kmem.c
builtin-kvm.c perf mmap: Simplify perf_mmap__read_init() 2018-03-08 10:05:53 -03:00
builtin-list.c
builtin-lock.c
builtin-mem.c perf mem: Allow all record/report options 2018-04-18 15:35:48 -03:00
builtin-probe.c
builtin-record.c perf record: Synthesize features before events in pipe mode 2018-03-16 13:56:50 -03:00
builtin-report.c perf report: Introduce --ignore-vmlinux command line option 2018-03-21 12:53:42 -03:00
builtin-sched.c perf sched map: Re-annotate shortname if thread comm changed 2018-03-07 10:22:26 -03:00
builtin-script.c perf script: Extend misc field decoding with switch out event type 2018-04-17 09:47:39 -03:00
builtin-stat.c perf stat: Enable 1ms interval for printing event counters values 2018-04-12 09:29:31 -03:00
builtin-timechart.c
builtin-top.c perf annotate: Move the default annotate options to the library 2018-03-21 12:53:40 -03:00
builtin-trace.c perf trace: Remove redundant ')' 2018-04-03 16:16:41 -03:00
builtin-version.c perf version: Print status for syscall_table 2018-04-12 10:33:34 -03:00
builtin.h
check-headers.sh perf build: Fix check-headers.sh opts assignment 2018-03-27 13:13:38 -03:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
Makefile.perf perf tools: Fix perf builds with clang support 2018-04-09 11:13:07 -03:00
MANIFEST
perf-archive.sh
perf-completion.sh
perf-read-vdso.c
perf-sys.h
perf-with-kcore.sh
perf.c perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
perf.h perf tools: Add 'perf -vv' as an alias to 'perf version --build-options' 2018-04-02 13:50:35 -03:00