[PATCH v5 0/2] perf tests: mmap-basic: fix user rdpmc detection logic
James Clark
james.clark at linaro.org
Tue Oct 6 09:34:11 PDT 2026
I'm sending this to fix the comments that I left on the "V3 resend"
because I don't think Qiao sent a V4 and it's been quite a while.
There were also some unreported bugs that I found during testing.
Changes in v5:
- Keep rdpmc_supported variable name.
- Keep enum instead of int.
- Remove #ifdef __aarch64__ in the capability tests that made the
cap_user_rdpmc test diverge. Now cap_user_rdpmc and pc->index are
tested in the same way for all architectures that support user rdpmc.
- Disable running the 'enabled' version for unsupported arches which was
equivalent to running the 'disabled' one twice and to be able to
simplify the test.
- Link to v4: https://patch.msgid.link/20260817-rdpmc-detection-logic-v4-1-c22074578f6a@linaro.org
Changes in V4:
- Don't remove pc->index check. Without it Perf can silently fall back
to the read() syscall and the test is useless.
- Test the 'expected disabled' case for Arm in an ifdef to workaround
platform differences.
- lseek() before writing to perf_user_access otherwise it's ignored.
- Support restoring arbitrary values to perf_user_access because RISC-V
uses '2' for legacy mode.
- Rename rdpmc_supported to rdpmc_expected as this is what the test
expects, not what the system does.
- Label pc->index as rdpmc_event_active for clarity.
- Add comments and simplify the commit message.
Signed-off-by: James Clark <james.clark at linaro.org>
---
James Clark (2):
perf tests: mmap-basic: Only test userspace reading on supported platforms
perf tests: mmap-basic: fix user rdpmc detection logic
tools/perf/tests/mmap-basic.c | 182 +++++++++++++++++++++++++-----------------
1 file changed, 107 insertions(+), 75 deletions(-)
---
base-commit: 1dc462fc214907671600172280c2e79ef9fe6fcf
change-id: 20260817-rdpmc-detection-logic-d3f7a49cfb46
Best regards,
--
James Clark <james.clark at linaro.org>
More information about the linux-riscv
mailing list