Re: [PATCH v10 0/5] perf: arm_spe: Armv8.8 SPE features
From: James Clark
Date: Thu Nov 20 2025 - 04:19:29 EST
On 20/11/2025 1:54 am, Namhyung Kim wrote:
Hello,
On Tue, Nov 11, 2025 at 11:37:54AM +0000, James Clark wrote:
Support SPE_FEAT_FDS data source filtering.
What's the state of this series? I can merge the tools part (3, 4, 5)
once the kernel part lands somewhere.
Thanks,
Namhyung
The SPE driver part was blocked on Peter's ack for the config4 change. He's given it now so Will should be able to take the driver.
Thanks
James
---
Changes in v10:
- Pick up Peter's ack
- Slightly clarify commit message regarding the difference between the
data source filter and the data source
- Link to v9: https://lore.kernel.org/r/20251029-james-perf-feat_spe_eft-v9-0-d22536b9cf94@xxxxxxxxxx
Changes in v9:
- Fix another typo in docs: s/data_src_filter/inv_data_src_filter/g
- Drop already applied patches for other features. Only the data source
filtering patches remain.
- Rebase on latest perf-tools-next
- Link to v8: https://lore.kernel.org/r/20250901-james-perf-feat_spe_eft-v8-0-2e2738f24559@xxxxxxxxxx
Changes in v8:
- Define __spe_vers_imp before it's used
- "disable traps to PMSDSFR" -> "disable traps of PMSDSFR to EL2"
- Link to v7: https://lore.kernel.org/r/20250814-james-perf-feat_spe_eft-v7-0-6a743f7fa259@xxxxxxxxxx
Changes in v7:
- Fix typo in docs: s/data_src_filter/inv_data_src_filter/g
- Pickup trailers
- Link to v6: https://lore.kernel.org/r/20250808-james-perf-feat_spe_eft-v6-0-6daf498578c8@xxxxxxxxxx
Changes in v6:
- Rebase to resolve conflict with BRBE changes in el2_setup.h
- Link to v5: https://lore.kernel.org/r/20250721-james-perf-feat_spe_eft-v5-0-a7bc533485a1@xxxxxxxxxx
Changes in v5:
- Forgot to pickup tags from v4
- Forgot to drop test and review tags on v4 patches that were
significantly modified
- Update commit message for data source filtering to mention inversion
- Link to v4: https://lore.kernel.org/r/20250721-james-perf-feat_spe_eft-v4-0-0a527410f8fd@xxxxxxxxxx
Changes in v4:
- Rewrite "const u64 feat_spe_eft_bits" inline
- Invert data source filter so that it's possible to exclude all data
sources without adding an additional 'enable filter' flag
- Add a macro in el2_setup.h to check for an SPE version
- Probe valid filter bits instead of hardcoding them
- Take in Leo's commit to expose the filter bits as it depends on the
new filter probing
- Link to v3: https://lore.kernel.org/r/20250605-james-perf-feat_spe_eft-v3-0-71b0c9f98093@xxxxxxxxxx
Changes in v3:
- Use PMSIDR_EL1_FDS instead of 1 << PMSIDR_EL1_FDS_SHIFT
- Add VNCR offsets
- Link to v2: https://lore.kernel.org/r/20250529-james-perf-feat_spe_eft-v2-0-a01a9baad06a@xxxxxxxxxx
Changes in v2:
- Fix detection of FEAT_SPE_FDS in el2_setup.h
- Pickup Marc Z's sysreg change instead which matches the json
- Restructure and expand docs changes
- Link to v1: https://lore.kernel.org/r/20250506-james-perf-feat_spe_eft-v1-0-dd480e8e4851@xxxxxxxxxx
---
James Clark (5):
perf: Add perf_event_attr::config4
perf: arm_spe: Add support for filtering on data source
tools headers UAPI: Sync linux/perf_event.h with the kernel sources
perf tools: Add support for perf_event_attr::config4
perf docs: arm-spe: Document new SPE filtering features
drivers/perf/arm_spe_pmu.c | 37 +++++++++++
include/uapi/linux/perf_event.h | 2 +
tools/include/uapi/linux/perf_event.h | 2 +
tools/perf/Documentation/perf-arm-spe.txt | 104 +++++++++++++++++++++++++++---
tools/perf/tests/parse-events.c | 13 +++-
tools/perf/util/parse-events.c | 11 ++++
tools/perf/util/parse-events.h | 1 +
tools/perf/util/parse-events.l | 1 +
tools/perf/util/pmu.c | 8 +++
tools/perf/util/pmu.h | 1 +
10 files changed, 170 insertions(+), 10 deletions(-)
---
base-commit: 081006b7c8e19406dc6674c6b6d086764d415b5c
change-id: 20250312-james-perf-feat_spe_eft-66cdf4d8fe99
Best regards,
--
James Clark <james.clark@xxxxxxxxxx>