Re: [PATCH] riscv: enable GENERIC_FIND_FIRST_BIT

From: Kefeng Wang
Date: Wed Sep 08 2021 - 20:58:36 EST



On 2021/9/8 23:04, Jisheng Zhang wrote:
Hi Palmer,

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

From: Jisheng Zhang <jszhang@xxxxxxxxxx>

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

It is enabled unconditionally by following commit

commit dbbccfe505ef8fae804677abf0564c1e07479102

Author: Yury Norov <yury.norov@xxxxxxxxx>
Date:   Tue Aug 24 09:59:56 2021 +1000

    arch: remove GENERIC_FIND_FIRST_BIT entirely


Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
---
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


_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv
.