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

Jing Zhang renyu.zj at linux.alibaba.com
Tue Jan 3 21:21:18 PST 2023



在 2023/1/4 上午1:14, Ian Rogers 写道:
> On Tue, Jan 3, 2023 at 3:39 AM Jing Zhang <renyu.zj at linux.alibaba.com> wrote:
>>
>> Add TLB related metrics.
>>
>> Signed-off-by: Jing Zhang <renyu.zj at linux.alibaba.com>
>> Acked-by: Ian Rogers <irogers at google.com>
>> ---
>>  .../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
>>



More information about the linux-arm-kernel mailing list