lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ