[PATCH v1 00/30] perf vendor event and TMA 4.7 metric update

Ian Rogers
2024-02-14T01:18:37Z

The first 12 patches update vendor events to those in:
https://github.com/intel/perfmon

The next 18 patches update the TMA metrics from version 4.5 to version
4.7. This includes improvements to many models like the
tma_info_bottleneck* metrics, an abstraction or summarization of the
100+ TMA tree nodes into 12-entry familiar performance metrics.

The update was possible due to the release of TMA 4.7 metrics in:
https://github.com/intel/perfmon/pull/140
https://github.com/intel/perfmon/pull/138

Pull request:
https://github.com/intel/perfmon/pull/144
was applied to the converter script. This PR adds back CORE_CLKS as in
TMA metrics 4.5 for pre-Icelake models. This avoids an issue running
perf stat not in system wide mode where pre-Icelake models need to
scale the slots dependent on what the other hyperthread is doing (via
the event CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE - later models have a
slots counter for this). This is a known not accurate thing to do,
hence the removal from TMA 4.7, but perf would allow the use of the
metric not in system wide mode and report a metric with value. It
seemed better to give a more accurate number in not system wide mode,
possibly induce multiplexing, and have the TMA 4.5 behavior. We can
later update the behavior to be NaN [1] when not in system wide mode
to avoid broken usage. The not system wide mode in the TMA 4.5
spreadsheet is known as "#EBS_Mode" and is detected in perf json with
the "#core_wide" literal.

[1] https://lore.kernel.org/lkml/20240209204947.3873294-2-irogers@google.com/

Ian Rogers (30):
perf vendor events intel: Update alderlake events to v1.24
perf vendor events intel: Update alderlaken events to v1.24
perf vendor events intel: Update broadwell events to v29
perf vendor events intel: Update emeraldrapids events to v1.03
perf vendor events intel: Update grandridge events to v1.01
perf vendor events intel: Update haswell events to v35
perf vendor events intel: Update icelake events to v1.21
perf vendor events intel: Update meteorlake events to v1.07
perf vendor events intel: Update rocketlake events to v1.02
perf vendor events intel: Update sierraforst events to v1.01
perf vendor events intel: Update skylake events to v58
perf vendor events intel: Update tigerlake events to v1.15
perf vendor events intel: Update alderlake TMA metrics to 4.7
perf vendor events intel: Update broadwell TMA metrics to 4.7
perf vendor events intel: Update broadwellde TMA metrics to 4.7
perf vendor events intel: Update broadwellx TMA metrics to 4.7
perf vendor events intel: Update cascadelakex TMA metrics to 4.7
perf vendor events intel: Update haswell TMA metrics to 4.7
perf vendor events intel: Update haswellx TMA metrics to 4.7
perf vendor events intel: Update icelake TMA metrics to 4.7
perf vendor events intel: Update icelakex TMA metrics to 4.7
perf vendor events intel: Update ivybridge TMA metrics to 4.7
perf vendor events intel: Update ivytown TMA metrics to 4.7
perf vendor events intel: Update jaketown TMA metrics to 4.7
perf vendor events intel: Update rocketlake TMA metrics to 4.7
perf vendor events intel: Update sandybridge TMA metrics to 4.7
perf vendor events intel: Update sapphirerapids TMA metrics to 4.7
perf vendor events intel: Update skylake TMA metrics to 4.7
perf vendor events intel: Update skylakex TMA metrics to 4.7
perf vendor events intel: Update tigerlake TMA metrics to 4.7

.../arch/x86/alderlake/adl-metrics.json | 459 ++-
.../arch/x86/alderlake/floating-point.json | 30 +-
.../arch/x86/alderlake/metricgroups.json | 11 +-
.../pmu-events/arch/x86/alderlake/other.json | 10 +
.../arch/x86/alderlake/pipeline.json | 13 +
.../pmu-events/arch/x86/alderlaken/other.json | 9 +
.../arch/x86/alderlaken/pipeline.json | 9 +
.../arch/x86/broadwell/bdw-metrics.json | 204 +-
.../pmu-events/arch/x86/broadwell/memory.json | 2 +-
.../arch/x86/broadwell/metricgroups.json | 7 +-
.../arch/x86/broadwellde/bdwde-metrics.json | 191 +-
.../arch/x86/broadwellde/metricgroups.json | 7 +-
.../arch/x86/broadwellx/bdx-metrics.json | 250 +-
.../arch/x86/broadwellx/metricgroups.json | 7 +-
.../arch/x86/cascadelakex/clx-metrics.json | 566 +++-
.../arch/x86/cascadelakex/metricgroups.json | 12 +-
.../arch/x86/emeraldrapids/uncore-cache.json | 152 +
.../pmu-events/arch/x86/grandridge/cache.json | 185 ++
.../arch/x86/grandridge/floating-point.json | 68 +
.../arch/x86/grandridge/frontend.json | 16 +
.../arch/x86/grandridge/memory.json | 66 +
.../pmu-events/arch/x86/grandridge/other.json | 16 +
.../arch/x86/grandridge/pipeline.json | 353 ++
.../arch/x86/grandridge/uncore-cache.json | 1795 +++++++++++
.../x86/grandridge/uncore-interconnect.json | 175 +
.../arch/x86/grandridge/uncore-io.json | 1187 +++++++
.../arch/x86/grandridge/uncore-memory.json | 385 +++
.../arch/x86/grandridge/uncore-power.json | 10 +
.../arch/x86/grandridge/virtual-memory.json | 113 +-
.../arch/x86/haswell/hsw-metrics.json | 178 +-
.../pmu-events/arch/x86/haswell/memory.json | 2 +-
.../arch/x86/haswell/metricgroups.json | 7 +-
.../arch/x86/haswellx/hsx-metrics.json | 224 +-
.../arch/x86/haswellx/metricgroups.json | 7 +-
.../arch/x86/icelake/icl-metrics.json | 398 ++-
.../pmu-events/arch/x86/icelake/memory.json | 1 +
.../arch/x86/icelake/metricgroups.json | 12 +-
.../pmu-events/arch/x86/icelake/other.json | 2 +-
.../pmu-events/arch/x86/icelake/pipeline.json | 10 +-
.../arch/x86/icelakex/icx-metrics.json | 586 +++-
.../arch/x86/icelakex/metricgroups.json | 12 +-
.../arch/x86/ivybridge/ivb-metrics.json | 197 +-
.../arch/x86/ivybridge/metricgroups.json | 7 +-
.../arch/x86/ivytown/ivt-metrics.json | 200 +-
.../arch/x86/ivytown/metricgroups.json | 7 +-
.../arch/x86/jaketown/jkt-metrics.json | 64 +-
.../arch/x86/jaketown/metricgroups.json | 7 +-
tools/perf/pmu-events/arch/x86/mapfile.csv | 24 +-
.../pmu-events/arch/x86/meteorlake/cache.json | 8 +-
.../arch/x86/meteorlake/floating-point.json | 86 +-
.../pmu-events/arch/x86/meteorlake/other.json | 10 +
.../arch/x86/meteorlake/pipeline.json | 76 +
.../arch/x86/meteorlake/virtual-memory.json | 36 +
.../arch/x86/rocketlake/memory.json | 1 +
.../arch/x86/rocketlake/metricgroups.json | 12 +-
.../pmu-events/arch/x86/rocketlake/other.json | 2 +-
.../arch/x86/rocketlake/pipeline.json | 10 +-
.../arch/x86/rocketlake/rkl-metrics.json | 406 ++-
.../arch/x86/sandybridge/metricgroups.json | 7 +-
.../arch/x86/sandybridge/snb-metrics.json | 71 +-
.../arch/x86/sapphirerapids/metricgroups.json | 12 +-
.../arch/x86/sapphirerapids/spr-metrics.json | 773 +++--
.../arch/x86/sierraforest/cache.json | 185 ++
.../arch/x86/sierraforest/floating-point.json | 68 +
.../arch/x86/sierraforest/frontend.json | 16 +
.../arch/x86/sierraforest/memory.json | 66 +
.../arch/x86/sierraforest/other.json | 16 +
.../arch/x86/sierraforest/pipeline.json | 360 +++
.../arch/x86/sierraforest/uncore-cache.json | 2853 +++++++++++++++++
.../arch/x86/sierraforest/uncore-cxl.json | 10 +
.../x86/sierraforest/uncore-interconnect.json | 1228 +++++++
.../arch/x86/sierraforest/uncore-io.json | 1634 ++++++++++
.../arch/x86/sierraforest/uncore-memory.json | 385 +++
.../arch/x86/sierraforest/uncore-power.json | 10 +
.../arch/x86/sierraforest/virtual-memory.json | 113 +-
.../pmu-events/arch/x86/skylake/memory.json | 2 +-
.../arch/x86/skylake/metricgroups.json | 12 +-
.../pmu-events/arch/x86/skylake/pipeline.json | 2 +-
.../arch/x86/skylake/skl-metrics.json | 395 ++-
.../arch/x86/skylake/virtual-memory.json | 2 +-
.../arch/x86/skylakex/metricgroups.json | 12 +-
.../arch/x86/skylakex/skx-metrics.json | 548 +++-
.../arch/x86/tigerlake/metricgroups.json | 12 +-
.../pmu-events/arch/x86/tigerlake/other.json | 2 +-
.../arch/x86/tigerlake/pipeline.json | 10 +-
.../arch/x86/tigerlake/tgl-metrics.json | 406 ++-
.../x86/tigerlake/uncore-interconnect.json | 2 +
87 files changed, 15763 insertions(+), 2349 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-io.json
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-power.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-cxl.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-io.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-power.json

--
2.43.0.687.g38aa6559b0-goog