On Thu, Aug 05, 2021 at 10:01:23AM +0200, Juri Lelli wrote: > 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> Makes sense to me! But would another of the -rt people be willing to give an Acked-by? For example, maybe they would prefer this kernel boot parameter to be exposed only if (!PREEMPT_RT || NO_HZ_FULL). Or are there !NO_HZ_FULL situations where rcu_normal_after_boot makes sense? Thanx, Paul > --- > 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 >