So this set has grown further than I expected. This addresses most reviews from Paul and also consolidates the nocb timers code. Please mind the very first patch that is a stable bugfix. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git rcu/dev HEAD: 75991420c246c26f598602da1a70947b5bdf77b6 Thanks, Frederic --- Frederic Weisbecker (16): rcu/nocb: Fix potential missed nocb_timer rearm rcu/nocb: Comment the reason behind BH disablement on batch processing rcu/nocb: Forbid NOCB toggling on offline CPUs rcu/nocb: Only (re-)initialize segcblist when needed on CPU up rcu/nocb: Disable bypass when CPU isn't completely offloaded rcu/nocb: Avoid confusing double write of rdp->nocb_cb_sleep rcu/nocb: Rename nocb_gp_update_state to nocb_gp_update_state_deoffloading rcu/nocb: Move trace_rcu_nocb_wake() calls outside nocb_lock when possible rcu/nocb: Merge nocb_timer to the rdp leader rcu/nocb: Directly call __wake_nocb_gp() from bypass timer rcu/nocb: Allow de-offloading rdp leader rcu/nocb: Cancel nocb_timer upon nocb_gp wakeup rcu/nocb: Delete bypass_timer upon nocb_gp wakeup rcu/nocb: Only cancel nocb timer if not polling rcu/nocb: Prepare for finegrained deferred wakeup rcu/nocb: Unify timers include/linux/rcu_segcblist.h | 7 +- include/trace/events/rcu.h | 1 + kernel/rcu/tree.c | 12 +- kernel/rcu/tree.h | 9 +- kernel/rcu/tree_plugin.h | 280 ++++++++++++++++++++++-------------------- 5 files changed, 163 insertions(+), 146 deletions(-)