Messages in this thread Patch in this message | | | Date | Sun, 18 Jul 2021 00:14:23 +0800 | From | Jisheng Zhang <> | Subject | [PATCH] riscv: enable GENERIC_FIND_FIRST_BIT |
| |
From: Jisheng Zhang <jszhang@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%.
Signed-off-by: Jisheng Zhang <jszhang@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 -- 2.32.0
| |