This is V3. V2 -> V3: - use dummy wait node to eliminate cache misses during a full llist scan to obtain a tail node; - add CONFIG_RCU_SR_NORMAL_DEBUG_GP Kconfig for a GP incomplete debug; - move synchronize_rcu()'s main control data under the rcu_state struct; - add rcutree.rcu_normal_wake_from_gp parameter description to the kernel-parameters.txt file; - split functionality into several patches. V2: https://lore.kernel.org/all/20231030131254.488186-1-urezki@xxxxxxxxx/T/ V1: https://lore.kernel.org/lkml/20231025140915.590390-1-urezki@xxxxxxxxx/T/ Neeraj Upadhyay (1): rcu: Improve handling of synchronize_rcu() users Uladzislau Rezki (Sony) (6): rcu: Reduce synchronize_rcu() latency rcu: Add a trace event for synchronize_rcu_normal() doc: Add rcutree.rcu_normal_wake_from_gp to kernel-parameters.txt rcu: Support direct wake-up of synchronize_rcu() users rcu: Move sync related data to rcu_state structure rcu: Add CONFIG_RCU_SR_NORMAL_DEBUG_GP .../admin-guide/kernel-parameters.txt | 14 + include/trace/events/rcu.h | 27 ++ kernel/rcu/Kconfig.debug | 12 + kernel/rcu/tree.c | 354 +++++++++++++++++- kernel/rcu/tree.h | 19 + kernel/rcu/tree_exp.h | 2 +- 6 files changed, 426 insertions(+), 2 deletions(-) -- 2.39.2