Re: [PATCH v1 00/10] perf vendor events intel update

From: Ian Rogers
Date: Wed Sep 24 2025 - 17:50:01 EST


On Wed, Sep 24, 2025 at 2:13 PM Falcon, Thomas <thomas.falcon@xxxxxxxxx> wrote:
>
> On Tue, 2025-09-23 at 23:02 -0700, Ian Rogers wrote:
> > Update events and some metrics to the latest perfmon versions:
> > - alderlake 1.34
> > - arrowlake 1.13
> > - emeraldrapids 1.20
> > - grandridge 1.10
> > - graniterapids 1.15
> > - lunarlake 1.18
> > - meteorlake 1.17
> > - sapphirerapids 1.35
> > - sierraforest 1.12
> >
>
> Metrics tests passed on Alder Lake, Sapphire Rapids, and Arrow Lake.
>
> Tested-by: Thomas Falcon <thomas.falcon@xxxxxxxxx>

Thanks! I think we found an issue on emeraldrapids that
pcu_0/UNC_P_CLOCKTICKS/ should be pcu/UNC_P_CLOCKTICKS/ in the
cpu_cstate metrics. The question is, how many PCUs does an
emeraldrapids have? Is it guaranteed to be 1 or do we need to support
suffixes when there is >1. I'm guessing the story on sapphirerapids is
similar, we just didn't test it.

The use of a suffix in the PMU of the event name is to avoid
aggregating all the clockticks together. A less efficient way to do
this would be "UNC_P_CLOCKTICKS / source_count(UNC_P_CLOCKTICKS)"
which would compute an average of the clockticks. We could update perf
to ignore _0 suffixes when looking for PMUs, which feels kind of hacky
and ARM has different suffix conventions. We could do:
"pcu_0@UNC_P_CLOCKTICKS@ if has_event(pcu_0@UNC_P_CLOCKTICKS@) else
pcu@UNC_P_CLOCKTICKS@"
which feels a little long winded. If we know EMR and SPR have just 1
PCU I think I'd prefer just to turn pcu_0 into pcu as a fix.

Thanks,
Ian

> Thanks,
> Tom
>
> > Ian Rogers (10):
> > perf vendor events intel: Update alderlake events to v1.34
> > perf vendor events intel: Update arrowlake events to v1.13
> > perf vendor events intel: Update emeraldrapids events to v1.20
> > perf vendor events intel: Update grandridge events to v1.10
> > perf vendor events intel: Update graniterapids events to v1.15
> > perf vendor events intel: Update lunarlake events to v1.18
> > perf vendor events intel: Update meteorlake events to v1.17
> > perf vendor events intel: Update pantherlake events to v1.00
> > perf vendor events intel: Update sapphirerapids events to v1.35
> > perf vendor events intel: Update sierraforest events to v1.12
> >
> > .../pmu-events/arch/x86/alderlake/cache.json | 36 +
> > .../pmu-events/arch/x86/arrowlake/cache.json | 46 +-
> > .../pmu-events/arch/x86/arrowlake/memory.json | 6 +-
> > .../pmu-events/arch/x86/arrowlake/other.json | 2 +-
> > .../arch/x86/emeraldrapids/cache.json | 63 +
> > .../arch/x86/emeraldrapids/emr-metrics.json | 12 +
> > .../arch/x86/emeraldrapids/uncore-cache.json | 11 +
> > .../arch/x86/emeraldrapids/uncore-memory.json | 22 +
> > .../arch/x86/emeraldrapids/uncore-power.json | 2 -
> > .../pmu-events/arch/x86/grandridge/cache.json | 20 +-
> > .../graniterapids/uncore-interconnect.json | 10 +-
> > .../arch/x86/graniterapids/uncore-memory.json | 112 ++
> > .../pmu-events/arch/x86/lunarlake/cache.json | 46 +-
> > .../pmu-events/arch/x86/lunarlake/memory.json | 6 +-
> > .../pmu-events/arch/x86/lunarlake/other.json | 2 +-
> > tools/perf/pmu-events/arch/x86/mapfile.csv | 20 +-
> > .../pmu-events/arch/x86/meteorlake/cache.json | 36 +
> > .../arch/x86/pantherlake/cache.json | 1207 ++++++++++-
> > .../arch/x86/pantherlake/counter.json | 9 +-
> > .../arch/x86/pantherlake/floating-point.json | 286 +++
> > .../arch/x86/pantherlake/frontend.json | 535 +++++
> > .../arch/x86/pantherlake/memory.json | 106 +-
> > .../arch/x86/pantherlake/other.json | 44 +
> > .../arch/x86/pantherlake/pipeline.json | 1776
> > ++++++++++++++++-
> > .../arch/x86/pantherlake/uncore-memory.json | 26 +
> > .../arch/x86/pantherlake/virtual-memory.json | 248 +++
> > .../arch/x86/sapphirerapids/cache.json | 63 +
> > .../arch/x86/sapphirerapids/spr-metrics.json | 12 +
> > .../arch/x86/sapphirerapids/uncore-cache.json | 11 +
> > .../x86/sapphirerapids/uncore-memory.json | 22 +
> > .../arch/x86/sapphirerapids/uncore-power.json | 2 -
> > .../arch/x86/sierraforest/cache.json | 61 +-
> > .../x86/sierraforest/uncore-interconnect.json | 10 +-
> > .../arch/x86/sierraforest/uncore-io.json | 1 -
> > .../arch/x86/sierraforest/uncore-memory.json | 103 +-
> > 35 files changed, 4712 insertions(+), 262 deletions(-)
> > create mode 100644 tools/perf/pmu-
> > events/arch/x86/pantherlake/floating-point.json
> > create mode 100644 tools/perf/pmu-
> > events/arch/x86/pantherlake/other.json
> > create mode 100644 tools/perf/pmu-
> > events/arch/x86/pantherlake/uncore-memory.json
> >
>