linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Garry <john.g.garry@oracle.com>
To: Jing Zhang <renyu.zj@linux.alibaba.com>,
	Ian Rogers <irogers@google.com>, Will Deacon <will@kernel.org>,
	Shuai Xue <xueshuai@linux.alibaba.com>,
	Robin Murphy <robin.murphy@arm.com>
Cc: James Clark <james.clark@arm.com>,
	Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Ilkka Koskinen <ilkka@os.amperecomputing.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-perf-users@vger.kernel.org,
	Zhuo Song <zhuo.song@linux.alibaba.com>
Subject: Re: [PATCH v3 2/7] perf metric: Event "Compat" value supports matching multiple identifiers
Date: Mon, 19 Jun 2023 08:07:47 +0100	[thread overview]
Message-ID: <d1ab4947-6bdf-2b9c-5b26-52c572611ca6@oracle.com> (raw)
In-Reply-To: <7c765e0f-ca76-d212-0496-f9c56369e389@linux.alibaba.com>

On 19/06/2023 03:58, Jing Zhang wrote:
>> +++ b/tools/perf/pmu-events/arch/arm64/arm/cmn/sys/metrics.json
>> @@ -0,0 +1,74 @@
>> +[
>> +    {
>> +        "MetricName": "slc_miss_rate",
>> +        "BriefDescription": "The system level cache miss rate include.",
>> +        "MetricGroup": "arm_cmn",
>> +        "MetricExpr": "hnf_cache_miss / hnf_slc_sf_cache_access",
>>
>> So this expression uses event aliases hnf_cache_miss and hnf_slc_sf_cache_access - where are they defined in a JSON?
>>
> Hi John,
> 
> I defined the aliases for these events in the JSON file during the RFC version. However, I later removed the alias
> definitions for these events in subsequent versions due to the possibility of non-uniqueness and difficulty in defining
> their EventCode. But this does not affect their usage in metrics. In other words, metrics can use the aliases without
> defining event aliases in the JSON file.

Really? So how can we resolve the event aliases when we try to run the 
metric?

Please verify running these metrics with 'perf stat', like 'perf stat -v 
-M slc_miss_rate'

> 
> In the past, I always thought that the function of the alias was to explain the meaning of these events in the perf list.
> Or maybe I'm missing something?

Event aliases do give the ability to describe the event in perf list. 
But we can also run them for 'perf stat', like:

./perf list uncore
List of pre-defined events (to be used in -e or -M):

   uncore_cbox_0/clockticks/                          [Kernel PMU event]
   uncore_cbox_1/clockticks/                          [Kernel PMU event]
   uncore_imc/data_reads/                             [Kernel PMU event]
   uncore_imc/data_writes/                            [Kernel PMU event]
   uncore_imc/gt_requests/                            [Kernel PMU event]
   uncore_imc/ia_requests/                            [Kernel PMU event]
   uncore_imc/io_requests/                            [Kernel PMU event]

uncore cache:
   unc_cbo_cache_lookup.any_es
        [L3 Lookup any request that access cache and found line in E or 
S-state. Unit: uncore_cbox]
...

sudo ./perf stat -v -e unc_cbo_cache_lookup.any_es
Using CPUID GenuineIntel-6-3D-4
unc_cbo_cache_lookup.any_es -> uncore_cbox_0/event=0x34,umask=0x86/
unc_cbo_cache_lookup.any_es -> uncore_cbox_1/event=0x34,umask=0x86/
Control descriptor is not initialized
^Cunc_cbo_cache_lookup.any_es: 14361103 1853372468 1853372468
unc_cbo_cache_lookup.any_es: 14322188 1853360415 1853360415

  Performance counter stats for 'system wide':

         14,361,103      unc_cbo_cache_lookup.any_es 

         14,322,188      unc_cbo_cache_lookup.any_es 


        1.853388227 seconds time elapsed


Thanks,
John

  reply	other threads:[~2023-06-19  7:08 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-30  9:19 [PATCH v3 0/7] Add JSON metrics for arm CMN and Yitian710 DDR Jing Zhang
2023-05-30  9:19 ` [PATCH v3 1/7] driver/perf: Add identifier sysfs file for CMN Jing Zhang
2023-05-31  2:58   ` kernel test robot
2023-05-30  9:19 ` [PATCH v3 2/7] perf metric: Event "Compat" value supports matching multiple identifiers Jing Zhang
2023-05-31 13:18   ` John Garry
2023-06-01  8:58     ` Jing Zhang
2023-06-02 16:20       ` John Garry
2023-06-05  2:46         ` Jing Zhang
2023-06-05 19:39           ` Arnaldo Carvalho de Melo
2023-06-15  3:41             ` Jing Zhang
2023-06-23 23:52               ` Namhyung Kim
2023-06-25  8:55                 ` Jing Zhang
2023-06-06 14:11           ` John Garry
2023-06-08  9:44             ` Jing Zhang
2023-06-12 18:15               ` John Garry
2023-06-13 16:36                 ` John Garry
2023-06-15  2:18                   ` Jing Zhang
2023-06-16 11:41                     ` John Garry
2023-06-19  2:58                       ` Jing Zhang
2023-06-19  7:07                         ` John Garry [this message]
2023-06-19  8:59                           ` Jing Zhang
2023-06-19  9:31                             ` John Garry
2023-06-20  2:12                               ` Jing Zhang
2023-06-20  7:01                                 ` John Garry
2023-06-21  3:15                                   ` Jing Zhang
2023-06-06 16:27         ` Robin Murphy
2023-06-08 10:11           ` Jing Zhang
2023-05-30  9:19 ` [PATCH v3 3/7] perf vendor events: Add JSON metrics for CMN Jing Zhang
2023-05-31  1:18   ` Ian Rogers
2023-06-01  9:03     ` Jing Zhang
2023-05-31  2:43   ` Shuai Xue
2023-06-01  9:06     ` Jing Zhang
2023-05-30  9:19 ` [PATCH v3 4/7] driver/perf: Add identifier sysfs file for Yitian 710 DDR Jing Zhang
2023-05-30  9:19 ` [PATCH v3 5/7] perf jevents: Add support for Yitian 710 DDR PMU aliasing Jing Zhang
2023-05-30  9:19 ` [PATCH v3 6/7] perf vendor events: Add JSON metrics for Yitian 710 DDR Jing Zhang
2023-05-30  9:19 ` [PATCH v3 7/7] docs: perf: Update metric usage for Alibaba's T-Head PMU driver Jing Zhang
2023-05-31  1:19   ` Ian Rogers

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=d1ab4947-6bdf-2b9c-5b26-52c572611ca6@oracle.com \
    --to=john.g.garry@oracle.com \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ilkka@os.amperecomputing.com \
    --cc=irogers@google.com \
    --cc=james.clark@arm.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=namhyung@kernel.org \
    --cc=renyu.zj@linux.alibaba.com \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    --cc=xueshuai@linux.alibaba.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).