Enforce RCU grace-period transitivity
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest2 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | rcu: Create transitive rnp->lock acquisition functionskernel/ kernel/ kernel/ | +71 | 0 replies | |
| 2/2 | rcu: Add transitivity to remaining rcu_node ->lock acquisitionskernel/ kernel/ kernel/ | +14 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH tip/core/rcu 0/2] Enforce RCU grace-period transitivity
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(-)