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

From: Frederic Weisbecker
Date: Mon Feb 27 2023 - 18:40:54 EST


On Mon, Feb 27, 2023 at 03:05:02PM -0800, Paul E. McKenney wrote:
> On Mon, Feb 27, 2023 at 02:10:30PM -0500, Joel Fernandes wrote:
>
> The combination of sysfs manipulated by userspace and a kernel failsafe
> makes sense to me. Especially if by default triggering the failsafe
> splats. That way, bugs where userspace fails to update the sysfs file
> get caught.
>
> The non-default silent-failsafe mode is also useful to allow some power
> savings in advance of userspace getting the sysfs updating in place.
> And of course the default splatting setup can be used in internal testing
> with the release software being more tolerant of userspace foibles.

I'm wondering, this is all about CONFIG_RCU_LAZY, right? Or does also expedited
GP turned off a bit early or late on boot matter for anybody in practice?

So shouldn't we disable lazy callbacks by default when CONFIG_RCU_LAZY=y and then
turn it on with "sysctl kernel.rcu.lazy=1" only whenever userspace feels ready
about it? We can still keep the current call to rcu_end_inkernel_boot().

And if suddenly disabling lazy by default is an ABI breakage we can still add
CONFIG_RCU_LAZY_DEFAULT_DISABLED.