[PATCH v3] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
TAKANO Mitsuhiro
takano32 at gmail.com
Fri Nov 6 18:21:45 PST 2026
AmpereOne named event 0x121 BPU_FLUSH_MEM_FAULT until
commit 10a149e4b4a9 ("perf vendor events arm64 AmpereOne: Rename
BPU_FLUSH_MEM_FAULT to GPC_FLUSH_MEM_FAULT") renamed it. The next patch
in that series, 16438b652b46, added the AmpereOneX tables with the old
name in memory.json, so 0x121 carries two names: GPC_FLUSH_MEM_FAULT in
core-imp-def.json and BPU_FLUSH_MEM_FAULT in memory.json, and the
default perf list output shows both. The old name has been in every
release since v6.8, so removing the name would break anything that
refers to it.
Mark the entry deprecated instead of deleting it, as Ian Rogers asked:
perf list then shows 0x121 once, and perf stat -e bpu_flush_mem_fault
keeps working. The x86 tables use the same wording, and the same
reasoning brought back deprecated AMD events in
commit eda39f98bbc5 ("perf vendor events amd: Reintroduce deprecated
Zen 5 core events"). The entry still registers event=0x121, and no
other event changes; after regenerating the tables only the two
descriptions and the deprecation flag differ.
perf list --deprecated still prints the name in the text output. perf
list -j cannot show deprecated events at all: the JSON printer honours
the flag, but --deprecated is wired only into the text print state, so
the JSON state never sees it. No metric expression and no other file
refers to either name.
The duplicate came in because jevents checks repeated names, not event
codes, and one encoding carrying several names is legitimate, so nothing
is added for that here. No AmpereOneX machine was available, so the
listing was not run on hardware; Ilkka Koskinen, who added both tables,
tried v1 and v2 and reports that they behave as expected, and his
Acked-by covers v2, which differs from this version only in that full
stop. The JSON edit and this changelog were written with an LLM
assistant, Hermes Agent, working from the code and the thread; the
checks above were run here.
Fixes: 16438b652b46 ("perf vendor events arm64 AmpereOneX: Add core PMU events and metrics")
Suggested-by: Ian Rogers <irogers at google.com>
Link: https://lore.kernel.org/20261021224527.167637-1-takano32@gmail.com
Link: https://lore.kernel.org/CAP-5=fX+2eRGCHcU43sqU=gi9iKvxqyS6ipwRSnvFcap3D+QzQ@mail.gmail.com
Link: https://lore.kernel.org/42801873-8908-07a6-aed1-c7076c689e8e@os.amperecomputing.com
Link: https://lore.kernel.org/a188c604-46c0-48fb-9cbd-9eacad88b5c9@linaro.org
Reviewed-by: James Clark <james.clark at linaro.org>
Acked-by: Ilkka Koskinen <ilkka at os.amperecomputing.com>
Signed-off-by: TAKANO Mitsuhiro <takano32 at gmail.com>
---
v3: add the full stop after the new event name, as James Clark
asked, and carry his Reviewed-by. Also correct three
statements in this changelog: the JSON printer does consult
the flag (the option is simply not wired to it),
regeneration changes the two descriptions as well as the
flag, and Ilkka Koskinen's Acked-by was given for v2.
.../perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json b/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
index 6c06bc928415..b0934a7b252c 100644
--- a/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
+++ b/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
@@ -35,9 +35,10 @@
"ArchStdEvent": "MEM_ACCESS_CHECKED_WR"
},
{
- "PublicDescription": "Flushes due to memory hazards",
+ "PublicDescription": "This event is deprecated. Refer to new event GPC_FLUSH_MEM_FAULT. Flushes due to memory hazards",
"EventCode": "0x121",
"EventName": "BPU_FLUSH_MEM_FAULT",
- "BriefDescription": "Flushes due to memory hazards"
+ "BriefDescription": "This event is deprecated. Refer to new event GPC_FLUSH_MEM_FAULT",
+ "Deprecated": "1"
}
]
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
--
2.53.0
More information about the linux-arm-kernel
mailing list