On 2026-03-18 09:32:07 [-0700], Paul E. McKenney wrote: > > What remains? > > With that patch, we no longer have call_srcu() directly acquiring a > non-raw spinlock, but as you say, we still have the wakeup problem.
Isn't this is just srcu_funnel_gp_start()? And where you could ensure that it is always a delayed worked (delay always 1+) that is scheduled so that it always setups a timer and never does a direct wake. > > Popular? Okay. Keep me posted, please. > > Will do. Just out of curiosity, what are your concerns? We don't have many NMI code paths and the possibilities are quite dense. I would imagine having this possibility would lead to things that wouldn't be needed otherwise. I mean we don't even allow allocating memory from hardirq (except for _nolock() variant which I think is used by bpf for $reasons) but need to call rcu_free from NMI. This would require to remove an item from some kind of data structure without regular locking. Unless RCU is used to get a delayed invocation of some sorts. I mean I am curious here who needs it any why ;) > Thanx, Paul Sebastian
