[PATCH tip/core/rcu 0/7] Early-boot RCU callbacks for v4.1

From: Paul E. McKenney
Date: Tue Mar 03 2015 - 11:45:39 EST


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(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/