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

From: Ian Rogers
Date: Fri Jun 23 2023 - 11:11:27 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.

v2. Handle failed memory allocated for evlist, John Garry.

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 | 21 +
tools/perf/util/expr.h | 1 +
tools/perf/util/expr.l | 1 +
tools/perf/util/expr.y | 8 +-
57 files changed, 8506 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