Messages in this thread | | | From | Rob Herring <> | Subject | [PATCH v4 0/8] perf: Arm SPEv1.2 support | Date | Mon, 09 Jan 2023 13:26:17 -0600 |
| |
Peter, this series is blocked on an ack from you on patch 7. There was some discussion on validation of the 'config3' attr. The options where laid out by Mark here[0]. Please chime in on your preference.
Will, can you pick up patches 1-6 at least if there's no progress on 'config3'.
This series adds support for Arm SPEv1.2 which is part of the Armv8.7/Armv9.2 architecture. There's 2 new features that affect the kernel: a new event filter bit, branch 'not taken', and an inverted event filter register.
Since this support adds new registers and fields, first the SPE register defines are converted to automatic generation.
The perf tool side changes are available here[1].
Tested on FVP.
[0] https://lore.kernel.org/all/Y49ttrv6W5k3ZNYw@FVFF77S0Q05N.cambridge.arm.com/ [1] https://lore.kernel.org/all/20220914-arm-perf-tool-spe1-2-v2-v4-0-83c098e6212e@kernel.org/
Signed-off-by: Rob Herring <robh@kernel.org> --- Changes in v4: - Rebase on v6.2-rc1 - Link to v3: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v3-0-87682f78caac@kernel.org
Changes in v3: - Add some more missing SPE register fields and use Enums for some fields - Use the new PMSIDR_EL1 register Enum defines in the SPE driver - Link to v2: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v2-0-e37322d68ac0@kernel.org
Changes in v2: - Convert the SPE register defines to automatic generation - Fixed access to SYS_PMSNEVFR_EL1 when not present - Rebase on v6.1-rc1 - Link to v1: https://lore.kernel.org/r/20220825-arm-spe-v8-7-v1-0-c75b8d92e692@kernel.org
--- Rob Herring (8): perf: arm_spe: Use feature numbering for PMSEVFR_EL1 defines arm64: Drop SYS_ from SPE register defines arm64/sysreg: Convert SPE registers to automatic generation perf: arm_spe: Drop BIT() and use FIELD_GET/PREP accessors perf: arm_spe: Use new PMSIDR_EL1 register enums perf: arm_spe: Support new SPEv1.2/v8.7 'not taken' event perf: Add perf_event_attr::config3 perf: arm_spe: Add support for SPEv1.2 inverted event filtering
arch/arm64/include/asm/el2_setup.h | 6 +- arch/arm64/include/asm/sysreg.h | 99 +++-------------------- arch/arm64/kvm/debug.c | 2 +- arch/arm64/kvm/hyp/nvhe/debug-sr.c | 2 +- arch/arm64/tools/sysreg | 139 +++++++++++++++++++++++++++++++++ drivers/perf/arm_spe_pmu.c | 156 ++++++++++++++++++++++++------------- include/uapi/linux/perf_event.h | 3 + 7 files changed, 257 insertions(+), 150 deletions(-) --- base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2 change-id: 20220825-arm-spe-v8-7-fedf04e16f23
Best regards, -- Rob Herring <robh@kernel.org>
| |