All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/2] Enforce RCU grace-period transitivity
@ 2015-12-04 23:41 Paul E. McKenney
  2015-12-04 23:42 ` [PATCH tip/core/rcu 1/2] rcu: Create transitive rnp->lock acquisition functions Paul E. McKenney
  2015-12-04 23:42 ` [PATCH tip/core/rcu 2/2] rcu: Add transitivity to remaining rcu_node ->lock acquisitions Paul E. McKenney
  0 siblings, 2 replies; 3+ messages in thread
From: Paul E. McKenney @ 2015-12-04 23:41 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, dvhart, fweisbec, oleg,
	bobby.prani

Hello!

Within RCU, acquisitions of the rcu_node structure's ->lock field must
be followed by smp_mb__after_unlock_lock() in order to enforce RCU's
grace-period memory-ordering guarantees.  In theory, acquisitions for
debug purposes need not have smp_mb__after_unlock_lock(), but in practice,
anything other than fully consistent enforcement of this rule is a recipe
for disaster.  This series therefore adds smp_mb__after_unlock_lock()
for consistency:

1.	Create wrapper functions to minimize the number of these
	smp_mb__after_unlock_lock() calls, and apply these wrapper
	functions throughout.  Courtesy of Peter Zijlstra.

2.	Catch up wrapper-function application to patches that were
	in flight at the time #1 was created.

							Thanx, Paul

------------------------------------------------------------------------

 b/kernel/rcu/tree.c        |  102 ++++++++++++++++-----------------------------
 b/kernel/rcu/tree.h        |   39 +++++++++++++++++
 b/kernel/rcu/tree_plugin.h |   20 +++-----
 b/kernel/rcu/tree_trace.c  |    2 
 4 files changed, 85 insertions(+), 78 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-12-04 23:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-04 23:41 [PATCH tip/core/rcu 0/2] Enforce RCU grace-period transitivity Paul E. McKenney
2015-12-04 23:42 ` [PATCH tip/core/rcu 1/2] rcu: Create transitive rnp->lock acquisition functions Paul E. McKenney
2015-12-04 23:42 ` [PATCH tip/core/rcu 2/2] rcu: Add transitivity to remaining rcu_node ->lock acquisitions Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.