* [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
@ 2026-10-21 22:45 TAKANO Mitsuhiro
2026-10-21 22:48 ` sashiko-bot
2026-10-27 20:34 ` Arnaldo Carvalho de Melo
0 siblings, 2 replies; 13+ messages in thread
From: TAKANO Mitsuhiro @ 2026-10-21 22:45 UTC (permalink / raw)
To: linux-perf-users, Arnaldo Carvalho de Melo
Cc: Namhyung Kim, Ian Rogers, Ilkka Koskinen, John Garry,
TAKANO Mitsuhiro
AmpereOne carried BPU_FLUSH_MEM_FAULT for EventCode 0x121 until it was
renamed to GPC_FLUSH_MEM_FAULT in 10a149e4b4a9; that rename and the
AmpereOneX table were patches 3 and 4 of the same series, so the new file
kept the old name.
The result is a table that names the 0x121 counter twice:
ampereonex/core-imp-def.json has GPC_FLUSH_MEM_FAULT, and
ampereonex/memory.json adds BPU_FLUSH_MEM_FAULT with the same code and
the same description. On AmpereOneX perf therefore lists two events for
one counter, one of them under a name the documentation does not use.
No metric and no other file refers to either name, so removing the stale
entry cannot change a metric.
It also leaves memory.json holding only the ArchStdEvent aliases the
other files of that kind carry: AmpereOne's memory.json has no raw
EventCode at all, and neither has any other file of the AmpereOneX set
except the ones where raw codes belong.
Nothing catches this at build time. jevents.py asserts on duplicate
event names, but x86 repeats an EventCode for many events because the
code carries umask and unit bits (3756 times across its tables) and
powerpc repeats five codes, so a duplicate-code check is not possible.
arm64 is the only architecture where no table but this one repeats a
code.
Not tested on hardware: there is no AmpereOneX machine here, so perf was
not run against the real PMU. The change only edits a JSON table; the
perf build was verified and the generated table for this PMU goes from
two names for 0x121 to one (rebuilt, counted in pmu-events.c).
Fixes: 16438b652b46 ("perf vendor events arm64 AmpereOneX: Add core PMU events and metrics")
Assisted-by: LLM
Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
---
.../pmu-events/arch/arm64/ampere/ampereonex/memory.json | 6 ------
1 file changed, 6 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..2a83782f51b0 100644
--- a/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
+++ b/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
@@ -33,11 +33,5 @@
},
{
"ArchStdEvent": "MEM_ACCESS_CHECKED_WR"
- },
- {
- "PublicDescription": "Flushes due to memory hazards",
- "EventCode": "0x121",
- "EventName": "BPU_FLUSH_MEM_FAULT",
- "BriefDescription": "Flushes due to memory hazards"
}
]
base-commit: f47d223627f80cb7a1eb14c585fe6cb35de5e984
--
2.53.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-21 22:45 [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry TAKANO Mitsuhiro
@ 2026-10-21 22:48 ` sashiko-bot
2026-10-27 20:34 ` Arnaldo Carvalho de Melo
1 sibling, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-10-21 22:48 UTC (permalink / raw)
To: TAKANO Mitsuhiro, linux-perf-users
> AmpereOne carried BPU_FLUSH_MEM_FAULT for EventCode 0x121 until it was
> renamed to GPC_FLUSH_MEM_FAULT in 10a149e4b4a9; that rename and the
> AmpereOneX table were patches 3 and 4 of the same series, so the new file
> kept the old name.
>
> The result is a table that names the 0x121 counter twice:
> ampereonex/core-imp-def.json has GPC_FLUSH_MEM_FAULT, and
> ampereonex/memory.json adds BPU_FLUSH_MEM_FAULT with the same code and
> the same description. On AmpereOneX perf therefore lists two events for
> one counter, one of them under a name the documentation does not use.
> No metric and no other file refers to either name, so removing the stale
> entry cannot change a metric.
>
> It also leaves memory.json holding only the ArchStdEvent aliases the
> other files of that kind carry: AmpereOne's memory.json has no raw
> [ ... ]
> two names for 0x121 to one (rebuilt, counted in pmu-events.c).
>
> Fixes: 16438b652b46 ("perf vendor events arm64 AmpereOneX: Add core PMU events and metrics")
> Assisted-by: LLM
> Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261021224527.167637-1-takano32@gmail.com?part=1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-21 22:45 [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry TAKANO Mitsuhiro
2026-10-21 22:48 ` sashiko-bot
@ 2026-10-27 20:34 ` Arnaldo Carvalho de Melo
2026-10-27 21:37 ` Ian Rogers
1 sibling, 1 reply; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-10-27 20:34 UTC (permalink / raw)
To: Ilkka Koskinen
Cc: TAKANO Mitsuhiro, linux-perf-users, Namhyung Kim, Ian Rogers,
John Garry
On Wed, Oct 21, 2026 at 10:45:27PM +0000, TAKANO Mitsuhiro wrote:
> AmpereOne carried BPU_FLUSH_MEM_FAULT for EventCode 0x121 until it was
> renamed to GPC_FLUSH_MEM_FAULT in 10a149e4b4a9; that rename and the
> AmpereOneX table were patches 3 and 4 of the same series, so the new file
> kept the old name.
>
> The result is a table that names the 0x121 counter twice:
> ampereonex/core-imp-def.json has GPC_FLUSH_MEM_FAULT, and
> ampereonex/memory.json adds BPU_FLUSH_MEM_FAULT with the same code and
> the same description. On AmpereOneX perf therefore lists two events for
> one counter, one of them under a name the documentation does not use.
> No metric and no other file refers to either name, so removing the stale
> entry cannot change a metric.
>
> It also leaves memory.json holding only the ArchStdEvent aliases the
> other files of that kind carry: AmpereOne's memory.json has no raw
> EventCode at all, and neither has any other file of the AmpereOneX set
> except the ones where raw codes belong.
> Nothing catches this at build time. jevents.py asserts on duplicate
> event names, but x86 repeats an EventCode for many events because the
> code carries umask and unit bits (3756 times across its tables) and
> powerpc repeats five codes, so a duplicate-code check is not possible.
> arm64 is the only architecture where no table but this one repeats a
> code.
Maybe a followup improvement to jevents.py?
> Not tested on hardware: there is no AmpereOneX machine here, so perf was
> not run against the real PMU. The change only edits a JSON table; the
> perf build was verified and the generated table for this PMU goes from
> two names for 0x121 to one (rebuilt, counted in pmu-events.c).
Ilkka, can I have your Reviewed-by or Acked-by?
Thanks,
- Arnaldo
> Fixes: 16438b652b46 ("perf vendor events arm64 AmpereOneX: Add core PMU events and metrics")
> Assisted-by: LLM
> Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
> ---
> .../pmu-events/arch/arm64/ampere/ampereonex/memory.json | 6 ------
> 1 file changed, 6 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..2a83782f51b0 100644
> --- a/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
> +++ b/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/memory.json
> @@ -33,11 +33,5 @@
> },
> {
> "ArchStdEvent": "MEM_ACCESS_CHECKED_WR"
> - },
> - {
> - "PublicDescription": "Flushes due to memory hazards",
> - "EventCode": "0x121",
> - "EventName": "BPU_FLUSH_MEM_FAULT",
> - "BriefDescription": "Flushes due to memory hazards"
> }
> ]
>
> base-commit: f47d223627f80cb7a1eb14c585fe6cb35de5e984
> --
> 2.53.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-27 20:34 ` Arnaldo Carvalho de Melo
@ 2026-10-27 21:37 ` Ian Rogers
2026-10-29 1:09 ` Ilkka Koskinen
2026-10-30 5:37 ` TAKANO Mitsuhiro
0 siblings, 2 replies; 13+ messages in thread
From: Ian Rogers @ 2026-10-27 21:37 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ilkka Koskinen, TAKANO Mitsuhiro, linux-perf-users, Namhyung Kim,
John Garry
On Tue, Oct 27, 2026 at 1:34 PM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Wed, Oct 21, 2026 at 10:45:27PM +0000, TAKANO Mitsuhiro wrote:
> > AmpereOne carried BPU_FLUSH_MEM_FAULT for EventCode 0x121 until it was
> > renamed to GPC_FLUSH_MEM_FAULT in 10a149e4b4a9; that rename and the
> > AmpereOneX table were patches 3 and 4 of the same series, so the new file
> > kept the old name.
> >
> > The result is a table that names the 0x121 counter twice:
> > ampereonex/core-imp-def.json has GPC_FLUSH_MEM_FAULT, and
> > ampereonex/memory.json adds BPU_FLUSH_MEM_FAULT with the same code and
> > the same description. On AmpereOneX perf therefore lists two events for
> > one counter, one of them under a name the documentation does not use.
> > No metric and no other file refers to either name, so removing the stale
> > entry cannot change a metric.
> >
> > It also leaves memory.json holding only the ArchStdEvent aliases the
> > other files of that kind carry: AmpereOne's memory.json has no raw
> > EventCode at all, and neither has any other file of the AmpereOneX set
> > except the ones where raw codes belong.
>
> > Nothing catches this at build time. jevents.py asserts on duplicate
> > event names, but x86 repeats an EventCode for many events because the
> > code carries umask and unit bits (3756 times across its tables) and
> > powerpc repeats five codes, so a duplicate-code check is not possible.
> > arm64 is the only architecture where no table but this one repeats a
> > code.
>
> Maybe a followup improvement to jevents.py?
It is expected that events may share an event code but they may be
differentiated by unit masks, filters, etc. We might have identical
encodings even with these extra differentiators, due to old and new
event names.
> > Not tested on hardware: there is no AmpereOneX machine here, so perf was
> > not run against the real PMU. The change only edits a JSON table; the
> > perf build was verified and the generated table for this PMU goes from
> > two names for 0x121 to one (rebuilt, counted in pmu-events.c).
>
> Ilkka, can I have your Reviewed-by or Acked-by?
An alternative to deleting the event is to add:
"Deprecated": "1",
as that makes the event not show up in perf list. Using Deprecated
means that anyone using the event name won't be broken by this change.
Thanks,
Ian
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-27 21:37 ` Ian Rogers
@ 2026-10-29 1:09 ` Ilkka Koskinen
2026-10-30 5:37 ` TAKANO Mitsuhiro
1 sibling, 0 replies; 13+ messages in thread
From: Ilkka Koskinen @ 2026-10-29 1:09 UTC (permalink / raw)
To: Ian Rogers
Cc: Arnaldo Carvalho de Melo, Ilkka Koskinen, TAKANO Mitsuhiro,
linux-perf-users, Namhyung Kim, John Garry
[-- Attachment #1: Type: text/plain, Size: 2713 bytes --]
On Tue, 27 Oct 2026, Ian Rogers wrote:
> On Tue, Oct 27, 2026 at 1:34 PM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
>>
>> On Wed, Oct 21, 2026 at 10:45:27PM +0000, TAKANO Mitsuhiro wrote:
>>> AmpereOne carried BPU_FLUSH_MEM_FAULT for EventCode 0x121 until it was
>>> renamed to GPC_FLUSH_MEM_FAULT in 10a149e4b4a9; that rename and the
>>> AmpereOneX table were patches 3 and 4 of the same series, so the new file
>>> kept the old name.
>>>
>>> The result is a table that names the 0x121 counter twice:
>>> ampereonex/core-imp-def.json has GPC_FLUSH_MEM_FAULT, and
>>> ampereonex/memory.json adds BPU_FLUSH_MEM_FAULT with the same code and
>>> the same description. On AmpereOneX perf therefore lists two events for
>>> one counter, one of them under a name the documentation does not use.
>>> No metric and no other file refers to either name, so removing the stale
>>> entry cannot change a metric.
>>>
>>> It also leaves memory.json holding only the ArchStdEvent aliases the
>>> other files of that kind carry: AmpereOne's memory.json has no raw
>>> EventCode at all, and neither has any other file of the AmpereOneX set
>>> except the ones where raw codes belong.
>>
>>> Nothing catches this at build time. jevents.py asserts on duplicate
>>> event names, but x86 repeats an EventCode for many events because the
>>> code carries umask and unit bits (3756 times across its tables) and
>>> powerpc repeats five codes, so a duplicate-code check is not possible.
>>> arm64 is the only architecture where no table but this one repeats a
>>> code.
>>
>> Maybe a followup improvement to jevents.py?
>
> It is expected that events may share an event code but they may be
> differentiated by unit masks, filters, etc. We might have identical
> encodings even with these extra differentiators, due to old and new
> event names.
>
>>> Not tested on hardware: there is no AmpereOneX machine here, so perf was
>>> not run against the real PMU. The change only edits a JSON table; the
>>> perf build was verified and the generated table for this PMU goes from
>>> two names for 0x121 to one (rebuilt, counted in pmu-events.c).
>>
>> Ilkka, can I have your Reviewed-by or Acked-by?
>
> An alternative to deleting the event is to add:
> "Deprecated": "1",
> as that makes the event not show up in perf list. Using Deprecated
> means that anyone using the event name won't be broken by this change.
Sorry, I somehow missed the original email.
Takano, thanks for the patch!
That seems like a bug I made, when I tried to address the specification
change. I'm fine with either option, taking the patch or set the event to
"Deprecated".
Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Cheers, Ilkka
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-27 21:37 ` Ian Rogers
2026-10-29 1:09 ` Ilkka Koskinen
@ 2026-10-30 5:37 ` TAKANO Mitsuhiro
2026-11-02 19:09 ` Ilkka Koskinen
1 sibling, 1 reply; 13+ messages in thread
From: TAKANO Mitsuhiro @ 2026-10-30 5:37 UTC (permalink / raw)
To: Ian Rogers
Cc: Arnaldo Carvalho de Melo, Ilkka Koskinen, linux-perf-users,
Namhyung Kim, TAKANO Mitsuhiro
Hi Ian,
Agreed, and v2 is in this thread: the entry stays and is marked
deprecated, with the description worded the way the x86 tables word it,
so perf list shows the counter once and a script that names
BPU_FLUSH_MEM_FAULT keeps working.
Ilkka, your Acked-by is on v2 as well, since you said either option was
fine -- say so and I will drop it rather than have it look like you
acked a diff you did not read.
On Arnaldo's jevents.py question: a general duplicate-EventCode check is
not possible for the reasons you gave. Across the 1463 raw EventCode
entries under arch/arm64 this is the only duplicated code, so a check
limited to those tables would flag this and nothing else in the tree
today. I can send that separately if it is thought worth having.
Thanks,
Mitsuhiro
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry
2026-10-30 5:37 ` TAKANO Mitsuhiro
@ 2026-11-02 19:09 ` Ilkka Koskinen
2026-11-03 11:26 ` [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT TAKANO Mitsuhiro
0 siblings, 1 reply; 13+ messages in thread
From: Ilkka Koskinen @ 2026-11-02 19:09 UTC (permalink / raw)
To: TAKANO Mitsuhiro
Cc: Ian Rogers, Arnaldo Carvalho de Melo, Ilkka Koskinen,
linux-perf-users, Namhyung Kim
Hi Mitsuhiro,
On Fri, 30 Oct 2026, TAKANO Mitsuhiro wrote:
> Hi Ian,
>
> Agreed, and v2 is in this thread: the entry stays and is marked
> deprecated, with the description worded the way the x86 tables word it,
> so perf list shows the counter once and a script that names
> BPU_FLUSH_MEM_FAULT keeps working.
>
> Ilkka, your Acked-by is on v2 as well, since you said either option was
> fine -- say so and I will drop it rather than have it look like you
> acked a diff you did not read.
You can add Acked-by to v2 as well if you just add the Deprecated line. I
tested both the versions quickly and they work as expected.
Cheers, Ilkka
>
> On Arnaldo's jevents.py question: a general duplicate-EventCode check is
> not possible for the reasons you gave. Across the 1463 raw EventCode
> entries under arch/arm64 this is the only duplicated code, so a check
> limited to those tables would flag this and nothing else in the tree
> today. I can send that separately if it is thought worth having.
>
> Thanks,
> Mitsuhiro
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-02 19:09 ` Ilkka Koskinen
@ 2026-11-03 11:26 ` TAKANO Mitsuhiro
2026-11-03 11:29 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: TAKANO Mitsuhiro @ 2026-11-03 11:26 UTC (permalink / raw)
To: linux-perf-users, Arnaldo Carvalho de Melo
Cc: Namhyung Kim, Ian Rogers, John Garry, James Clark, Will Deacon,
linux-kernel, linux-arm-kernel, TAKANO Mitsuhiro, Ilkka Koskinen
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 deleting it would break scripts that use it.
Mark the entry deprecated instead of deleting it, as Ian Rogers asked:
perf list then shows 0x121 once while those scripts keep working. The
x86 tables use the same wording, and
commit eda39f98bbc5 ("perf vendor events amd: Reintroduce deprecated
Zen 5 core events") brought back deprecated AMD events for the same
reason. The flag is only read when listing; the entry still registers
event=0x121, so perf stat -e bpu_flush_mem_fault resolves as before, and
regenerating the tables changes nothing but that flag.
perf list --deprecated still prints the name in the text output; the
JSON path does not consult the flag, so perf list -j cannot show 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 is for this variant. 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@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
Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
---
v2: keep the entry and mark it deprecated instead of deleting it,
as Ian Rogers suggested, and word both descriptions the way
the x86 tables do. Ilkka Koskinen Acked-by v1 and asked for it
to be carried over to v2; the description wording was added on
top of that, as said in this thread.
v1: https://lore.kernel.org/20261021224527.167637-1-takano32@gmail.com
.../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..114f95e41e0d 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
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-03 11:26 ` [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT TAKANO Mitsuhiro
@ 2026-11-03 11:29 ` sashiko-bot
2026-11-03 12:07 ` James Clark
2026-11-07 2:21 ` [PATCH v3] " TAKANO Mitsuhiro
2 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-11-03 11:29 UTC (permalink / raw)
To: TAKANO Mitsuhiro, linux-perf-users
> 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 deleting it would break scripts that use it.
>
> Mark the entry deprecated instead of deleting it, as Ian Rogers asked:
> perf list then shows 0x121 once while those scripts keep working. The
> x86 tables use the same wording, and
> commit eda39f98bbc5 ("perf vendor events amd: Reintroduce deprecated
> Zen 5 core events") brought back deprecated AMD events for the same
> reason. The flag is only read when listing; the entry still registers
> [ ... ]
> 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
> Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
> Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261103112609.3772250-1-takano32@gmail.com?part=1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-03 11:26 ` [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT TAKANO Mitsuhiro
2026-11-03 11:29 ` sashiko-bot
@ 2026-11-03 12:07 ` James Clark
2026-11-07 2:21 ` [PATCH v3] " TAKANO Mitsuhiro
2 siblings, 0 replies; 13+ messages in thread
From: James Clark @ 2026-11-03 12:07 UTC (permalink / raw)
To: TAKANO Mitsuhiro
Cc: Namhyung Kim, Ian Rogers, John Garry, Will Deacon, linux-kernel,
linux-arm-kernel, Ilkka Koskinen, linux-perf-users,
Arnaldo Carvalho de Melo
On 03/11/2026 11:26, TAKANO Mitsuhiro wrote:
> 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 deleting it would break scripts that use it.
>
> Mark the entry deprecated instead of deleting it, as Ian Rogers asked:
> perf list then shows 0x121 once while those scripts keep working. The
> x86 tables use the same wording, and
> commit eda39f98bbc5 ("perf vendor events amd: Reintroduce deprecated
> Zen 5 core events") brought back deprecated AMD events for the same
> reason. The flag is only read when listing; the entry still registers
> event=0x121, so perf stat -e bpu_flush_mem_fault resolves as before, and
> regenerating the tables changes nothing but that flag.
> perf list --deprecated still prints the name in the text output; the
> JSON path does not consult the flag, so perf list -j cannot show 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 is for this variant. 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@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
> Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
> Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
> ---
> v2: keep the entry and mark it deprecated instead of deleting it,
> as Ian Rogers suggested, and word both descriptions the way
> the x86 tables do. Ilkka Koskinen Acked-by v1 and asked for it
> to be carried over to v2; the description wording was added on
> top of that, as said in this thread.
> v1: https://lore.kernel.org/20261021224527.167637-1-takano32@gmail.com
>
> .../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..114f95e41e0d 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",
Extremely minor nit, but there should be a full stop before 'Flushes'.
But if marking it deprecated makes it not show in Perf list, then it
doesn't make a difference.
Reviewed-by: James Clark <james.clark@linaro.org>
> "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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-03 11:26 ` [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT TAKANO Mitsuhiro
2026-11-03 11:29 ` sashiko-bot
2026-11-03 12:07 ` James Clark
@ 2026-11-07 2:21 ` TAKANO Mitsuhiro
2026-11-07 2:24 ` sashiko-bot
2026-11-11 19:09 ` Namhyung Kim
2 siblings, 2 replies; 13+ messages in thread
From: TAKANO Mitsuhiro @ 2026-11-07 2:21 UTC (permalink / raw)
To: linux-perf-users, Arnaldo Carvalho de Melo
Cc: Namhyung Kim, Ian Rogers, John Garry, James Clark, Will Deacon,
linux-kernel, linux-arm-kernel, TAKANO Mitsuhiro, Ilkka Koskinen
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@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@linaro.org>
Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: TAKANO Mitsuhiro <takano32@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
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-07 2:21 ` [PATCH v3] " TAKANO Mitsuhiro
@ 2026-11-07 2:24 ` sashiko-bot
2026-11-11 19:09 ` Namhyung Kim
1 sibling, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-11-07 2:24 UTC (permalink / raw)
To: TAKANO Mitsuhiro, linux-perf-users
> 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
> [ ... ]
> 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@linaro.org>
> Acked-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
> Signed-off-by: TAKANO Mitsuhiro <takano32@gmail.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261107022145.1713159-1-takano32@gmail.com?part=1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT
2026-11-07 2:21 ` [PATCH v3] " TAKANO Mitsuhiro
2026-11-07 2:24 ` sashiko-bot
@ 2026-11-11 19:09 ` Namhyung Kim
1 sibling, 0 replies; 13+ messages in thread
From: Namhyung Kim @ 2026-11-11 19:09 UTC (permalink / raw)
To: linux-perf-users, Arnaldo Carvalho de Melo, TAKANO Mitsuhiro
Cc: Ian Rogers, John Garry, James Clark, Will Deacon, linux-kernel,
linux-arm-kernel, Ilkka Koskinen
On Sat, 07 Nov 2026 02:21:45 +0000, TAKANO Mitsuhiro wrote:
> 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.
>
> [...]
Applied to perf-tools-next, thanks!
Best regards
Namhyung
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-11-11 19:09 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-21 22:45 [PATCH] perf vendor events arm64 AmpereOneX: Drop stale BPU_FLUSH_MEM_FAULT entry TAKANO Mitsuhiro
2026-10-21 22:48 ` sashiko-bot
2026-10-27 20:34 ` Arnaldo Carvalho de Melo
2026-10-27 21:37 ` Ian Rogers
2026-10-29 1:09 ` Ilkka Koskinen
2026-10-30 5:37 ` TAKANO Mitsuhiro
2026-11-02 19:09 ` Ilkka Koskinen
2026-11-03 11:26 ` [PATCH v2] perf vendor events arm64 AmpereOneX: Deprecate BPU_FLUSH_MEM_FAULT TAKANO Mitsuhiro
2026-11-03 11:29 ` sashiko-bot
2026-11-03 12:07 ` James Clark
2026-11-07 2:21 ` [PATCH v3] " TAKANO Mitsuhiro
2026-11-07 2:24 ` sashiko-bot
2026-11-11 19:09 ` Namhyung Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox