linux/arch
Waiman Long 390a0c62c2 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs
Currently, we have two different implementation of rwsem:

 1) CONFIG_RWSEM_GENERIC_SPINLOCK (rwsem-spinlock.c)
 2) CONFIG_RWSEM_XCHGADD_ALGORITHM (rwsem-xadd.c)

As we are going to use a single generic implementation for rwsem-xadd.c
and no architecture-specific code will be needed, there is no point
in keeping two different implementations of rwsem. In most cases, the
performance of rwsem-spinlock.c will be worse. It also doesn't get all
the performance tuning and optimizations that had been implemented in
rwsem-xadd.c over the years.

For simplication, we are going to remove rwsem-spinlock.c and make all
architectures use a single implementation of rwsem - rwsem-xadd.c.

All references to RWSEM_GENERIC_SPINLOCK and RWSEM_XCHGADD_ALGORITHM
in the code are removed.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-c6x-dev@linux-c6x.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-xtensa@linux-xtensa.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: nios2-dev@lists.rocketboards.org
Cc: openrisc@lists.librecores.org
Cc: uclinux-h8-devel@lists.sourceforge.jp
Link: https://lkml.kernel.org/r/20190322143008.21313-3-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-03 14:50:52 +02:00
..
alpha locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
arc locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
arm locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
arm64 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
c6x locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
csky locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
h8300 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
hexagon locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
ia64 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
m68k locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
microblaze locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
mips locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
nds32 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
nios2 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
openrisc locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
parisc locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
powerpc locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
riscv locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
s390 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
sh locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
sparc locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
um Merge branch 'for-linus-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml 2019-03-15 15:07:32 -07:00
unicore32 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
x86 locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
xtensa locking/rwsem: Remove rwsem-spinlock.c & use rwsem-xadd.c for all archs 2019-04-03 14:50:52 +02:00
.gitignore
Kconfig Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00