[PATCH v2 00/15] Event, metric and metric group improvements

From: Ian Rogers
Date: Wed May 17 2023 - 11:27:04 EST


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. 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

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 | 26 +-
.../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(+), 6411 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

--
2.40.1.606.ga4b1b128d6-goog