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.