[PATCH v3 0/4] RISC-V: hwprobe: Introduce which-cpus
Andrew Jones
ajones at ventanamicro.com
Wed Nov 22 08:47:01 PST 2023
This series introduces a flag for the hwprobe syscall which effectively
reverses its behavior from getting the values of keys for a set of cpus
to getting the cpus for a set of key-value pairs.
Change since v2[1]:
- Rebased on v6.7-rc1 to get green on patchwork (dropped a couple
patches that were merged with [2])
- Added an r-b from Conor
Changes since v1[3]:
- Dropped copyrights when splitting hwprobe out of sys_riscv.c [Conor]
- Improved documentation [Evan]
- Fixed a bug where the set of cpus could get changed to the set of all
online cpus [Evan]
- Added check for empty set of cpus in the vdso function [Evan, drew]
- Replaced memset with a for-loop in the vdso function because we don't
have memset there [drew]
- Added an r-b from Conor
Changes since the RFC[4]:
- Split hwprobe out of sys_riscv.c into its own file [Palmer]
- Split the which-cpus functionality out of do_riscv_hwprobe() [Palmer]
- Rename hwprobe_key_is_map to hwprobe_key_is_bitmask [Evan]
- Move the homogeneous_cpus logic into the vDSO function [Evan]
- Rework logic to not need to allocate any memory
- Honor cpu affinity in the which-cpus selftests utility
- Picked up some r-b's
[1] https://lore.kernel.org/all/20231020130515.424577-8-ajones@ventanamicro.com/
[2] https://lore.kernel.org/all/20230918131518.56803-8-ajones@ventanamicro.com/
[3] https://lore.kernel.org/all/20231011135610.122850-8-ajones@ventanamicro.com/
[4] https://lore.kernel.org/all/20230921125518.175428-7-ajones@ventanamicro.com/
Andrew Jones (4):
RISC-V: hwprobe: Clarify cpus size parameter
RISC-V: Move the hwprobe syscall to its own file
RISC-V: hwprobe: Introduce which-cpus flag
RISC-V: selftests: Add which-cpus hwprobe test
Documentation/arch/riscv/hwprobe.rst | 28 +-
arch/riscv/include/asm/hwprobe.h | 24 ++
arch/riscv/include/uapi/asm/hwprobe.h | 3 +
arch/riscv/kernel/Makefile | 1 +
arch/riscv/kernel/sys_hwprobe.c | 375 ++++++++++++++++++
arch/riscv/kernel/sys_riscv.c | 285 -------------
arch/riscv/kernel/vdso/hwprobe.c | 86 +++-
.../testing/selftests/riscv/hwprobe/Makefile | 5 +-
.../testing/selftests/riscv/hwprobe/hwprobe.c | 2 +-
.../testing/selftests/riscv/hwprobe/hwprobe.h | 2 +-
.../selftests/riscv/hwprobe/which-cpus.c | 154 +++++++
.../selftests/riscv/vector/vstate_prctl.c | 10 +-
12 files changed, 660 insertions(+), 315 deletions(-)
create mode 100644 arch/riscv/kernel/sys_hwprobe.c
create mode 100644 tools/testing/selftests/riscv/hwprobe/which-cpus.c
--
2.41.0
More information about the linux-riscv
mailing list