Message ID | 20220901151804.294823-1-nick.forrington@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf vendor events: Add missing Neoverse V1 events | expand |
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>
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
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
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
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.
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" - } -]
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