linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Jing Zhang <renyu.zj@linux.alibaba.com>
To: Ian Rogers <irogers@google.com>
Cc: John Garry <john.g.garry@oracle.com>,
	Xing Zhengjun <zhengjun.xing@linux.intel.com>,
	Will Deacon <will@kernel.org>, James Clark <james.clark@arm.com>,
	Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Andrew Kilroy <andrew.kilroy@arm.com>,
	Shuai Xue <xueshuai@linux.alibaba.com>,
	Zhuo Song <zhuo.song@linux.alibaba.com>
Subject: Re: [PATCH v5 2/6] perf vendor events arm64: Add TLB metrics for neoverse-n2
Date: Wed, 4 Jan 2023 16:40:13 +0800	[thread overview]
Message-ID: <d90c35db-c801-02ba-d9ea-148324a1de13@linux.alibaba.com> (raw)
In-Reply-To: <14a2ca08-e946-f319-e2a8-f5f91e1eb8e6@linux.alibaba.com>



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

I rethought it. I want to change the ScaleUnit to "1MPKI" and keep the MetricExpr multiplied by 1000,
so that the "MetricExpr" expresses the value of per kilo instruciton, which can be consistent with the
description in "BriefDescription". Like:
   {
        "MetricExpr": "DTLB_WALK / INST_RETIRED * 1000",
        "BriefDescription": "The rate of TLB Walks per kilo instructions for data accesses",
        "MetricGroup": "TLB",
        "MetricName": "dtlb_mpki",
        "ScaleUnit": "1MPKI"
    },


In addition, I think it is more reasonable for ScaleUnit to have a default scale factor of 1 when there
is no number. I want to try to fix this bug.

Ian, what's your opnion?


>>> +    },
>>> +    {
>>> +        "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
>>>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-01-04  8:54 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-03 11:39 [PATCH v5 0/6] Add metrics for neoverse-n2 Jing Zhang
2023-01-03 11:39 ` [PATCH v5 1/6] perf vendor events arm64: Add topdown L1 " Jing Zhang
2023-01-03 11:52   ` John Garry
2023-01-04  5:05     ` Jing Zhang
2023-01-04 17:26       ` John Garry
2023-01-05 10:05         ` Jing Zhang
2023-01-05 10:13           ` John Garry
2023-01-05 11:02             ` Jing Zhang
2023-01-05 21:13             ` Ian Rogers
2023-01-06 10:14               ` John Garry
2023-01-06 10:34                 ` Jing Zhang
2023-01-09 15:34                 ` James Clark
2023-01-11  6:14                   ` Ian Rogers
2023-01-03 11:39 ` [PATCH v5 2/6] perf vendor events arm64: Add TLB " Jing Zhang
2023-01-03 17:14   ` Ian Rogers
2023-01-04  5:21     ` Jing Zhang
2023-01-04  8:40       ` Jing Zhang [this message]
2023-01-04 16:57         ` Ian Rogers
2023-01-03 11:39 ` [PATCH v5 3/6] perf vendor events arm64: Add cache " Jing Zhang
2023-01-03 11:39 ` [PATCH v5 4/6] perf vendor events arm64: Add branch " Jing Zhang
2023-01-03 11:39 ` [PATCH v5 5/6] perf vendor events arm64: Add PE utilization " Jing Zhang
2023-01-03 11:39 ` [PATCH v5 6/6] perf vendor events arm64: Add instruction mix " Jing Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d90c35db-c801-02ba-d9ea-148324a1de13@linux.alibaba.com \
    --to=renyu.zj@linux.alibaba.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andrew.kilroy@arm.com \
    --cc=irogers@google.com \
    --cc=james.clark@arm.com \
    --cc=john.g.garry@oracle.com \
    --cc=jolsa@kernel.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mike.leach@linaro.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=will@kernel.org \
    --cc=xueshuai@linux.alibaba.com \
    --cc=zhengjun.xing@linux.intel.com \
    --cc=zhuo.song@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).