[GIT PULL locking/mb] Locking/memory-barrier commits
Paul E. McKenney
paulmck at linux.vnet.ibm.com
Sat Dec 14 18:48:46 EST 2013
Hello, Ingo,
This pull request contains additions to the memory-barrier documentation,
along with a downgrading of UNLOCK+LOCK to no longer be a full memory
barrier, and finally an smp_mb__after_unlock_lock() that allows upgrading
a particular LOCK to pair with a preceding UNLOCK to form a full memory
barrier, and application of smp_mb__after_unlock_lock() to RCU.
The first four documentation commits are ready for 3.14:
b145f8acfd82 (Add needed ACCESS_ONCE() calls to memory-barriers.txt)
6be08d626389 (Add long atomic examples to memory-barriers.txt)
c89bb78cfbe1 (Prohibit speculative writes)
b2ba08be67fc (Document ACCESS_ONCE())
The remaining commits might or might not be, but are at a point where
getting them into -tip is appropriate given other changes in this area,
e.g., Peter's smp_load_acquire() and smp_store_release().
These changes are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git locking/mb
for you to fetch changes up to 9f9df17e265b2c5aea11a95e3e69269d005ac0ae:
powerpc: Full barrier for smp_mb__after_unlock_lock() (2013-12-13 09:05:13 -0800)
----------------------------------------------------------------
Paul E. McKenney (7):
Documentation/memory-barriers.txt: Add needed ACCESS_ONCE() calls to memory-barriers.txt
Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt
Documentation/memory-barriers.txt: Document ACCESS_ONCE()
locking: Add an smp_mb__after_unlock_lock() for UNLOCK+LOCK barrier
Documentation/memory-barriers.txt: Downgrade UNLOCK+LOCK
rcu: Apply smp_mb__after_unlock_lock() to preserve grace periods
powerpc: Full barrier for smp_mb__after_unlock_lock()
Peter Zijlstra (1):
Documentation/memory-barriers.txt: Prohibit speculative writes
Documentation/memory-barriers.txt | 733 ++++++++++++++++++++++++++++++------
arch/powerpc/include/asm/spinlock.h | 2 +
include/linux/spinlock.h | 10 +
kernel/rcu/tree.c | 18 +-
kernel/rcu/tree_plugin.h | 13 +
5 files changed, 661 insertions(+), 115 deletions(-)
More information about the Linuxppc-dev
mailing list