In this patch series, we separated out the MCS lock code which was previously embedded in the mutex.c. This allows for easier reuse of MCS lock in other places like rwsem and qrwlock. We also did some micro optimizations and barrier cleanup. This patches were previously part of the rwsem optimization patch series but now we spearate them out. Tim Chen v4: 1. Move patch series to the latest tip after v3.12 v3: 1. modified memory barriers to support non x86 architectures that have weak memory ordering. v2: 1. change export mcs_spin_lock as a GPL export symbol 2. corrected mcs_spin_lock to references Jason Low (2): MCS Lock: optimizations and extra comments MCS Lock: Barrier corrections Tim Chen (1): MCS Lock: Restructure the MCS lock defines and locking code into its own file Waiman Long (2): MCS Lock: Make mcs_spinlock.h includable in other files MCS Lock: Allow architecture specific memory barrier in lock/unlock arch/x86/include/asm/barrier.h | 6 +++ include/linux/mcs_spinlock.h | 25 ++++++++++ include/linux/mutex.h | 5 +- kernel/locking/Makefile | 6 +- kernel/locking/mcs_spinlock.c | 96 ++++++++++++++++++++++++++++++++++++++++ kernel/locking/mutex.c | 60 +++---------------------- 6 files changed, 140 insertions(+), 58 deletions(-) create mode 100644 include/linux/mcs_spinlock.h create mode 100644 kernel/locking/mcs_spinlock.c -- 1.7.4.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>