linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf vendor events: Add missing Neoverse V1 events
@ 2022-09-01 15:18 Nick Forrington
  2022-09-02  8:04 ` John Garry
  0 siblings, 1 reply; 6+ messages in thread
From: Nick Forrington @ 2022-09-01 15:18 UTC (permalink / raw)
  To: linux-kernel, linux-perf-users, acme
  Cc: Nick Forrington, John Garry, Will Deacon, James Clark,
	Mike Leach, Leo Yan, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, linux-arm-kernel

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 <nick.forrington@arm.com>
---
 .../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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf vendor events: Add missing Neoverse V1 events
  2022-09-01 15:18 [PATCH] perf vendor events: Add missing Neoverse V1 events Nick Forrington
@ 2022-09-02  8:04 ` John Garry
  2022-09-02 14:12   ` Nick Forrington
  0 siblings, 1 reply; 6+ messages in thread
From: John Garry @ 2022-09-02  8:04 UTC (permalink / raw)
  To: Nick Forrington, linux-kernel, linux-perf-users, acme
  Cc: Will Deacon, James Clark, Mike Leach, Leo Yan, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-arm-kernel

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<nick.forrington@arm.com>
> ---

Apart from above:
Reviewed-by: John Garry <john.garry@huawei.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf vendor events: Add missing Neoverse V1 events
  2022-09-02  8:04 ` John Garry
@ 2022-09-02 14:12   ` Nick Forrington
  2022-09-02 19:25     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 6+ messages in thread
From: Nick Forrington @ 2022-09-02 14:12 UTC (permalink / raw)
  To: John Garry, linux-kernel, linux-perf-users, acme
  Cc: Will Deacon, James Clark, Mike Leach, Leo Yan, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-arm-kernel

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<nick.forrington@arm.com>
>> ---
>
> Apart from above:
> Reviewed-by: John Garry <john.garry@huawei.com>
Thanks, Nick

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf vendor events: Add missing Neoverse V1 events
  2022-09-02 14:12   ` Nick Forrington
@ 2022-09-02 19:25     ` Arnaldo Carvalho de Melo
  2022-09-05  9:25       ` John Garry
  2022-09-05 11:19       ` Nick Forrington
  0 siblings, 2 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-09-02 19:25 UTC (permalink / raw)
  To: Nick Forrington
  Cc: John Garry, linux-kernel, linux-perf-users, Will Deacon,
	James Clark, Mike Leach, Leo Yan, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-arm-kernel

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<nick.forrington@arm.com>
> > > ---
> > 
> > Apart from above:
> > Reviewed-by: John Garry <john.garry@huawei.com>
> Thanks, Nick

So, how should we proceed?

- Arnaldo

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf vendor events: Add missing Neoverse V1 events
  2022-09-02 19:25     ` Arnaldo Carvalho de Melo
@ 2022-09-05  9:25       ` John Garry
  2022-09-05 11:19       ` Nick Forrington
  1 sibling, 0 replies; 6+ messages in thread
From: John Garry @ 2022-09-05  9:25 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Nick Forrington
  Cc: linux-kernel, linux-perf-users, Will Deacon, James Clark,
	Mike Leach, Leo Yan, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, linux-arm-kernel

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<nick.forrington@arm.com>
>>>> ---
>>> Apart from above:
>>> Reviewed-by: John Garry<john.garry@huawei.com>
>> 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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf vendor events: Add missing Neoverse V1 events
  2022-09-02 19:25     ` Arnaldo Carvalho de Melo
  2022-09-05  9:25       ` John Garry
@ 2022-09-05 11:19       ` Nick Forrington
  1 sibling, 0 replies; 6+ messages in thread
From: Nick Forrington @ 2022-09-05 11:19 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: John Garry, linux-kernel, linux-perf-users, Will Deacon,
	James Clark, Mike Leach, Leo Yan, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-arm-kernel


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<nick.forrington@arm.com>
>>>> ---
>>> Apart from above:
>>> Reviewed-by: John Garry <john.garry@huawei.com>
>> 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.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-09-05 14:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-01 15:18 [PATCH] perf vendor events: Add missing Neoverse V1 events Nick Forrington
2022-09-02  8:04 ` John Garry
2022-09-02 14:12   ` Nick Forrington
2022-09-02 19:25     ` Arnaldo Carvalho de Melo
2022-09-05  9:25       ` John Garry
2022-09-05 11:19       ` Nick Forrington

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).