Skip to content

Preemptible-RCU updates for 3.20

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest14 patches 15 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14rcu: Protect rcu_boost() lockless accesses with ACCESS_ONCE()kernel/rcu/tree_plugin.h+2 -115 replies
2/14rcu: Rename "empty" to "empty_norm" in preparation for boost reworkkernel/rcu/tree_plugin.h+3 -30 replies
3/14rcu: Abstract rcu_cleanup_dead_rnp() from rcu_cleanup_dead_cpu()kernel/rcu/tree.c kernel/rcu/tree.h kernel/rcu/tree_plugin.h+66 -190 replies
4/14rcu: Make rcu_read_unlock_special() propagate ->qsmaskinit bit clearingkernel/rcu/tree.c kernel/rcu/tree_plugin.h+17 -30 replies
5/14rcu: Don't migrate blocked tasks even if all corresponding CPUs offlinekernel/rcu/tree.c kernel/rcu/tree.h kernel/rcu/tree_plugin.h+4 -1600 replies
6/14rcu: Shorten irq-disable region in rcu_cleanup_dead_cpu()kernel/rcu/tree.c+2 -20 replies
7/14rcu: Make use of rcu_preempt_has_tasks()kernel/rcu/tree_plugin.h+3 -30 replies
8/14rcu: Don't spawn rcub kthreads on root rcu_node structurekernel/rcu/tree_plugin.h+2 -60 replies
9/14rcu: Don't initiate RCU priority boosting on root rcu_nodekernel/rcu/tree.c+0 -60 replies
10/14rcu: Don't bother affinitying rcub kthreads away from offline CPUskernel/rcu/tree_plugin.h+1 -50 replies
11/14rcu: Note quiescent state when CPU goes offlinekernel/rcu/tree.c+1 -10 replies
12/14rcu: Revert "Allow post-unlock reference for rt_mutex" to avoid priority-inversionkernel/rcu/tree.h kernel/rcu/tree_plugin.h+1 -120 replies
13/14rcu: Don't scan root rcu_node structure for stalled taskskernel/rcu/tree.c+0 -90 replies
14/14rcu: Remove redundant callback-list initializationkernel/rcu/tree.c+0 -30 replies

Reviews trailers per patch

1 of 14 patches has a Reviewed-by or Acked-by.

PatchPaul E. McKenneyDavidlohr Bueso
1/14A-b A-b
2/14
3/14
4/14
5/14
6/14
7/14
8/14
9/14
10/14
11/14
12/14
13/14
14/14

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/14] Preemptible-RCU updates for 3.20

Hello!

This series fixes some problems in preemptible RCU.

1. Protect rcu_boost() lockless accesses with ACCESS_ONCE().

2-11. Fix a low-probability long-standing bug in preemptible RCU that
could occur in systems with more than 16 CPUs, but only if a full bank of 16 CPUs (as in 0-15, 16-31, 32-47, ...) was taken offline. See http://paulmck.livejournal.com/37782.html for more details.

12. Revert old commit that worked around an rt_mutex bug. This old
commit could cause priority inversion, and the rt_mutex bug has long since been fixed. Courtesy of Lai Jiangshan.

13. Simplify grace-period code, enabled by 2-11 above.

14. Remove redundant RCU callback list initialization.

Thanx, Paul

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

 b/kernel/rcu/tree.c        |  115 +++++++++++++-------------
 b/kernel/rcu/tree.h        |   24 -----
 b/kernel/rcu/tree_plugin.h |  196 ++++++++++-----------------------------------
 3 files changed, 102 insertions(+), 233 deletions(-)