Subject: [GIT PULL locking/mb] Locking/memory-barrier commits

From: "Paul E. McKenney" <[email-masked]>
Date: Fri, 13 Dec 2013 23:48:46 -0800

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(-)