[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3119fb80-d8aa-167a-5a6a-27a90abd3f04@linux.intel.com>
Date: Wed, 28 Sep 2022 11:05:43 -0400
From: "Liang, Kan" <kan.liang@...ux.intel.com>
To: Ian Rogers <irogers@...gle.com>
Cc: Zhengjun Xing <zhengjun.xing@...ux.intel.com>,
Andi Kleen <ak@...ux.intel.com>, perry.taylor@...el.com,
caleb.biggers@...el.com, kshipra.bopardikar@...el.com,
samantha.alt@...el.com, ahmad.yasin@...el.com,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
John Garry <john.garry@...wei.com>,
James Clark <james.clark@....com>,
Kajol Jain <kjain@...ux.ibm.com>,
Thomas Richter <tmricht@...ux.ibm.com>,
Miaoqian Lin <linmq006@...il.com>,
Florian Fischer <florian.fischer@...q.space>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH v1 00/22] Improvements to Intel perf metrics
On 2022-09-28 10:04 a.m., Ian Rogers wrote:
> On Wed, Sep 28, 2022 at 5:56 AM Liang, Kan <kan.liang@...ux.intel.com> wrote:
>>
>>
>>
>> On 2022-09-28 3:21 a.m., Ian Rogers wrote:
>>> For consistency with:
>>> https://github.com/intel/perfmon-metrics
>>> rename of topdown TMA metrics from Frontend_Bound to tma_frontend_bound.
>>>
>>
>> If so, all the scripts with the old name must be broken on the existing
>> platforms. Can we keep both old name and new name for the existing
>> platforms?
>>
>> For the event naming, if we want to rename an event. We still keep the
>> old name and mark it as deprecated in the existing platforms to maintain
>> compatibility.
>>
>> Can we do the similar thing for metrics?
>> For the existing platforms, just add all the metrics from the
>> perfmon-metrics and don't change the existing metrics unless they have
>> errors.
>>
>> Thanks,
>> Kan
>
> Thanks Kan,
>
> Do we have examples of scripts that will be impacted by this? My
> thoughts are that such scripts are likely using TopdownL1 as a metric
> group, the metrics within that group vary and names may change over
> time. For example, on hybrid there is Backend_Bound_Aux. Given the
> existing state, such compatibility is only required for level 1
> metrics on CNL CPX CLX KBLR/CFL/CML SKX SKL/KBL BDX BDW HSX HSW IVT
> IVB JKT/SNB-EP SNB. Injecting either a metric group or an aliasing
> metric is messy and when can we stop carrying the patch? There hasn't
> been discussion of doing this in the context of:
> https://github.com/intel/perfmon-metrics
> I'd suggest that this is a good time for script writers to change how
> they use particular metrics and derive the information instead from
> groups like TopdownL1.
So the rename only impacts the Topdown metrics, right?
We still keep the old group name, TopdownL1.
If so, I agree. It only makes sense when collect in a Top-down group,
not specific metrics.
Thanks,
Kan
> This will also make them robust to changes in
> the TMA metrics CSV files, another win.
>
> Thanks,
> Ian
>
>
>>> Remove _SMT suffix metrics are dropped as the #SMT_On and #EBS_Mode
>>> are correctly expanded in the single main metric. Fix perf expr to
>>> allow a double if to be correctly processed.
>>>
>>> Add all 6 levels of TMA metrics. Child metrics are placed in a group
>>> named after their parent allowing children of a metric to be
>>> easily measured using the metric name with a _group suffix.
>>>
>>> Don't drop TMA metrics if they contain topdown events.
>>>
>>> The ## and ##? operators are correctly expanded.
>>>
>>> The locate-with column is added to the long description describing a
>>> sampling event.
>>>
>>> Metrics are written in terms of other metrics to reduce the expression
>>> size and increase readability.
>>>
>>> Following this the pmu-events/arch/x86 directories match those created
>>> by the script at:
>>> https://github.com/intel/event-converter-for-linux-perf/blob/master/download_and_gen.py
>>> with updates at:
>>> https://github.com/captain5050/event-converter-for-linux-perf
>>>
>>> Ian Rogers (22):
>>> perf expr: Allow a double if expression
>>> perf expr: Remove jevents case workaround
>>> perf metrics: Don't scale counts going into metrics
>>> perf vendor events: Update Intel skylakex
>>> perf vendor events: Update Intel alderlake
>>> perf vendor events: Update Intel broadwell
>>> perf vendor events: Update Intel broadwellx
>>> perf vendor events: Update Intel cascadelakex
>>> perf vendor events: Update elkhartlake cpuids
>>> perf vendor events: Update Intel haswell
>>> perf vendor events: Update Intel haswellx
>>> perf vendor events: Update Intel icelake
>>> perf vendor events: Update Intel icelakex
>>> perf vendor events: Update Intel ivybridge
>>> perf vendor events: Update Intel ivytown
>>> perf vendor events: Update Intel jaketown
>>> perf vendor events: Update Intel sandybridge
>>> perf vendor events: Update Intel sapphirerapids
>>> perf vendor events: Update silvermont cpuids
>>> perf vendor events: Update Intel skylake
>>> perf vendor events: Update Intel tigerlake
>>> perf vendor events: Update Intel broadwellde
>>>
>>> .../arch/x86/alderlake/adl-metrics.json | 1215 ++++++++++++++++-
>>> .../pmu-events/arch/x86/alderlake/cache.json | 129 +-
>>> .../arch/x86/alderlake/frontend.json | 12 +
>>> .../pmu-events/arch/x86/alderlake/memory.json | 22 +
>>> .../pmu-events/arch/x86/alderlake/other.json | 22 +
>>> .../arch/x86/alderlake/pipeline.json | 14 +-
>>> .../arch/x86/broadwell/bdw-metrics.json | 603 ++++++--
>>> .../arch/x86/broadwellde/bdwde-metrics.json | 639 +++++++--
>>> .../arch/x86/broadwellx/bdx-metrics.json | 644 +++++++--
>>> .../arch/x86/broadwellx/uncore-cache.json | 10 +-
>>> .../x86/broadwellx/uncore-interconnect.json | 18 +-
>>> .../arch/x86/broadwellx/uncore-memory.json | 18 +-
>>> .../arch/x86/cascadelakex/clx-metrics.json | 893 ++++++++----
>>> .../arch/x86/cascadelakex/uncore-memory.json | 18 +-
>>> .../arch/x86/cascadelakex/uncore-other.json | 10 +-
>>> .../pmu-events/arch/x86/haswell/cache.json | 4 +-
>>> .../pmu-events/arch/x86/haswell/frontend.json | 12 +-
>>> .../arch/x86/haswell/hsw-metrics.json | 502 +++++--
>>> .../pmu-events/arch/x86/haswellx/cache.json | 2 +-
>>> .../arch/x86/haswellx/frontend.json | 12 +-
>>> .../arch/x86/haswellx/hsx-metrics.json | 707 +++++++---
>>> .../x86/haswellx/uncore-interconnect.json | 18 +-
>>> .../arch/x86/haswellx/uncore-memory.json | 18 +-
>>> .../pmu-events/arch/x86/icelake/cache.json | 6 +-
>>> .../arch/x86/icelake/icl-metrics.json | 725 +++++++++-
>>> .../pmu-events/arch/x86/icelake/pipeline.json | 2 +-
>>> .../pmu-events/arch/x86/icelakex/cache.json | 6 +-
>>> .../arch/x86/icelakex/icx-metrics.json | 794 ++++++++++-
>>> .../arch/x86/icelakex/pipeline.json | 2 +-
>>> .../arch/x86/icelakex/uncore-other.json | 2 +-
>>> .../arch/x86/ivybridge/ivb-metrics.json | 525 +++++--
>>> .../pmu-events/arch/x86/ivytown/cache.json | 4 +-
>>> .../arch/x86/ivytown/floating-point.json | 2 +-
>>> .../pmu-events/arch/x86/ivytown/frontend.json | 18 +-
>>> .../arch/x86/ivytown/ivt-metrics.json | 558 ++++++--
>>> .../arch/x86/ivytown/uncore-cache.json | 58 +-
>>> .../arch/x86/ivytown/uncore-interconnect.json | 84 +-
>>> .../arch/x86/ivytown/uncore-memory.json | 2 +-
>>> .../arch/x86/ivytown/uncore-other.json | 6 +-
>>> .../arch/x86/ivytown/uncore-power.json | 8 +-
>>> .../arch/x86/jaketown/jkt-metrics.json | 291 ++--
>>> tools/perf/pmu-events/arch/x86/mapfile.csv | 18 +-
>>> .../arch/x86/sandybridge/snb-metrics.json | 279 +++-
>>> .../arch/x86/sapphirerapids/cache.json | 4 +-
>>> .../arch/x86/sapphirerapids/frontend.json | 11 +
>>> .../arch/x86/sapphirerapids/pipeline.json | 4 +-
>>> .../arch/x86/sapphirerapids/spr-metrics.json | 858 +++++++++++-
>>> .../arch/x86/skylake/skl-metrics.json | 774 ++++++++---
>>> .../arch/x86/skylakex/skx-metrics.json | 859 +++++++++---
>>> .../arch/x86/skylakex/uncore-memory.json | 18 +-
>>> .../arch/x86/skylakex/uncore-other.json | 19 +-
>>> .../arch/x86/tigerlake/tgl-metrics.json | 727 +++++++++-
>>> tools/perf/tests/expr.c | 4 +
>>> tools/perf/util/expr.c | 11 +-
>>> tools/perf/util/expr.y | 2 +-
>>> tools/perf/util/stat-shadow.c | 9 +-
>>> 56 files changed, 10103 insertions(+), 2129 deletions(-)
>>>
Powered by blists - more mailing lists