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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/