Re: [PATCH v3 0/8] riscv: Unaligned access speed probing fixes and skipping

From: Charlie Jenkins
Date: Wed Mar 05 2025 - 17:49:12 EST


On Tue, Mar 04, 2025 at 01:00:15PM +0100, Andrew Jones wrote:
> The first six patches of this series are fixes and cleanups of the
> unaligned access speed probing code. The next patch introduces a
> kernel command line option that allows the probing to be skipped.
> This command line option is a different approach than Jesse's [1].
> [1] takes a cpu-list for a particular speed, supporting heterogeneous
> platforms. With this approach, the kernel command line should only
> be used for homogeneous platforms. [1] also only allowed 'fast' and
> 'slow' to be selected. This parameter also supports 'unsupported',
> which could be useful for testing code paths gated on that. The final
> patch adds the documentation.

Why constrain the command line option to homogeneous platforms?

- Charlie

>
> (I'd be happy to split the fixes from the new skip support if we want to
> discuss the skip support independently, but I want to base on the fixes
> and I'm not sure if patchwork supports Based-on: $MESSAGE_ID/$LORE_URL
> or not at the moment, so I'm just posting together for now in order to
> be able to check for my patchwork green lights!)
>
> [1] https://lore.kernel.org/linux-riscv/20240805173816.3722002-1-jesse@xxxxxxxxxxxx/
>
> Thanks,
> drew
>
> ---
> v3:
> - Fix compile when RISCV_PROBE_UNALIGNED_ACCESS is not selected
>
> v2:
> - Change to command line option from table
>
>
> Andrew Jones (8):
> riscv: Annotate unaligned access init functions
> riscv: Fix riscv_online_cpu_vec
> riscv: Fix check_unaligned_access_all_cpus
> riscv: Change check_unaligned_access_speed_all_cpus to void
> riscv: Fix set up of cpu hotplug callbacks
> riscv: Fix set up of vector cpu hotplug callback
> riscv: Add parameter for skipping access speed tests
> Documentation/kernel-parameters: Add riscv unaligned speed parameters
>
> .../admin-guide/kernel-parameters.txt | 16 ++
> arch/riscv/include/asm/cpufeature.h | 4 +-
> arch/riscv/kernel/traps_misaligned.c | 14 +-
> arch/riscv/kernel/unaligned_access_speed.c | 237 +++++++++++-------
> 4 files changed, 168 insertions(+), 103 deletions(-)
>
> --
> 2.48.1
>