[PATCH v1 00/22] Improvements to Intel perf metrics

From: Ian Rogers
Date: Wed Sep 28 2022 - 03:22:36 EST


For consistency with:
https://github.com/intel/perfmon-metrics
rename of topdown TMA metrics from Frontend_Bound to tma_frontend_bound.

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(-)

--
2.37.3.998.g577e59143f-goog