Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: rwsem: use asm-generic rwsem implementation

asm-generic offers an atomic-add based rwsem implementation, which
can avoid the need for heavier, spinlock-based synchronisation on the
fast path.

This patch makes use of the optimised implementation for arm64 CPUs.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

authored by

Will Deacon and committed by
Catalin Marinas
c209f799 e172800e

+2 -1
+1 -1
arch/arm64/Kconfig
··· 77 77 config TRACE_IRQFLAGS_SUPPORT 78 78 def_bool y 79 79 80 - config RWSEM_GENERIC_SPINLOCK 80 + config RWSEM_XCHGADD_ALGORITHM 81 81 def_bool y 82 82 83 83 config GENERIC_HWEIGHT
+1
arch/arm64/include/asm/Kbuild
··· 29 29 generic-y += poll.h 30 30 generic-y += posix_types.h 31 31 generic-y += resource.h 32 + generic-y += rwsem.h 32 33 generic-y += scatterlist.h 33 34 generic-y += sections.h 34 35 generic-y += segment.h