[PATCH -tip v3 0/5] locking: Use acquire/release semantics
From: Davidlohr Bueso
Date: Wed Sep 30 2015 - 16:05:05 EST
Changes from v2:
o Redid changelog for patches 2-5 (tglx)
Changes from v1:
o Fix bogus acquire in generic rwsem lock downgrade (Linus)
o Fix bogus acquire in unlock_rt_mutex_safe() (tglx)
Hi,
This series continues porting users to Will's new _{acquire|release|relaxed}
optimizations for weakly ordered archs -- and in practice, arm64 being the only
actual user we have, thus could use a _lot_ more testing. While we have osq in
-tip recently, along with Waiman's one for native qspinlocks, the following
patches pretty much complete the move over for all things kernel/locking/*.
Of course, particular primitives can be found in the obvious patch titles. Note
that patch 1 adds the necessary machinery to fully support some locks, such as
rwsems.
Compiles on x86 and x86-64.
Thanks!
Davidlohr Bueso (5):
asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec
atomics
locking/mutex: Use acquire/release semantics
locking/rtmutex: Use acquire/release semantics
locking/mcs: Use acquire/release semantics
locking/rwsem: Use acquire/release semantics
include/asm-generic/atomic-long.h | 29 +++++++-----
include/asm-generic/mutex-dec.h | 8 ++--
include/asm-generic/mutex-xchg.h | 10 ++--
include/asm-generic/rwsem.h | 21 ++++++---
include/linux/atomic.h | 97 +++++++++++++++++++++++++++++++++++++++
kernel/locking/mcs_spinlock.h | 4 +-
kernel/locking/mutex.c | 9 ++--
kernel/locking/rtmutex.c | 30 ++++++++----
kernel/locking/rwsem-xadd.c | 5 +-
9 files changed, 168 insertions(+), 45 deletions(-)
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/