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

Message ID 1668411720-3581-4-git-send-email-renyu.zj@linux.alibaba.com
State New
Headers
Series Add metrics for neoverse-n2 |

Commit Message

Jing Zhang Nov. 14, 2022, 7:41 a.m. UTC
  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(+)
  

Comments

Xing Zhengjun Nov. 14, 2022, 8:35 a.m. UTC | #1
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.
  
Jing Zhang Nov. 15, 2022, 6:28 a.m. UTC | #2
在 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.
  

Patch

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