[PATCH v1 00/12] Add metric has_event, update intel vendor events

From: Ian Rogers
Date: Thu Jun 22 2023 - 20:33:44 EST


Add a new has_event function for metrics so that events that can be
disabled by the kernel/firmware don't cause metrics to fail. Use this
function for Intel transaction metrics fixing "perf all metrics test"
on systems with TSX disabled. The update conversion script is posted in:
https://github.com/intel/perfmon/pull/90

Re-generate Intel vendor events using:
https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py
Adding rocketlake support, uncore and many core events for meteorlake,
and smaller updates for cascakelakex, icelake, icelakex,
sapphirerapids, skylake, skylakex and tigerlake.

Ian Rogers (12):
perf expr: Add has_event function
perf jevents: Support for has_event function
perf vendor metrics intel: Make transaction metrics conditional
perf vendor events intel: Add rocketlake events/metrics
perf vendor events intel: Update meteorlake to 1.03
perf vendor events intel: Update cascadelakex to 1.19
perf vendor events intel: Update icelake to 1.19
perf vendor events intel: Update icelakex to 1.21
perf vendor events intel: Update sapphirerapids to 1.14
perf vendor events intel: Update skylake to 57
perf vendor events intel: Update skylakex to 1.31
perf vendor events intel: Update tigerlake to 1.13

.../arch/x86/alderlake/adl-metrics.json | 8 +-
.../arch/x86/cascadelakex/clx-metrics.json | 8 +-
.../arch/x86/cascadelakex/frontend.json | 43 +-
.../arch/x86/cascadelakex/pipeline.json | 17 +-
.../x86/cascadelakex/uncore-interconnect.json | 2 +-
.../arch/x86/cascadelakex/uncore-memory.json | 2 +-
.../pmu-events/arch/x86/icelake/cache.json | 8 +-
.../pmu-events/arch/x86/icelake/frontend.json | 32 +-
.../arch/x86/icelake/icl-metrics.json | 8 +-
.../pmu-events/arch/x86/icelake/pipeline.json | 6 +-
.../arch/x86/icelakex/frontend.json | 32 +-
.../arch/x86/icelakex/icx-metrics.json | 8 +-
.../arch/x86/icelakex/pipeline.json | 4 +-
.../x86/icelakex/uncore-interconnect.json | 2 +-
tools/perf/pmu-events/arch/x86/mapfile.csv | 17 +-
.../pmu-events/arch/x86/meteorlake/cache.json | 811 +++++++++
.../arch/x86/meteorlake/floating-point.json | 143 ++
.../arch/x86/meteorlake/frontend.json | 410 +++++
.../arch/x86/meteorlake/memory.json | 142 +-
.../pmu-events/arch/x86/meteorlake/other.json | 57 +-
.../arch/x86/meteorlake/pipeline.json | 1211 ++++++++++++-
.../arch/x86/meteorlake/uncore-cache.json | 18 +
.../x86/meteorlake/uncore-interconnect.json | 42 +
.../arch/x86/meteorlake/uncore-memory.json | 126 ++
.../arch/x86/meteorlake/virtual-memory.json | 257 +++
.../pmu-events/arch/x86/rocketlake/cache.json | 894 ++++++++++
.../arch/x86/rocketlake/floating-point.json | 105 ++
.../arch/x86/rocketlake/frontend.json | 377 ++++
.../arch/x86/rocketlake/memory.json | 394 +++++
.../arch/x86/rocketlake/metricgroups.json | 113 ++
.../pmu-events/arch/x86/rocketlake/other.json | 242 +++
.../arch/x86/rocketlake/pipeline.json | 801 +++++++++
.../arch/x86/rocketlake/rkl-metrics.json | 1571 +++++++++++++++++
.../x86/rocketlake/uncore-interconnect.json | 74 +
.../arch/x86/rocketlake/uncore-other.json | 9 +
.../arch/x86/rocketlake/virtual-memory.json | 165 ++
.../arch/x86/sapphirerapids/pipeline.json | 2 +-
.../arch/x86/sapphirerapids/spr-metrics.json | 8 +-
.../arch/x86/sapphirerapids/uncore-cache.json | 308 ++++
.../sapphirerapids/uncore-interconnect.json | 2 +-
.../pmu-events/arch/x86/skylake/frontend.json | 43 +-
.../pmu-events/arch/x86/skylake/pipeline.json | 17 +-
.../arch/x86/skylake/skl-metrics.json | 8 +-
.../arch/x86/skylakex/frontend.json | 43 +-
.../arch/x86/skylakex/pipeline.json | 17 +-
.../arch/x86/skylakex/skx-metrics.json | 8 +-
.../x86/skylakex/uncore-interconnect.json | 2 +-
.../arch/x86/skylakex/uncore-memory.json | 2 +-
.../arch/x86/tigerlake/frontend.json | 32 +-
.../arch/x86/tigerlake/pipeline.json | 6 +-
.../arch/x86/tigerlake/tgl-metrics.json | 8 +-
tools/perf/pmu-events/metric.py | 8 +-
tools/perf/tests/expr.c | 4 +
tools/perf/util/expr.c | 19 +
tools/perf/util/expr.h | 1 +
tools/perf/util/expr.l | 1 +
tools/perf/util/expr.y | 8 +-
57 files changed, 8504 insertions(+), 202 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/metricgroups.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/rkl-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-other.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/virtual-memory.json

--
2.41.0.162.gfafddb0af9-goog