The return value of check_unaligned_access_speed_all_cpus() is always
zero, so make the function void so we don't need to concern ourselves
with it. The change also allows us to tidy up
check_unaligned_access_all_cpus() a bit.
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
---
arch/riscv/kernel/unaligned_access_speed.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c
index 02b485dc4bc4..780f1c5f512a 100644
--- a/arch/riscv/kernel/unaligned_access_speed.c
+++ b/arch/riscv/kernel/unaligned_access_speed.c
@@ -218,7 +218,7 @@ static int riscv_offline_cpu(unsigned int cpu)
}
/* Measure unaligned access speed on all CPUs present at boot in parallel. */
-static int __init check_unaligned_access_speed_all_cpus(void)
+static void __init check_unaligned_access_speed_all_cpus(void)
{
unsigned int cpu;
unsigned int cpu_count = num_possible_cpus();
@@ -226,7 +226,7 @@ static int __init check_unaligned_access_speed_all_cpus(void)
if (!bufs) {
pr_warn("Allocation failure, not measuring misaligned performance\n");
- return 0;
+ return;
}
/*
@@ -261,12 +261,10 @@ static int __init check_unaligned_access_speed_all_cpus(void)
}
kfree(bufs);
- return 0;
}
#else /* CONFIG_RISCV_PROBE_UNALIGNED_ACCESS */
-static int __init check_unaligned_access_speed_all_cpus(void)
+static void __init check_unaligned_access_speed_all_cpus(void)
{
- return 0;
}
#endif
@@ -403,10 +401,10 @@ static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __alway
static int __init check_unaligned_access_all_cpus(void)
{
- bool all_cpus_emulated;
int cpu;
- all_cpus_emulated = check_unaligned_access_emulated_all_cpus();
+ if (!check_unaligned_access_emulated_all_cpus())
+ check_unaligned_access_speed_all_cpus();
if (!has_vector()) {
for_each_online_cpu(cpu)
@@ -417,9 +415,6 @@ static int __init check_unaligned_access_all_cpus(void)
NULL, "vec_check_unaligned_access_speed_all_cpus");
}
- if (!all_cpus_emulated)
- return check_unaligned_access_speed_all_cpus();
-
return 0;
}
--
2.48.1
On 07/02/2025 17:19, Andrew Jones wrote:
> The return value of check_unaligned_access_speed_all_cpus() is always
> zero, so make the function void so we don't need to concern ourselves
> with it. The change also allows us to tidy up
> check_unaligned_access_all_cpus() a bit.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> arch/riscv/kernel/unaligned_access_speed.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c
> index 02b485dc4bc4..780f1c5f512a 100644
> --- a/arch/riscv/kernel/unaligned_access_speed.c
> +++ b/arch/riscv/kernel/unaligned_access_speed.c
> @@ -218,7 +218,7 @@ static int riscv_offline_cpu(unsigned int cpu)
> }
>
> /* Measure unaligned access speed on all CPUs present at boot in parallel. */
> -static int __init check_unaligned_access_speed_all_cpus(void)
> +static void __init check_unaligned_access_speed_all_cpus(void)
> {
> unsigned int cpu;
> unsigned int cpu_count = num_possible_cpus();
> @@ -226,7 +226,7 @@ static int __init check_unaligned_access_speed_all_cpus(void)
>
> if (!bufs) {
> pr_warn("Allocation failure, not measuring misaligned performance\n");
> - return 0;
> + return;
> }
>
> /*
> @@ -261,12 +261,10 @@ static int __init check_unaligned_access_speed_all_cpus(void)
> }
>
> kfree(bufs);
> - return 0;
> }
> #else /* CONFIG_RISCV_PROBE_UNALIGNED_ACCESS */
> -static int __init check_unaligned_access_speed_all_cpus(void)
> +static void __init check_unaligned_access_speed_all_cpus(void)
> {
> - return 0;
> }
> #endif
>
> @@ -403,10 +401,10 @@ static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __alway
>
> static int __init check_unaligned_access_all_cpus(void)
> {
> - bool all_cpus_emulated;
> int cpu;
>
> - all_cpus_emulated = check_unaligned_access_emulated_all_cpus();
> + if (!check_unaligned_access_emulated_all_cpus())
> + check_unaligned_access_speed_all_cpus();
>
> if (!has_vector()) {
> for_each_online_cpu(cpu)
> @@ -417,9 +415,6 @@ static int __init check_unaligned_access_all_cpus(void)
> NULL, "vec_check_unaligned_access_speed_all_cpus");
> }
>
> - if (!all_cpus_emulated)
> - return check_unaligned_access_speed_all_cpus();
> -
> return 0;
> }
>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Thanks,
Alex
On 07/02/2025 17:19, Andrew Jones wrote:
> The return value of check_unaligned_access_speed_all_cpus() is always
> zero, so make the function void so we don't need to concern ourselves
> with it. The change also allows us to tidy up
> check_unaligned_access_all_cpus() a bit.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> arch/riscv/kernel/unaligned_access_speed.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c
> index 02b485dc4bc4..780f1c5f512a 100644
> --- a/arch/riscv/kernel/unaligned_access_speed.c
> +++ b/arch/riscv/kernel/unaligned_access_speed.c
> @@ -218,7 +218,7 @@ static int riscv_offline_cpu(unsigned int cpu)
> }
>
> /* Measure unaligned access speed on all CPUs present at boot in parallel. */
> -static int __init check_unaligned_access_speed_all_cpus(void)
> +static void __init check_unaligned_access_speed_all_cpus(void)
> {
> unsigned int cpu;
> unsigned int cpu_count = num_possible_cpus();
> @@ -226,7 +226,7 @@ static int __init check_unaligned_access_speed_all_cpus(void)
>
> if (!bufs) {
> pr_warn("Allocation failure, not measuring misaligned performance\n");
> - return 0;
> + return;
> }
>
> /*
> @@ -261,12 +261,10 @@ static int __init check_unaligned_access_speed_all_cpus(void)
> }
>
> kfree(bufs);
> - return 0;
> }
> #else /* CONFIG_RISCV_PROBE_UNALIGNED_ACCESS */
> -static int __init check_unaligned_access_speed_all_cpus(void)
> +static void __init check_unaligned_access_speed_all_cpus(void)
> {
> - return 0;
> }
> #endif
>
> @@ -403,10 +401,10 @@ static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __alway
>
> static int __init check_unaligned_access_all_cpus(void)
> {
> - bool all_cpus_emulated;
> int cpu;
>
> - all_cpus_emulated = check_unaligned_access_emulated_all_cpus();
> + if (!check_unaligned_access_emulated_all_cpus())
> + check_unaligned_access_speed_all_cpus();
>
> if (!has_vector()) {
> for_each_online_cpu(cpu)
> @@ -417,9 +415,6 @@ static int __init check_unaligned_access_all_cpus(void)
> NULL, "vec_check_unaligned_access_speed_all_cpus");
> }
>
> - if (!all_cpus_emulated)
> - return check_unaligned_access_speed_all_cpus();
> -
> return 0;
> }
>
Hi Andrew,
I had a similar patch in an upcoming series but you were faster !
Reviewed-by: Clément Léger <cleger@rivosinc.com>
Thanks,
Clément
© 2016 - 2026 Red Hat, Inc.