Re: [PATCH v3 00/15] Event, metric and metric group improvements

From: Liang, Kan
Date: Wed May 17 2023 - 16:26:54 EST




On 2023-05-17 1:37 p.m., Ian Rogers wrote:
> Update Intel events to the latest at: https://github.com/intel/perfmon
> TMA info metrics are renamed for consistency and a fix is added that
> adds back in the Valkyrie metrics such as memory_bandwidth_total,
> memory_bandwidth_read and memory_bandwidth_write on icelakex.
>
> Add a new feature to perf list to show a description of a metricgroup
> via a new metricgroups.json file, add this for the generated Intel
> metrics. The descriptions looks like:
>
> ```
> $ perf list
> ...
> tma_frontend_bound_group: [Metrics contributing to tma_frontend_bound category]
> tma_fetch_bandwidth
> [This metric represents fraction of slots the CPU
> was stalled due to Frontend bandwidth issues]
> tma_fetch_latency
> [This metric represents fraction of slots the CPU
> was stalled due to Frontend latency issues]
> ...
> ```
>
> v2/v3. Reword "Grouping from metrics spreadsheet" to "Grouping from
> Top-down Microarchitecture Analysis Metrics spreadsheet" as
> suggested by Kan Liang.
>
> Ian Rogers (15):
> perf vendor events intel: Update alderlake events/metrics
> perf vendor events intel: Update broadwell variant events/metrics
> perf vendor events intel: Update cascadelakex events/metrics
> perf vendor events intel: Update elkhartlake events
> perf vendor events intel: Update haswell(x) metrics
> perf vendor events intel: Update icelake/icelakex events/metrics
> perf vendor events intel: Update ivybridge/ivytown metrics
> perf vendor events intel: Update jaketown metrics
> perf vendor events intel: Update sandybridge metrics
> perf vendor events intel: Update sapphirerapids events/metrics
> perf vendor events intel: Update skylake/skylakex events/metrics
> perf vendor events intel: Update snowridgex events
> perf vendor events intel: Update tigerlake events/metrics
> perf jevents: Add support for metricgroup descriptions
> perf vendor events intel: Add metricgroup descriptions for all models

Thanks Ian.

Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Thanks,
Kan
>
> tools/perf/builtin-list.c | 11 +-
> .../arch/x86/alderlake/adl-metrics.json | 1314 ++++++++--------
> .../pmu-events/arch/x86/alderlake/cache.json | 9 +
> .../pmu-events/arch/x86/alderlake/memory.json | 6 +-
> .../arch/x86/alderlake/metricgroups.json | 122 ++
> .../arch/x86/alderlaken/adln-metrics.json | 276 ++--
> .../arch/x86/alderlaken/metricgroups.json | 26 +
> .../arch/x86/broadwell/bdw-metrics.json | 580 +++----
> .../arch/x86/broadwell/floating-point.json | 15 +
> .../arch/x86/broadwell/metricgroups.json | 107 ++
> .../arch/x86/broadwellde/bdwde-metrics.json | 556 +++----
> .../arch/x86/broadwellde/floating-point.json | 15 +
> .../arch/x86/broadwellde/metricgroups.json | 107 ++
> .../arch/x86/broadwellx/bdx-metrics.json | 796 ++++++----
> .../arch/x86/broadwellx/floating-point.json | 15 +
> .../arch/x86/broadwellx/metricgroups.json | 107 ++
> .../arch/x86/cascadelakex/clx-metrics.json | 1231 +++++++++------
> .../arch/x86/cascadelakex/floating-point.json | 31 +
> .../arch/x86/cascadelakex/metricgroups.json | 114 ++
> .../arch/x86/cascadelakex/pipeline.json | 23 +-
> .../arch/x86/elkhartlake/cache.json | 7 +
> .../arch/x86/elkhartlake/memory.json | 2 +
> .../arch/x86/elkhartlake/other.json | 10 +
> .../arch/x86/elkhartlake/pipeline.json | 3 +
> .../arch/x86/haswell/hsw-metrics.json | 484 +++---
> .../arch/x86/haswell/metricgroups.json | 107 ++
> .../arch/x86/haswellx/hsx-metrics.json | 700 ++++++---
> .../arch/x86/haswellx/metricgroups.json | 107 ++
> .../pmu-events/arch/x86/icelake/cache.json | 18 +
> .../arch/x86/icelake/icl-metrics.json | 950 ++++++------
> .../arch/x86/icelake/metricgroups.json | 113 ++
> .../arch/x86/icelakex/icx-metrics.json | 1306 +++++++++-------
> .../arch/x86/icelakex/metricgroups.json | 114 ++
> .../arch/x86/ivybridge/ivb-metrics.json | 526 +++----
> .../arch/x86/ivybridge/metricgroups.json | 107 ++
> .../arch/x86/ivytown/ivt-metrics.json | 534 +++----
> .../arch/x86/ivytown/metricgroups.json | 107 ++
> .../arch/x86/jaketown/jkt-metrics.json | 224 +--
> .../arch/x86/jaketown/metricgroups.json | 100 ++
> tools/perf/pmu-events/arch/x86/mapfile.csv | 31 +-
> .../arch/x86/sandybridge/metricgroups.json | 100 ++
> .../arch/x86/sandybridge/snb-metrics.json | 222 +--
> .../arch/x86/sapphirerapids/memory.json | 6 +-
> .../arch/x86/sapphirerapids/metricgroups.json | 118 ++
> .../arch/x86/sapphirerapids/spr-metrics.json | 1357 ++++++++++-------
> .../sapphirerapids/uncore-interconnect.json | 2 +-
> .../x86/sapphirerapids/uncore-memory.json | 8 +-
> .../arch/x86/skylake/floating-point.json | 8 +
> .../arch/x86/skylake/metricgroups.json | 113 ++
> .../pmu-events/arch/x86/skylake/pipeline.json | 15 +-
> .../arch/x86/skylake/skl-metrics.json | 875 ++++++-----
> .../arch/x86/skylakex/floating-point.json | 31 +
> .../arch/x86/skylakex/metricgroups.json | 114 ++
> .../arch/x86/skylakex/pipeline.json | 23 +-
> .../arch/x86/skylakex/skx-metrics.json | 1183 ++++++++------
> .../pmu-events/arch/x86/snowridgex/cache.json | 7 +
> .../arch/x86/snowridgex/memory.json | 2 +
> .../pmu-events/arch/x86/snowridgex/other.json | 10 +
> .../arch/x86/snowridgex/pipeline.json | 3 +
> .../x86/snowridgex/uncore-interconnect.json | 14 +-
> .../arch/x86/snowridgex/uncore-io.json | 8 -
> .../arch/x86/snowridgex/uncore-memory.json | 7 +-
> .../arch/x86/snowridgex/uncore-power.json | 6 +-
> .../pmu-events/arch/x86/tigerlake/cache.json | 18 +
> .../arch/x86/tigerlake/metricgroups.json | 113 ++
> .../arch/x86/tigerlake/pipeline.json | 1 +
> .../arch/x86/tigerlake/tgl-metrics.json | 970 ++++++------
> tools/perf/pmu-events/empty-pmu-events.c | 5 +
> tools/perf/pmu-events/jevents.py | 49 +-
> tools/perf/pmu-events/pmu-events.h | 2 +
> 70 files changed, 9985 insertions(+), 6416 deletions(-)
> create mode 100644 tools/perf/pmu-events/arch/x86/alderlake/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/alderlaken/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/cascadelakex/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/haswell/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/icelake/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/icelakex/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/sapphirerapids/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/skylake/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/metricgroups.json
> create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/metricgroups.json
>