Re: [PATCH RFC v2] rcu: Add a minimum time for marking boot as completed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Feb 27, 2023, at 2:53 AM, Zhuo, Qiuxu <qiuxu.zhuo@xxxxxxxxx> wrote:
> 
> 
>> 
>> From: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
>> Sent: Saturday, February 25, 2023 11:34 AM
>> To: linux-kernel@xxxxxxxxxxxxxxx
>> Cc: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>; Frederic Weisbecker
>> <frederic@xxxxxxxxxx>; Lai Jiangshan <jiangshanlai@xxxxxxxxx>; linux-
>> doc@xxxxxxxxxxxxxxx; Paul E. McKenney <paulmck@xxxxxxxxxx>;
>> rcu@xxxxxxxxxxxxxxx
>> Subject: [PATCH RFC v2] rcu: Add a minimum time for marking boot as
>> completed
>> 
>> On many systems, a great deal of boot happens after the kernel thinks the
>> boot has completed. It is difficult to determine if the system has really
>> booted from the kernel side. Some features like lazy-RCU can risk slowing
>> down boot time if, say, a callback has been added that the boot
>> synchronously depends on.
>> 
>> Further, it is better to boot systems which pass 'rcu_normal_after_boot' to
>> stay expedited for as long as the system is still booting.
>> 
>> For these reasons, this commit adds a config option
>> 'CONFIG_RCU_BOOT_END_DELAY' and a boot parameter
>> rcupdate.boot_end_delay.
>> 
>> By default, this value is 20s. A system designer can choose to specify a value
>> here to keep RCU from marking boot completion.  The boot sequence will not
>> be marked ended until at least boot_end_delay milliseconds have passed.
> 
> Hi Joel,
> 
> Just some thoughts on the default value of 20s, correct me if I'm wrong :-).
> 
> Does the OS with CONFIG_PREEMPT_RT=y kernel concern more about the 
> real-time latency than the overall OS boot time?

But every system has to boot, even an RT system.

> 
> If so, we might make rcupdate.boot_end_delay = 0 as the default value 
> (NOT the default 20s) for CONFIG_PREEMPT_RT=y kernels? 

Could you measure how much time your RT system takes to boot before the application runs?

I can change it to default 0 essentially NOOPing it, but I would rather have a saner default (10 seconds even), than having someone forget to tune this for their system.

Thanks,

 - Joel


> 
> -Qiuxu
> 
>> Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
>> ---
>> v1->v2:
>>    Update some comments and description.
>> ...
> 




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux