[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210718001423.6b8e1d23@xhacker>
Date: Sun, 18 Jul 2021 00:14:23 +0800
From: Jisheng Zhang <jszhang3@...l.ustc.edu.cn>
To: Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>
Cc: linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH] riscv: enable GENERIC_FIND_FIRST_BIT
From: Jisheng Zhang <jszhang@...nel.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@...nel.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
Powered by blists - more mailing lists