67 lines
2.4 KiB
Diff
67 lines
2.4 KiB
Diff
From 2ac7b40783b55cb6bef9489062d1812abf1b85da Mon Sep 17 00:00:00 2001
|
|
From: John Garry <john.garry@huawei.com>
|
|
Date: Wed, 17 Jun 2020 17:01:53 +0800
|
|
Subject: [PATCH 103/201] perf pmu: List kernel supplied event aliases for
|
|
arm64
|
|
|
|
mainline inclusion
|
|
from mainline-v5.9-rc1
|
|
commit 0a507af9c681ac2adedc5fe1b2d534e27be85446
|
|
category: feature
|
|
bugzilla: https://gitee.com/openeuler/kernel/issues/I8C0CX
|
|
|
|
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0a507af9c681ac2adedc5fe1b2d534e27be85446
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
In commit dc098b35b56f ("perf list: List kernel supplied event aliases"),
|
|
the aliases for events are supplied in addition to CPU event in perf list.
|
|
|
|
This relies on the name of the core PMU being "cpu", which is not the case
|
|
for arm64, so arm64 has always missed this. Use generic is_pmu_core()
|
|
helper which takes account of arm64 to make this feature work for arm64
|
|
(and possibly other archs).
|
|
|
|
Sample, before:
|
|
|
|
armv8_pmuv3_0/br_mis_pred/ [Kernel PMU event]
|
|
|
|
after:
|
|
|
|
br_mis_pred OR armv8_pmuv3_0/br_mis_pred/ [Kernel PMU event]
|
|
|
|
Signed-off-by: John Garry <john.garry@huawei.com>
|
|
Acked-by: Jiri Olsa <jolsa@redhat.com>
|
|
Acked-by: Namhyung Kim <namhyung@kernel.org>
|
|
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
|
|
Cc: Andi Kleen <ak@linux.intel.com>
|
|
Cc: Ian Rogers <irogers@google.com>
|
|
Cc: Mark Rutland <mark.rutland@arm.com>
|
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Cc: Will Deacon <will@kernel.org>
|
|
Cc: linux-arm-kernel@lists.infradead.org
|
|
Cc: linuxarm@huawei.com
|
|
Link: http://lore.kernel.org/lkml/1592384514-119954-2-git-send-email-john.garry@huawei.com
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
Signed-off-by: hongrongxuan <hongrongxuan@huawei.com>
|
|
---
|
|
tools/perf/util/pmu.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
|
|
index 7217b8fac00d..cf1b43bddc85 100644
|
|
--- a/tools/perf/util/pmu.c
|
|
+++ b/tools/perf/util/pmu.c
|
|
@@ -1454,7 +1454,7 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet_flag,
|
|
list_for_each_entry(alias, &pmu->aliases, list) {
|
|
char *name = alias->desc ? alias->name :
|
|
format_alias(buf, sizeof(buf), pmu, alias);
|
|
- bool is_cpu = !strcmp(pmu->name, "cpu");
|
|
+ bool is_cpu = is_pmu_core(pmu->name);
|
|
|
|
if (alias->deprecated && !deprecated)
|
|
continue;
|
|
--
|
|
2.27.0
|
|
|