[PATCH] riscv: enable GENERIC_FIND_FIRST_BIT

Jisheng Zhang jszhang3 at mail.ustc.edu.cn
Wed Sep 8 08:04:27 PDT 2021


Hi Palmer,

On Sun, 18 Jul 2021 00:14:23 +0800
Jisheng Zhang wrote:

> From: Jisheng Zhang <jszhang at kernel.org>
> 
> riscv doesn't implement architecture-optimized bitsearching functions
> such as find_first_{zero}_bit() etc.
> 
> When GENERIC_FIND_FIRST_BIT=n, find_first_bit() is implemented with
> find_next_bit() which is less efficient. Enable GENERIC_FIND_FIRST_BIT
> for riscv to get more optimized find_first_bit() implementation, an
> initial test(lib/find_bit_benchmark) shows find_first_bit() performance
> is improved by nearly 32%.

It seems this patch is missed. Is it possible to pick it up for 2nd 5.15-rc1 PR?

Thanks

> 
> Signed-off-by: Jisheng Zhang <jszhang at kernel.org>
> ---
>  arch/riscv/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 8fcceb8eda07..7ebc54c5c245 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -47,6 +47,7 @@ config RISCV
>  	select GENERIC_ATOMIC64 if !64BIT
>  	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
>  	select GENERIC_EARLY_IOREMAP
> +	select GENERIC_FIND_FIRST_BIT
>  	select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO
>  	select GENERIC_IOREMAP
>  	select GENERIC_IRQ_MULTI_HANDLER





More information about the linux-riscv mailing list