diff options
author | Qais Yousef <qyousef@layalina.io> | 2023-12-03 01:12:52 +0000 |
---|---|---|
committer | Boqun Feng <boqun.feng@gmail.com> | 2024-02-14 08:00:57 -0800 |
commit | 7f66f099de4dc4b1a66a3f94e6db16409924a6f8 (patch) | |
tree | 5ca3a31d12df9a65d32b9001372210857195f393 /kernel/rcu/Kconfig | |
parent | 499d7e7e83d25fcf0fa1a8c0be6857a84cbf6a4a (diff) | |
download | lwn-7f66f099de4dc4b1a66a3f94e6db16409924a6f8.tar.gz lwn-7f66f099de4dc4b1a66a3f94e6db16409924a6f8.zip |
rcu: Provide a boot time parameter to control lazy RCU
To allow more flexible arrangements while still provide a single kernel
for distros, provide a boot time parameter to enable/disable lazy RCU.
Specify:
rcutree.enable_rcu_lazy=[y|1|n|0]
Which also requires
rcu_nocbs=all
at boot time to enable/disable lazy RCU.
To disable it by default at build time when CONFIG_RCU_LAZY=y, the new
CONFIG_RCU_LAZY_DEFAULT_OFF can be used.
Signed-off-by: Qais Yousef (Google) <qyousef@layalina.io>
Tested-by: Andrea Righi <andrea.righi@canonical.com>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Diffstat (limited to 'kernel/rcu/Kconfig')
-rw-r--r-- | kernel/rcu/Kconfig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig index bdd7eadb33d8..e7d2dd267593 100644 --- a/kernel/rcu/Kconfig +++ b/kernel/rcu/Kconfig @@ -314,6 +314,19 @@ config RCU_LAZY To save power, batch RCU callbacks and flush after delay, memory pressure, or callback list growing too big. + Requires rcu_nocbs=all to be set. + + Use rcutree.enable_rcu_lazy=0 to turn it off at boot time. + +config RCU_LAZY_DEFAULT_OFF + bool "Turn RCU lazy invocation off by default" + depends on RCU_LAZY + default n + help + Allows building the kernel with CONFIG_RCU_LAZY=y yet keep it default + off. Boot time param rcutree.enable_rcu_lazy=1 can be used to switch + it back on. + config RCU_DOUBLE_CHECK_CB_TIME bool "RCU callback-batch backup time check" depends on RCU_EXPERT |