Based on updated data from:
https://github.com/ARM-software/data/blob/master/pmu/neoverse-v1.json
which is based on PMU event descriptions from the Arm Neoverse V1
Technical Reference Manual.
This adds the following missing events:
ASE_INST_SPEC
SVE_INST_SPEC
SVE_PRED_SPEC
SVE_PRED_EMPTY_SPEC
SVE_PRED_FULL_SPEC
SVE_PRED_PARTIAL_SPEC
SVE_LDFF_SPEC
SVE_LDFF_FAULT_SPEC
FP_SCALE_OPS_SPEC
FP_FIXED_OPS_SPEC
It also moves REMOTE_ACCESS from other.json to memory.json.
Signed-off-by: Nick Forrington <[email protected]>
---
.../arm64/arm/neoverse-v1/instruction.json | 30 +++++++++++++++++++
.../arch/arm64/arm/neoverse-v1/memory.json | 3 ++
.../arch/arm64/arm/neoverse-v1/other.json | 5 ----
3 files changed, 33 insertions(+), 5 deletions(-)
delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/other.json
diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/instruction.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/instruction.json
index 25825e14c535..e29b88fb7f24 100644
--- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/instruction.json
+++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/instruction.json
@@ -85,5 +85,35 @@
},
{
"ArchStdEvent": "RC_ST_SPEC"
+ },
+ {
+ "ArchStdEvent": "ASE_INST_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_INST_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_PRED_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_PRED_EMPTY_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_PRED_FULL_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_PRED_PARTIAL_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_LDFF_SPEC"
+ },
+ {
+ "ArchStdEvent": "SVE_LDFF_FAULT_SPEC"
+ },
+ {
+ "ArchStdEvent": "FP_SCALE_OPS_SPEC"
+ },
+ {
+ "ArchStdEvent": "FP_FIXED_OPS_SPEC"
}
]
diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json
index e3d08f1f7c92..5aff6e93c1ad 100644
--- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json
+++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json
@@ -2,6 +2,9 @@
{
"ArchStdEvent": "MEM_ACCESS"
},
+ {
+ "ArchStdEvent": "REMOTE_ACCESS"
+ },
{
"ArchStdEvent": "MEM_ACCESS_RD"
},
diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/other.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/other.json
deleted file mode 100644
index 20d8365756c5..000000000000
--- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/other.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[
- {
- "ArchStdEvent": "REMOTE_ACCESS"
- }
-]
--
2.25.1
On 01/09/2022 16:18, Nick Forrington wrote:
> Based on updated data from:
> https://github.com/ARM-software/data/blob/master/pmu/neoverse-v1.json
>
> which is based on PMU event descriptions from the Arm Neoverse V1
> Technical Reference Manual.
>
> This adds the following missing events:
> ASE_INST_SPEC
> SVE_INST_SPEC
> SVE_PRED_SPEC
> SVE_PRED_EMPTY_SPEC
> SVE_PRED_FULL_SPEC
> SVE_PRED_PARTIAL_SPEC
> SVE_LDFF_SPEC
> SVE_LDFF_FAULT_SPEC
> FP_SCALE_OPS_SPEC
> FP_FIXED_OPS_SPEC
>
> It also moves REMOTE_ACCESS from other.json to memory.json.
Any specific reason why? I see that neoverse n2 and a76-n1 still use
"other" json for REMOTE_ACCESS. Nicer to be consistent.
>
> Signed-off-by: Nick Forrington<[email protected]>
> ---
Apart from above:
Reviewed-by: John Garry <[email protected]>
On 02/09/2022 09:04, John Garry wrote:
> On 01/09/2022 16:18, Nick Forrington wrote:
>> Based on updated data from:
>> https://github.com/ARM-software/data/blob/master/pmu/neoverse-v1.json
>>
>> which is based on PMU event descriptions from the Arm Neoverse V1
>> Technical Reference Manual.
>>
>> This adds the following missing events:
>> ASE_INST_SPEC
>> SVE_INST_SPEC
>> SVE_PRED_SPEC
>> SVE_PRED_EMPTY_SPEC
>> SVE_PRED_FULL_SPEC
>> SVE_PRED_PARTIAL_SPEC
>> SVE_LDFF_SPEC
>> SVE_LDFF_FAULT_SPEC
>> FP_SCALE_OPS_SPEC
>> FP_FIXED_OPS_SPEC
>>
>> It also moves REMOTE_ACCESS from other.json to memory.json.
>
> Any specific reason why? I see that neoverse n2 and a76-n1 still use
> "other" json for REMOTE_ACCESS. Nicer to be consistent.
Thanks John, I agree on consistency.
I think memory is a better categorisation (for all CPUs), and this is
consistent with what I submitted for various Cortex CPUs a while back.
I'd be happy to remove the REMOTE_ACCESS change here and update (or not)
REMOTE_ACCESS for Neoverse separately.
>
>>
>> Signed-off-by: Nick Forrington<[email protected]>
>> ---
>
> Apart from above:
> Reviewed-by: John Garry <[email protected]>
Thanks, Nick
Em Fri, Sep 02, 2022 at 03:12:49PM +0100, Nick Forrington escreveu:
> On 02/09/2022 09:04, John Garry wrote:
> > On 01/09/2022 16:18, Nick Forrington wrote:
> > > Based on updated data from:
> > > https://github.com/ARM-software/data/blob/master/pmu/neoverse-v1.json
> > >
> > > which is based on PMU event descriptions from the Arm Neoverse V1
> > > Technical Reference Manual.
> > >
> > > This adds the following missing events:
> > > ASE_INST_SPEC
> > > SVE_INST_SPEC
> > > SVE_PRED_SPEC
> > > SVE_PRED_EMPTY_SPEC
> > > SVE_PRED_FULL_SPEC
> > > SVE_PRED_PARTIAL_SPEC
> > > SVE_LDFF_SPEC
> > > SVE_LDFF_FAULT_SPEC
> > > FP_SCALE_OPS_SPEC
> > > FP_FIXED_OPS_SPEC
> > >
> > > It also moves REMOTE_ACCESS from other.json to memory.json.
> >
> > Any specific reason why? I see that neoverse n2 and a76-n1 still use
> > "other" json for REMOTE_ACCESS. Nicer to be consistent.
>
> Thanks John, I agree on consistency.
>
> I think memory is a better categorisation (for all CPUs), and this is
> consistent with what I submitted for various Cortex CPUs a while back.
Were those patches processed or is some still outstanding?
> I'd be happy to remove the REMOTE_ACCESS change here and update (or not)
> REMOTE_ACCESS for Neoverse separately.
>
> >
> > >
> > > Signed-off-by: Nick Forrington<[email protected]>
> > > ---
> >
> > Apart from above:
> > Reviewed-by: John Garry <[email protected]>
> Thanks, Nick
So, how should we proceed?
- Arnaldo
On 02/09/2022 20:25, Arnaldo Carvalho de Melo wrote:
>> Thanks John, I agree on consistency.
>>
>> I think memory is a better categorisation (for all CPUs), and this is
>> consistent with what I submitted for various Cortex CPUs a while back.
> Were those patches processed or is some still outstanding?
>
>> I'd be happy to remove the REMOTE_ACCESS change here and update (or not)
>> REMOTE_ACCESS for Neoverse separately.
>>
>>>> Signed-off-by: Nick Forrington<[email protected]>
>>>> ---
>>> Apart from above:
>>> Reviewed-by: John Garry<[email protected]>
>> Thanks, Nick
> So, how should we proceed?
To me it would be better to just update the categorization of the
REMOTE_ACCESS event for all cortex cores separately and just add the
missing Neoverse v1 events here.
Thanks,
John
On 02/09/2022 20:25, Arnaldo Carvalho de Melo wrote:
> Em Fri, Sep 02, 2022 at 03:12:49PM +0100, Nick Forrington escreveu:
>> On 02/09/2022 09:04, John Garry wrote:
>>> On 01/09/2022 16:18, Nick Forrington wrote:
>>>> Based on updated data from:
>>>> https://github.com/ARM-software/data/blob/master/pmu/neoverse-v1.json
>>>>
>>>> which is based on PMU event descriptions from the Arm Neoverse V1
>>>> Technical Reference Manual.
>>>>
>>>> This adds the following missing events:
>>>> ASE_INST_SPEC
>>>> SVE_INST_SPEC
>>>> SVE_PRED_SPEC
>>>> SVE_PRED_EMPTY_SPEC
>>>> SVE_PRED_FULL_SPEC
>>>> SVE_PRED_PARTIAL_SPEC
>>>> SVE_LDFF_SPEC
>>>> SVE_LDFF_FAULT_SPEC
>>>> FP_SCALE_OPS_SPEC
>>>> FP_FIXED_OPS_SPEC
>>>>
>>>> It also moves REMOTE_ACCESS from other.json to memory.json.
>>> Any specific reason why? I see that neoverse n2 and a76-n1 still use
>>> "other" json for REMOTE_ACCESS. Nicer to be consistent.
>> Thanks John, I agree on consistency.
>>
>> I think memory is a better categorisation (for all CPUs), and this is
>> consistent with what I submitted for various Cortex CPUs a while back.
> Were those patches processed or is some still outstanding?
Those were processed.
(REMOTE_ACCESS appears in memory.json for the Cortex JSON files)
>
>> I'd be happy to remove the REMOTE_ACCESS change here and update (or not)
>> REMOTE_ACCESS for Neoverse separately.
>>
>>>> Signed-off-by: Nick Forrington<[email protected]>
>>>> ---
>>> Apart from above:
>>> Reviewed-by: John Garry <[email protected]>
>> Thanks, Nick
> So, how should we proceed?
>
> - Arnaldo
I'll update this patch to remove the REMOTE_ACCESS change, and submit a
separate patch to make REMOTE_ACCESS categorisation consistent across
all CPUs.