mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
rcu: update: Make RCU_EXPEDITE_BOOT be the default
RCU_EXPEDITE_BOOT should speed up the boot process by enforcing synchronize_rcu_expedited() instead of synchronize_rcu() during the boot process. There should be no reason why one does not want this and there is no need worry about real time latency at this point. Therefore make it default. Note that users wishing to avoid expediting entirely, for example when bringing up new hardware possibly having flaky IPIs, can use the rcu_normal boot parameter to override boot-time expediting. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> [ paulmck: Reworded commit log. ] Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
parent
52d7e48b86
commit
7c6094db59
13
init/Kconfig
13
init/Kconfig
@ -781,19 +781,6 @@ config RCU_NOCB_CPU_ALL
|
||||
|
||||
endchoice
|
||||
|
||||
config RCU_EXPEDITE_BOOT
|
||||
bool
|
||||
default n
|
||||
help
|
||||
This option enables expedited grace periods at boot time,
|
||||
as if rcu_expedite_gp() had been invoked early in boot.
|
||||
The corresponding rcu_unexpedite_gp() is invoked from
|
||||
rcu_end_inkernel_boot(), which is intended to be invoked
|
||||
at the end of the kernel-only boot sequence, just before
|
||||
init is exec'ed.
|
||||
|
||||
Accept the default if unsure.
|
||||
|
||||
endmenu # "RCU Subsystem"
|
||||
|
||||
config BUILD_BIN2C
|
||||
|
@ -132,8 +132,7 @@ bool rcu_gp_is_normal(void)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rcu_gp_is_normal);
|
||||
|
||||
static atomic_t rcu_expedited_nesting =
|
||||
ATOMIC_INIT(IS_ENABLED(CONFIG_RCU_EXPEDITE_BOOT) ? 1 : 0);
|
||||
static atomic_t rcu_expedited_nesting = ATOMIC_INIT(1);
|
||||
|
||||
/*
|
||||
* Should normal grace-period primitives be expedited? Intended for
|
||||
@ -182,8 +181,7 @@ EXPORT_SYMBOL_GPL(rcu_unexpedite_gp);
|
||||
*/
|
||||
void rcu_end_inkernel_boot(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_RCU_EXPEDITE_BOOT))
|
||||
rcu_unexpedite_gp();
|
||||
rcu_unexpedite_gp();
|
||||
if (rcu_normal_after_boot)
|
||||
WRITE_ONCE(rcu_normal, 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user