arm64: rwsem: use asm-generic rwsem implementation
authorWill Deacon <will.deacon@arm.com>
Fri, 14 Mar 2014 17:47:05 +0000 (17:47 +0000)
committerMark Brown <broonie@linaro.org>
Wed, 21 May 2014 17:58:47 +0000 (18:58 +0100)
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>
(cherry picked from commit c209f79940ac0c75ae8d2f503a2b9d86255e266c)
Signed-off-by: Mark Brown <broonie@linaro.org>
arch/arm64/Kconfig
arch/arm64/include/asm/Kbuild

index d5b813ed86a12cb489a258505315ef1e0ff335af..8efcec96de7257fdc55a7e7300b1ef6a339d7fcb 100644 (file)
@@ -69,7 +69,7 @@ config LOCKDEP_SUPPORT
 config TRACE_IRQFLAGS_SUPPORT
        def_bool y
 
-config RWSEM_GENERIC_SPINLOCK
+config RWSEM_XCHGADD_ALGORITHM
        def_bool y
 
 config GENERIC_HWEIGHT
index ae0612c4fa45c944ddf1d996b49d903eb19364f2..53c4a29464441c82ab8447581b4d7f93c17b7a8e 100644 (file)
@@ -29,6 +29,7 @@ generic-y += pci.h
 generic-y += poll.h
 generic-y += posix_types.h
 generic-y += resource.h
+generic-y += rwsem.h
 generic-y += scatterlist.h
 generic-y += sections.h
 generic-y += segment.h