[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251231-james-perf-uncountable-events-v1-1-f2d9932999fd@linaro.org>
Date: Wed, 31 Dec 2025 12:12:28 +0000
From: James Clark <james.clark@...aro.org>
To: John Garry <john.g.garry@...cle.com>, Will Deacon <will@...nel.org>,
Mike Leach <mike.leach@...aro.org>, Leo Yan <leo.yan@...ux.dev>,
Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Akio Kakuno <fj3333bs@...jp.fujitsu.com>,
Yoshihiro Furudera <fj5100bi@...itsu.com>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-perf-users@...r.kernel.org, James Clark <james.clark@...aro.org>
Subject: [PATCH] perf vendor events arm64: Remove uncountable events
These events are never countable by the PMU and are only intended to
be used as external inputs to trace. Therefore showing them in 'perf
list' is misleading so remove them.
The generator script doesn't emit these events when used with the new
telemetry-solution input files [1].
'perf list' should only show countable events because there are events
that are sometimes implemented, sometimes countable and sometimes not,
for example TRB_TRIG. If we always include any implemented events
whether they are countable or not then it's not possible to tell whether
they are usable in perf without going to the docs, defeating the point
of 'perf list'.
It's also not useful yet to display implemented events that are not
countable (for help in using trace rather than perf stat), because
PMU_OVFS and PMU_HOVFS are practically always implemented and TRB_TRIG
is always implemented when there is TRBE.
[1]: https://gitlab.arm.com/telemetry-solution/telemetry-solution/-/tree/main/data/pmu/cpu
Signed-off-by: James Clark <james.clark@...aro.org>
---
tools/perf/pmu-events/arch/arm64/arm/cortex-a510/pmu.json | 8 --------
tools/perf/pmu-events/arch/arm64/common-and-microarch.json | 12 ------------
tools/perf/pmu-events/arch/arm64/fujitsu/monaka/pmu.json | 10 ----------
3 files changed, 30 deletions(-)
diff --git a/tools/perf/pmu-events/arch/arm64/arm/cortex-a510/pmu.json b/tools/perf/pmu-events/arch/arm64/arm/cortex-a510/pmu.json
deleted file mode 100644
index d8b7b9f9e5fa..000000000000
--- a/tools/perf/pmu-events/arch/arm64/arm/cortex-a510/pmu.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "ArchStdEvent": "PMU_OVFS"
- },
- {
- "ArchStdEvent": "PMU_HOVFS"
- }
-]
diff --git a/tools/perf/pmu-events/arch/arm64/common-and-microarch.json b/tools/perf/pmu-events/arch/arm64/common-and-microarch.json
index 2416d9f8a83d..468cb085d879 100644
--- a/tools/perf/pmu-events/arch/arm64/common-and-microarch.json
+++ b/tools/perf/pmu-events/arch/arm64/common-and-microarch.json
@@ -432,24 +432,12 @@
"EventName": "TRB_WRAP",
"BriefDescription": "Trace buffer current write pointer wrapped"
},
- {
- "PublicDescription": "PMU overflow, counters accessible to EL1 and EL0",
- "EventCode": "0x400D",
- "EventName": "PMU_OVFS",
- "BriefDescription": "PMU overflow, counters accessible to EL1 and EL0"
- },
{
"PublicDescription": "Trace buffer Trigger Event",
"EventCode": "0x400E",
"EventName": "TRB_TRIG",
"BriefDescription": "Trace buffer Trigger Event"
},
- {
- "PublicDescription": "PMU overflow, counters reserved for use by EL2",
- "EventCode": "0x400F",
- "EventName": "PMU_HOVFS",
- "BriefDescription": "PMU overflow, counters reserved for use by EL2"
- },
{
"PublicDescription": "PE Trace Unit external output 0",
"EventCode": "0x4010",
diff --git a/tools/perf/pmu-events/arch/arm64/fujitsu/monaka/pmu.json b/tools/perf/pmu-events/arch/arm64/fujitsu/monaka/pmu.json
deleted file mode 100644
index 65bd6cdd0dd5..000000000000
--- a/tools/perf/pmu-events/arch/arm64/fujitsu/monaka/pmu.json
+++ /dev/null
@@ -1,10 +0,0 @@
-[
- {
- "ArchStdEvent": "PMU_OVFS",
- "BriefDescription": "This event counts the event generated each time one of the condition occurs described in Arm Architecture Reference Manual for A-profile architecture. This event is only for output to the trace unit."
- },
- {
- "ArchStdEvent": "PMU_HOVFS",
- "BriefDescription": "This event counts the event generated each time an event is counted by an event counter <n> and all of the condition occur described in Arm Architecture Reference Manual for A-profile architecture. This event is only for output to the trace unit."
- }
-]
---
base-commit: cbd41c6d4c26c161a2b0e70ad411d3885ff13507
change-id: 20251230-james-perf-uncountable-events-28adfb93b73f
Best regards,
--
James Clark <james.clark@...aro.org>
Powered by blists - more mailing lists