mbox series

[v4,0/2] RISC-V: hwprobe: Misaligned scalar perf fix and rename

Message ID 20240809214444.3257596-1-evan@rivosinc.com (mailing list archive)
Headers show
Series RISC-V: hwprobe: Misaligned scalar perf fix and rename | expand

Message

Evan Green Aug. 9, 2024, 9:44 p.m. UTC
The CPUPERF0 hwprobe key was documented and identified in code as
a bitmask value, but its contents were an enum. This produced
incorrect behavior in conjunction with the WHICH_CPUS hwprobe flag.
The first patch in this series fixes the bitmask/enum problem by
creating a new hwprobe key that returns the same data, but is
properly described as a value instead of a bitmask. The second patch
renames the value definitions in preparation for adding vector misaligned
access info. As of this version, the old defines are kept in place to
maintain source compatibility with older userspace programs.


Changes in v4:
 - Rebased
 - Add the word scalar (Charlie)

Changes in v3:
 - Further documentation wordsmithing (Conor)
 - Leave the old defines in place (Conor, Palmer)

Changes in v2:
 - Clarified the distinction of slow and fast refers to misaligned word
   accesses. Previously it just said misaligned accesses, leaving it
   ambiguous as to which type of access was measured.
 - Removed shifts in values (Andrew)
 - Renamed key to RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF (Palmer)
 - Added patch to rename misaligned perf key values (Palmer)

Evan Green (2):
  RISC-V: hwprobe: Add MISALIGNED_PERF key
  RISC-V: hwprobe: Add SCALAR to misaligned perf defines

 Documentation/arch/riscv/hwprobe.rst       | 36 +++++++++++++---------
 arch/riscv/include/asm/hwprobe.h           |  2 +-
 arch/riscv/include/uapi/asm/hwprobe.h      |  6 ++++
 arch/riscv/kernel/sys_hwprobe.c            | 11 ++++---
 arch/riscv/kernel/traps_misaligned.c       |  6 ++--
 arch/riscv/kernel/unaligned_access_speed.c | 12 ++++----
 6 files changed, 44 insertions(+), 29 deletions(-)

Comments

patchwork-bot+linux-riscv@kernel.org Aug. 15, 2024, 5:50 p.m. UTC | #1
Hello:

This series was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Fri,  9 Aug 2024 14:44:42 -0700 you wrote:
> The CPUPERF0 hwprobe key was documented and identified in code as
> a bitmask value, but its contents were an enum. This produced
> incorrect behavior in conjunction with the WHICH_CPUS hwprobe flag.
> The first patch in this series fixes the bitmask/enum problem by
> creating a new hwprobe key that returns the same data, but is
> properly described as a value instead of a bitmask. The second patch
> renames the value definitions in preparation for adding vector misaligned
> access info. As of this version, the old defines are kept in place to
> maintain source compatibility with older userspace programs.
> 
> [...]

Here is the summary with links:
  - [v4,1/2] RISC-V: hwprobe: Add MISALIGNED_PERF key
    https://git.kernel.org/riscv/c/c42e2f076769
  - [v4,2/2] RISC-V: hwprobe: Add SCALAR to misaligned perf defines
    https://git.kernel.org/riscv/c/1f5288874de7

You are awesome, thank you!