linux-bl808/kernel/locking
Oleg Nesterov 001dac627f locking/percpu-rwsem: Make use of the rcu_sync infrastructure
Currently down_write/up_write calls synchronize_sched_expedited()
twice, which is evil.  Change this code to rely on rcu-sync primitives.
This avoids the _expedited "big hammer", and this can be faster in
the contended case or even in the case when a single thread does
down_write/up_write in a loop.

Of course, a single down_write() will take more time, but otoh it
will be much more friendly to the whole system.

To simplify the review this patch doesn't update the comments, fixed
by the next change.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2015-10-06 11:25:31 -07:00
..
lglock.c
lockdep.c
lockdep_internals.h
lockdep_proc.c
lockdep_states.h
locktorture.c locktorture: Add torture tests for percpu_rwsem 2015-10-06 11:24:56 -07:00
Makefile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-09-05 20:34:28 -07:00
mcs_spinlock.h
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
osq_lock.c
percpu-rwsem.c locking/percpu-rwsem: Make use of the rcu_sync infrastructure 2015-10-06 11:25:31 -07:00
qrwlock.c locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics 2015-08-12 11:59:06 +02:00
qspinlock.c locking/qspinlock/x86: Fix performance regression under unaccelerated VMs 2015-09-11 07:49:42 +02:00
qspinlock_paravirt.h locking/pvqspinlock: Only kick CPU at unlock time 2015-08-03 10:57:11 +02:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem-spinlock.c
rwsem-xadd.c
rwsem.c
rwsem.h
semaphore.c
spinlock.c
spinlock_debug.c