Certain configurations (e.g., systems that make heavy use of netns) need to use synchronize_rcu_expedited() to service RCU grace periods even after boot. Even though synchronize_rcu_expedited() has been traditionally considered harmful for RT for the heavy use of IPIs, it is perfectly usable under certain conditions (e.g. nohz_full). Make rcupdate.rcu_normal_after_boot= again writeable on RT, but keep its default value to 1 (enabled) to avoid regressions. Users who need synchronize_rcu_expedited() will boot with rcupdate.rcu_normal_after_ boot=0 in the kernel cmdline. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxxxxx> --- kernel/rcu/update.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index c21b38cc25e9..0fdbf937edac 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -57,9 +57,7 @@ module_param(rcu_expedited, int, 0); module_param(rcu_normal, int, 0); static int rcu_normal_after_boot = IS_ENABLED(CONFIG_PREEMPT_RT); -#ifndef CONFIG_PREEMPT_RT module_param(rcu_normal_after_boot, int, 0); -#endif #endif /* #ifndef CONFIG_TINY_RCU */ #ifdef CONFIG_DEBUG_LOCK_ALLOC -- 2.31.1