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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/