rcu: make RCU_BOOST default on RT

From: Paul E. McKenney
Date: Thu Nov 01 2018 - 19:25:24 EST


> Since it is no longer invoked from the softirq people run into OOM more
> often if the priority of the RCU thread is too low. Making boosting
> default on RT should help in those case and it can be switched off if
> someone knows better.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>
> diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
> index 644264be90f0..0be2c96fb640 100644
> --- a/kernel/rcu/Kconfig
> +++ b/kernel/rcu/Kconfig
> @@ -36,7 +36,7 @@ config TINY_RCU
>
> config RCU_EXPERT
> bool "Make expert-level adjustments to RCU configuration"
> - default n
> + default y if PREEMPT_RT_FULL

Would it work to leave this as is, and ...

> help
> This option needs to be enabled if you wish to make
> expert-level adjustments to RCU configuration. By default,
> @@ -191,7 +191,7 @@ config RCU_FAST_NO_HZ
> config RCU_BOOST
> bool "Enable RCU priority boosting"
> depends on RT_MUTEXES && PREEMPT_RCU && RCU_EXPERT

... make the above line instead be:

depends on (RT_MUTEXES && PREEMPT_RCU && RCU_EXPERT) || PREEMPT_RT_FULL

Or am I missing something?

I agree that the risk might currently seem small, but if Linus ever
starts building PREEMPT_RT_FULL kernels, I really really do not want
RCU_EXPERT to be set. ;-)

Thanx, Paul

> - default n
> + default y if PREEMPT_RT_FULL
> help
> This option boosts the priority of preempted RCU readers that
> block the current preemptible RCU grace period for too long.