Re: [PATCH v5 2/6] perf vendor events arm64: Add TLB metrics for neoverse-n2

From: Jing Zhang
Date: Wed Jan 04 2023 - 00:21:33 EST




在 2023/1/4 上午1:14, Ian Rogers 写道:
> On Tue, Jan 3, 2023 at 3:39 AM Jing Zhang <renyu.zj@xxxxxxxxxxxxxxxxx> wrote:
>>
>> Add TLB related metrics.
>>
>> Signed-off-by: Jing Zhang <renyu.zj@xxxxxxxxxxxxxxxxx>
>> Acked-by: Ian Rogers <irogers@xxxxxxxxxx>
>> ---
>> .../arch/arm64/arm/neoverse-n2/metrics.json | 49 ++++++++++++++++++++++
>> 1 file changed, 49 insertions(+)
>>
>> diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json
>> index c126f1bc..8a74e07 100644
>> --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json
>> +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json
>> @@ -26,5 +26,54 @@
>> "MetricGroup": "TopdownL1",
>> "MetricName": "backend_bound",
>> "ScaleUnit": "100%"
>> + },
>> + {
>> + "MetricExpr": "L1D_TLB_REFILL / L1D_TLB",
>> + "BriefDescription": "The rate of L1D TLB refill to the overall L1D TLB lookups",
>> + "MetricGroup": "TLB",
>> + "MetricName": "l1d_tlb_miss_rate",
>> + "ScaleUnit": "100%"
>> + },
>> + {
>> + "MetricExpr": "L1I_TLB_REFILL / L1I_TLB",
>> + "BriefDescription": "The rate of L1I TLB refill to the overall L1I TLB lookups",
>> + "MetricGroup": "TLB",
>> + "MetricName": "l1i_tlb_miss_rate",
>> + "ScaleUnit": "100%"
>> + },
>> + {
>> + "MetricExpr": "L2D_TLB_REFILL / L2D_TLB",
>> + "BriefDescription": "The rate of L2D TLB refill to the overall L2D TLB lookups",
>> + "MetricGroup": "TLB",
>> + "MetricName": "l2_tlb_miss_rate",
>> + "ScaleUnit": "100%"
>> + },
>> + {
>> + "MetricExpr": "DTLB_WALK / INST_RETIRED * 1000",
>> + "BriefDescription": "The rate of TLB Walks per kilo instructions for data accesses",
>> + "MetricGroup": "TLB",
>> + "MetricName": "dtlb_mpki",
>> + "ScaleUnit": "MPKI"
>> + },
>> + {
>> + "MetricExpr": "DTLB_WALK / L1D_TLB",
>> + "BriefDescription": "The rate of DTLB Walks to the overall L1D TLB lookups",
>> + "MetricGroup": "TLB",
>> + "MetricName": "dtlb_walk_rate",
>> + "ScaleUnit": "100%"
>> + },
>> + {
>> + "MetricExpr": "ITLB_WALK / INST_RETIRED * 1000",
>> + "BriefDescription": "The rate of TLB Walks per kilo instructions for instruction accesses",
>> + "MetricGroup": "TLB",
>> + "MetricName": "itlb_mpki",
>> + "ScaleUnit": "MPKI"
>
> Did you test this? IIRC if there is no number in the ScaleUnit then
> the scale factor becomes 0 and the metric value is always multiplied
> by zero. Perhaps:
>
> "MetricName": "itlb_miss_rate",
> "MetricExpr": "ITLB / INST_RETIRED"
> "ScaleUnit": "1000MPKI"
>
> Thanks,
> Ian
>

You are absolutely right, I only tested TLB metrics. Sorry for not double checking. I will repost the corrected patches.

>> + },
>> + {
>> + "MetricExpr": "ITLB_WALK / L1I_TLB",
>> + "BriefDescription": "The rate of ITLB Walks to the overall L1I TLB lookups",
>> + "MetricGroup": "TLB",
>> + "MetricName": "itlb_walk_rate",
>> + "ScaleUnit": "100%"
>> }
>> ]
>> --
>> 1.8.3.1
>>