Re: [RFC PATCH v2 3/6] perf vendor events arm64: Add cache metrics for neoverse-n2

Jing Zhang
2022-11-15T06:28:56Z

在 2022/11/14 下午4:35, Xing Zhengjun 写道:
>
>
> On 11/14/2022 3:41 PM, Jing Zhang wrote:
>> Add cache related metrics.
>>
>> Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
>> ---
>>   .../arch/arm64/arm/neoverse-n2/metrics.json        | 77 ++++++++++++++++++++++
>>   1 file changed, 77 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 324ca12..1690ef6 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
>> @@ -54,5 +54,82 @@
>>           "BriefDescription": "The rate of DTLB Walks to the overall TLB lookups",
>>           "MetricGroup": "TLB",
>>           "MetricName": "dtlb_walk_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "L1I_CACHE_REFILL / INST_RETIRED * 1000",
>> +        "PublicDescription": "The rate of L1 I-Cache misses per kilo instructions",
>> +        "BriefDescription": "The rate of L1 I-Cache misses per kilo instructions",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l1i_cache_mpki"
>> +    },
>> +    {
>> +        "MetricExpr": "L1I_CACHE_REFILL / L1I_CACHE",
>> +        "PublicDescription": "The rate of L1 I-Cache misses to the overall L1 I-Cache",
>> +        "BriefDescription": "The rate of L1 I-Cache misses to the overall L1 I-Cache",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l1i_cache_miss_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "L1D_CACHE_REFILL / INST_RETIRED * 1000",
>> +        "PublicDescription": "The rate of L1 D-Cache misses per kilo instructions",
>> +        "BriefDescription": "The rate of L1 D-Cache misses per kilo instructions",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l1d_cache_mpki"
>> +    },
>> +    {
>> +        "MetricExpr": "L1D_CACHE_REFILL / L1D_CACHE",
>> +        "PublicDescription": "The rate of L1 D-Cache misses to the overall L1 D-Cache",
>> +        "BriefDescription": "The rate of L1 D-Cache misses to the overall L1 D-Cache",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l1d_cache_miss_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "L2D_CACHE_REFILL / INST_RETIRED * 1000",
>> +        "PublicDescription": "The rate of L2 D-Cache misses per kilo instructions",
>> +        "BriefDescription": "The rate of L2 D-Cache misses per kilo instructions",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l2d_cache_mpki"
>> +    },
>> +    {
>> +        "MetricExpr": "L2D_CACHE_REFILL / L2D_CACHE",
>> +        "PublicDescription": "The rate of L2 D-Cache misses to the overall L2 D-Cache",
>> +        "BriefDescription": "The rate of L2 D-Cache misses to the overall L2 D-Cache",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l2d_cache_miss_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "L3D_CACHE_REFILL / INST_RETIRED * 1000",
>> +        "PublicDescription": "The rate of L3 D-Cache misses per kilo instructions",
>> +        "BriefDescription": "The rate of L3 D-Cache misses per kilo instructions",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l3d_cache_mpki"
>> +    },
>> +    {
>> +        "MetricExpr": "L3D_CACHE_REFILL / L3D_CACHE",
>> +        "PublicDescription": "The rate of L3 D-Cache misses to the overall L3 D-Cache",
>> +        "BriefDescription": "The rate of L3 D-Cache misses to the overall L3 D-Cache",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "l3d_cache_miss_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "LL_CACHE_MISS_RD / INST_RETIRED * 1000",
>> +        "PublicDescription": "The rate of LL Cache read misses per kilo instructions",
>> +        "BriefDescription": "The rate of LL Cache read misses per kilo instructions",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "ll_cache_read_mpki"
>> +    },
>> +    {
>> +        "MetricExpr": "LL_CACHE_MISS_RD / LL_CACHE_RD",
>> +        "PublicDescription": "The rate of LL Cache read misses to the overall LL Cache read",
>> +        "BriefDescription": "The rate of LL Cache read misses to the overall LL Cache read",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "ll_cache_read_miss_rate"
>> +    },
>> +    {
>> +        "MetricExpr": "(LL_CACHE_RD - LL_CACHE_MISS_RD) / LL_CACHE_RD",
>> +        "PublicDescription": "The rate of LL Cache read hit to the overall LL Cache read",
>> +        "BriefDescription": "The rate of LL Cache read hit to the overall LL Cache read",
>> +        "MetricGroup": "Cache",
>> +        "MetricName": "ll_cache_read_hit_rate"
>>       }
>>   ]
>> \ No newline at end of file
>
> It is better to fix this by adding a newline at the end of the file.
>
OK, thanks for pointing it out.