Early-boot RCU callbacks for v4.1
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest7 patches 2 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | rcu: Abstract default callback-list initialization from init_callback_list()kernel/ | +14 | 0 replies | |
| 2/7 | rcu: Wire ->rda pointers at compile timekernel/ | +3 | 0 replies | |
| 3/7 | rcu: Prevent early-boot RCU callbacks from splattingkernel/ | +15 | 0 replies | |
| 4/7 | rcu: Refine diagnostics for lacking kthread for no-CBs callbackskernel/ | +2 | 0 replies | |
| 5/7 | rcu: Avoid clobbering early boot callbackskernel/ | +2 | 0 replies | |
| 6/7 | rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUskernel/ kernel/ | +13 | 2 replies | |
| 7/7 | rcu: Move early boot callback tests earlierkernel/ | +2 | 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/7] Early-boot RCU callbacks for v4.1
Hello!
This series allows RCU callbacks to be posted very early at boot time, even before rcu_init() is called.
1. Abstract initialization of the default (non-no-CB) callbacks list
from the init_callback_list() function into a new init_default_callback_list() function.
2. Initialize rcu_state structures' ->rda pointers to per-CPU
rcu_data structures at compile time, so that this linkage is established for early-boot usage.
3. Remove diagnostics that currently splat in the presence of
early-boot RCU callbacks.
4. Update no-CBs diagnostics to allow for early-boot RCU callbacks.
5. Make RCU's CPU-hotplug online code avoid initializing non-empty
RCU callback lists in order to avoid leaking early-boot callbacks.
6. When a given CPU is determined to be a no-CBs CPU, move any
early-boot callbacks to its no-CBs callback list.
7. Move the early-boot callback tests to precede rcu_init()'s
initialization code, the better to test all the above.
Thanx, Paul
------------------------------------------------------------------------
b/kernel/rcu/tree.c | 52 ++++++++++++++++++++++++++++++++------------- b/kernel/rcu/tree_plugin.h | 27 ++++++++++++----------- 2 files changed, 51 insertions(+), 28 deletions(-)