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

From: Joel Fernandes
Date: Wed Mar 01 2023 - 10:57:53 EST


On Tue, Feb 28, 2023 at 8:34 PM Zhuo, Qiuxu <qiuxu.zhuo@xxxxxxxxx> wrote:
>
> > From: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx>
> > Sent: Tuesday, February 28, 2023 10:27 PM
> > To: Zhuo, Qiuxu <qiuxu.zhuo@xxxxxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx; Frederic Weisbecker <frederic@xxxxxxxxxx>;
> > Lai Jiangshan <jiangshanlai@xxxxxxxxx>; linux-doc@xxxxxxxxxxxxxxx; Paul E.
> > McKenney <paulmck@xxxxxxxxxx>; rcu@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH RFC v2] rcu: Add a minimum time for marking boot as
> > completed
> >
> > On Tue, Feb 28, 2023 at 1:40 AM Zhuo, Qiuxu <qiuxu.zhuo@xxxxxxxxx> wrote:
> > >
> > [...]
> > > My testing showed the positive result that the OS boot time was
> > > reduced by ~4.6% on my side after applying Joel’s patch.
> >
> > Wow, this is great! I am guessing you have CONFIG_RCU_LAZY disabled,
> > when you tested. If so, that is great news that expediting RCU for a bit longer
> > improves boot time! Please confirm that your config had LAZY disabled.
> >
>
> I confirm that CONFIG_RCU_LAZY kernel configuration was disabled in my testing.
> All the kernel configurations for RCU used in my testing are as below:

Thank you! Good to know there is improvement in *existing code*,
that's the power of upstream... new features fix/improve old ones
sometimes.

Any case, I will include all your data in v3. Thanks!

- Joel

>
> #
> # RCU Subsystem
> #
> CONFIG_TREE_RCU=y
> CONFIG_PREEMPT_RCU=y
> CONFIG_RCU_EXPERT=y
> CONFIG_SRCU=y
> CONFIG_TREE_SRCU=y
> CONFIG_TASKS_RCU_GENERIC=y
> # CONFIG_FORCE_TASKS_RCU is not set
> CONFIG_TASKS_RCU=y
> # CONFIG_FORCE_TASKS_RUDE_RCU is not set
> # CONFIG_FORCE_TASKS_TRACE_RCU is not set
> CONFIG_TASKS_TRACE_RCU=y
> CONFIG_RCU_STALL_COMMON=y
> CONFIG_RCU_NEED_SEGCBLIST=y
> CONFIG_RCU_FANOUT=32
> CONFIG_RCU_FANOUT_LEAF=16
> # CONFIG_RCU_BOOST is not set
> CONFIG_RCU_BOOT_END_DELAY=20000
> CONFIG_RCU_NOCB_CPU=y
> # CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set
> # CONFIG_TASKS_TRACE_RCU_READ_MB is not set
> # CONFIG_RCU_LAZY is not set
> # end of RCU Subsystem
>
> -Qiuxu