mirror of https://lore.kernel.org/lkml/
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®