]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
riscv: select ARCH_USE_CMPXCHG_LOCKREF
authorJisheng Zhang <jszhang@kernel.org>
Mon, 25 Mar 2024 11:10:37 +0000 (19:10 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 24 Apr 2024 19:57:48 +0000 (12:57 -0700)
Select ARCH_USE_CMPXCHG_LOCKREF to enable the cmpxchg-based lockless
lockref implementation for riscv.

Using Linus' test case[1] on TH1520 platform, I see a 11.2% improvement.
On JH7110 platform, I see 12.0% improvement.

Link: http://marc.info/?l=linux-fsdevel&m=137782380714721&w=4
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Andrea Parri <parri.andrea@gmail.com>
Link: https://lore.kernel.org/r/20240325111038.1700-2-jszhang@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig

index bffbd869a0682842883591788da784648acf1626..b8b96baad0587a48de7906066e0d551c9f3cc14d 100644 (file)
@@ -50,6 +50,7 @@ config RISCV
        select ARCH_SUPPORTS_PAGE_TABLE_CHECK if MMU
        select ARCH_SUPPORTS_PER_VMA_LOCK if MMU
        select ARCH_SUPPORTS_SHADOW_CALL_STACK if HAVE_SHADOW_CALL_STACK
+       select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
        select ARCH_USE_MEMTEST
        select ARCH_USE_QUEUED_RWLOCKS
        select ARCH_USES_CFI_TRAPS if CFI_CLANG