Skip to content

Post RCU callbacks at early boot

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7rcu: Abstract default callback-list initialization from init_callback_list()kernel/rcu/tree.c+14 -40 replies
2/7rcu: Wire ->rda pointers at compile timekernel/rcu/tree.c+3 -30 replies
3/7rcu: Prevent early-boot RCU callbacks from splattingkernel/rcu/tree.c+15 -50 replies
4/7rcu: Refine diagnostics for lacking kthread for no-CBs callbackskernel/rcu/tree_plugin.h+2 -10 replies
5/7rcu: Avoid clobbering early boot callbackskernel/rcu/tree.c+2 -10 replies
6/7rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUskernel/rcu/tree.c kernel/rcu/tree_plugin.h+13 -120 replies
7/7rcu: Move early boot callback tests earlierkernel/rcu/tree.c+2 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/7] Post RCU callbacks at early boot

Hello!

This series, probably for v3.21, contains changes that allow RCU callbacks to be posted at very early boot, as in before rcu_init() is called. This was requested by the tracing folks. This series applies against tip/core/rcu, and probably not against current mainline.

The patches in this series are as follows:

1. Abstract initialization of callback lists.

2. Wire up the rcu_state structures' ->rda pointers at compile time.

3. Prevent early boot callbacks from splatting.

4. Refine diagnostics for lacking an rcuo kthread for no-CBs
CPUs that have callbacks posted.

5. Avoid clobbering lists of early boot callbacks.

6. Move early boot callbacks as needed by no-CBs CPUs.

7. Move early boot callbacks tests to beginning of rcu_init().

This passes modest rcutorture testing, but is probably missing a corner case or two.

Thanx, Paul

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

 b/kernel/rcu/tree.c        |   52 ++++++++++++++++++++++++++++++++-------------
 b/kernel/rcu/tree_plugin.h |   27 ++++++++++++-----------
 2 files changed, 51 insertions(+), 28 deletions(-)