riscv: select ARCH_USE_CMPXCHG_LOCKREF
authorJisheng Zhang <jszhang@kernel.org>
Sat, 25 Nov 2023 08:21:43 +0000 (16:21 +0800)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 13 Mar 2024 06:58:50 +0000 (15:58 +0900)
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>
(cherry picked from commit 186355454e915e2ef9897127c495edbe4959c82e)
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
arch/riscv/Kconfig

index 720f7a351e43525caeaf3911221f4c6dae72d291..ef3b0502bcff4a548b5304e190acb626d8f8d266 100644 (file)
@@ -35,6 +35,7 @@ config RISCV
        select ARCH_KEEP_MEMBLOCK
        select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
+       select ARCH_USE_CMPXCHG_LOCKREF
        select ARCH_USE_QUEUED_SPINLOCKS
        select ARCH_USE_QUEUED_RWLOCKS
        select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU