[PATCH 00/12] perf arm-spe: Support new events in FEAT_SPEv1p4

Leo Yan leo.yan at arm.com
Fri Jun 13 08:53:33 PDT 2025


This series adds support for new event types introduced in Arm SPE v1.4.

The first two patches modify the Arm SPE driver to expose 'events' entry
in SysFS caps folder. This allows users to discover which events are
supported by the hardware.

Starting from patch 03, changes are made to the perf tool:

Patch 03 is a fixing for setting remote bit.

Patch 04 refactors the code to avoid duplicate definitions of event
bits.

Patch 05 dumps new event bits in raw format via the 'perf script -D'
command.

Patches 06 to 11 enhance memory-level information based on the new
events introduced in FEAT_SPEv1p4.

Patch 12 changes the logic to parse events after data source analysis.
The event information complements the data source and provides a more
complete view. As a result, Arm SPE can now support both HITM and peer
modes (See the "--display" options in perf c2c).

This series has been tested on FVP RevC platform.

Note: for a local HITM event, the emulation does not provide any info
for LLC. However, the perf c2c tool relies on LLC + HITM for accounting
local HITM. I to manually set the LLC HIT flag to verify the
"perf c2c -d tot" command.

---
Leo Yan (12):
      drivers/perf: arm_spe: Store event reserved bits in driver data
      drivers/perf: arm_spe: Expose events capability
      perf arm_spe: Correct setting remote access
      perf arm_spe: Directly propagate raw event
      perf arm_spe: Decode event types for new features
      perf arm_spe: Add "events" entry in meta data
      perf arm_spe: Refine memory level filling
      perf arm_spe: Separate setting of memory levels for loads and stores
      perf arm_spe: Fill memory levels for FEAT_SPEv1p4
      perf arm_spe: Refactor arm_spe__get_metadata_by_cpu()
      perf arm_spe: Set HITM flag
      perf arm_spe: Allow parsing both data source and events

 drivers/perf/arm_spe_pmu.c                         |  15 +-
 tools/perf/arch/arm64/util/arm-spe.c               |   5 +
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.c  |  37 +----
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h  |  33 ++--
 .../util/arm-spe-decoder/arm-spe-pkt-decoder.c     |  14 ++
 .../util/arm-spe-decoder/arm-spe-pkt-decoder.h     |   7 +
 tools/perf/util/arm-spe.c                          | 173 ++++++++++++++++-----
 tools/perf/util/arm-spe.h                          |   2 +
 8 files changed, 194 insertions(+), 92 deletions(-)
---
base-commit: 27605c8c0f69e319df156b471974e4e223035378
change-id: 20250610-arm_spe_support_hitm_overhead_v1_public-c4a263385434

Best regards,
-- 
Leo Yan <leo.yan at arm.com>




More information about the linux-arm-kernel mailing list