[PATCH v3 00/14] perf arm-spe: Support new events in FEAT_SPEv1p4
Leo Yan
leo.yan at arm.com
Mon Jul 7 06:39:22 PDT 2025
This series adds support for new event types introduced in Arm SPE v1.4.
The first patch modifies the Arm SPE driver to expose 'event_filter'
entry in SysFS caps folder. This allows users to discover the event
filter is supported by the hardware.
Patch 02 is a fixing for setting remote bit. Patch 03 is for fixing
memory level info for remote access.
Patch 04 is a refactoring for using full type for data_src.
Patch 05 refactors the code to avoid duplicate definitions of event
bits.
Patch 06 dumps new event bits in raw format via the 'perf script -D'
command.
Patches 07 to 13 enhance memory-level information based on the new
events introduced in FEAT_SPEv1p4.
Patch 14 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.
---
Changes in v3:
- Retrieve CPU number from PMU type (Ian).
- Link to v2: https://lore.kernel.org/r/20250630-arm_spe_support_hitm_overhead_v1_public-v2-0-2e1afab313b9@arm.com
Changes in v2:
- Dropped the kernel change for caching "pmsevfr_res0" (James)
- Renamed the "events" entry to "event_filter" (James)
- Added a new refactoring patch 04 (James)
- Updated memory level info for remote access (James)
- Link to v1: https://lore.kernel.org/r/20250613-arm_spe_support_hitm_overhead_v1_public-v1-0-6faecf0a8775@arm.com
---
James Clark (1):
perf arm_spe: Use full type for data_src
Leo Yan (13):
drivers/perf: arm_spe: Expose event filter
perf arm_spe: Correct setting remote access
perf arm_spe: Correct memory level for remote access
perf arm_spe: Directly propagate raw event
perf arm_spe: Decode event types for new features
perf arm_spe: Add "event_filter" 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: Improve CPU number retrieving in per-thread mode
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 | 36 ++--
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 | 220 ++++++++++++++++-----
tools/perf/util/arm-spe.h | 2 +
8 files changed, 234 insertions(+), 120 deletions(-)
---
base-commit: d7b8f8e20813f0179d8ef519541a3527e7661d3a
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