On Thu, Jul 17, 2025 at 08:25:26AM -0400, Steven Rostedt wrote: > On Wed, 16 Jul 2025 21:43:47 -0700 > "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote: > > > > +DEFINE_LOCK_GUARD_1(srcu_lite, struct srcu_struct, > > > > You need srcu_fast because srcu_lite is being removed. They are quite > > similar, but srcu_fast is faster and is NMI-safe. (This last might or > > might not matter here.) > > > > See https://lore.kernel.org/all/20250716225418.3014815-3-paulmck@xxxxxxxxxx/ > > for a srcu_fast_notrace, so something like this: > > Yeah, I already saw that patch. > > > > > DEFINE_LOCK_GUARD_1(srcu_fast, struct srcu_struct, > > _T->scp = srcu_read_lock_fast(_T->lock), > > srcu_read_unlock_fast(_T->lock, _T->scp), > > struct srcu_ctr __percpu *scp) > > > > Other than that, it looks plausible. > > Using srcu_lite or srcu_fast is an optimization here. And since I saw you > adding the guard for srcu_fast in that other thread, I'll just use normal > SRCU here for this series, and in the future we could convert it over to > srcu_fast. Works for me! That said, "in the future" started in -next some time back and is slated to start in mainline in the upcoming v6.17 merge window. SRCU-lite is being removed from the kernel, and has been deprecated via checkpatch.pl. So if there is some reason that you absolutely cannot immediately convert to SRCU-fast, let's please discuss. Thanx, Paul