Messages in this thread | | | Date | Sat, 19 Nov 2022 11:30:29 +0800 | Subject | Re: [PATCH RFC 0/6] Add metrics for neoverse-n2 | From | Jing Zhang <> |
| |
在 2022/11/16 下午7:19, James Clark 写道: > > > On 31/10/2022 11:11, Jing Zhang wrote: >> This series add six metricgroups for neoverse-n2, among which, the >> formula of topdown L1 is from the document: >> https://documentation-service.arm.com/static/60250c7395978b529036da86?token= >> >> Since neoverse-n2 does not yet support topdown L2, metricgroups such >> as Cache, TLB, Branch, InstructionsMix, and PEutilization are added to >> help further analysis of performance bottlenecks. >> > > Hi Jing, > > Thanks for working on this, these metrics look ok to me in general, > although we're currently working on publishing standardised metrics > across all new cores as part of a new project in Arm. This will include > N2, and our ones are very similar (or almost identical) to yours, > barring slightly different group names, metric names, and differences in > things like outputting topdown metrics as percentages. > > We plan to publish our standard metrics some time in the next 2 months. > Would you consider holding off on merging this change so that we have > consistant group names and units going forward? Otherwise N2 would be > the odd one out. I will send you the metrics when they are ready, and we > will have a script to generate perf jsons from them, so you can review. > > We also have a slightly different forumula for one of the top down > metrics which I think would be slightly more accurate. We don't have > anything for your "PE utilization" metrics, which I can raise > internally. It could always be added to perf on top of the standardised > ones if we don't add it to our standard ones. > > Thanks > James >
Hi James,
Regarding the arm n2 standard metrics last time, is my understanding correct, and does it meet your meaning? If so, may I ask when you will send me the standards you formulate so that I can align with you in time over my patchset. Please communicate this matter so that we can understand each other's schedule.
Thanks, Jing
>> with this series on neoverse-n2: >> >> $./perf list metricgroup >> >> List of pre-defined events (to be used in -e): >> >> >> Metric Groups: >> >> Branch >> Cache >> InstructionMix >> PEutilization >> TLB >> TopDownL1 >> >> >> $./perf list >> >> ... >> Metric Groups: >> >> Branch: >> branch_miss_pred_rate >> [The rate of branches mis-predited to the overall branches] >> branch_mpki >> [The rate of branches mis-predicted per kilo instructions] >> branch_pki >> [The rate of branches retired per kilo instructions] >> Cache: >> l1d_cache_miss_rate >> [The rate of L1 D-Cache misses to the overall L1 D-Cache] >> l1d_cache_mpki >> [The rate of L1 D-Cache misses per kilo instructions] >> ... >> >> >> $sudo ./perf stat -a -M TLB sleep 1 >> >> Performance counter stats for 'system wide': >> >> 35,861,936 L1I_TLB # 0.00 itlb_walk_rate (74.91%) >> 5,661 ITLB_WALK (74.91%) >> 97,279,240 INST_RETIRED # 0.07 itlb_mpki (74.91%) >> 6,851 ITLB_WALK (74.91%) >> 26,391 DTLB_WALK # 0.00 dtlb_walk_rate (75.07%) >> 35,585,545 L1D_TLB (75.07%) >> 85,923,244 INST_RETIRED # 0.35 dtlb_mpki (75.11%) >> 29,992 DTLB_WALK (75.11%) >> >> 1.003450755 seconds time elapsed >> >> >> Jing Zhang (6): >> perf vendor events arm64: Add topdown L1 metrics for neoverse-n2 >> perf vendor events arm64: Add TLB metrics for neoverse-n2 >> perf vendor events arm64: Add cache metrics for neoverse-n2 >> perf vendor events arm64: Add branch metrics for neoverse-n2 >> perf vendor events arm64: Add PE utilization metrics for neoverse-n2 >> perf vendor events arm64: Add instruction mix metrics for neoverse-n2 >> >> .../arch/arm64/arm/neoverse-n2/metrics.json | 247 +++++++++++++++++++++ >> 1 file changed, 247 insertions(+) >> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json >>
| |