Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1284344 > unrolled thread
| Started by | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| First post | 2015-12-05 00:50 +0100 |
| Last post | 2015-12-05 00:50 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH tip/core/rcu 0/2] Enforce RCU grace-period transitivity "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-12-05 00:50 +0100
| From | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-12-05 00:50 +0100 |
| Subject | [PATCH tip/core/rcu 0/2] Enforce RCU grace-period transitivity |
| Message-ID | <qC8gV-Xi-7@gated-at.bofh.it> |
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(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to top | Article view | linux.kernel
csiph-web