On 2026-03-19 09:48:16 [-0700], Boqun Feng wrote:
> I agree it's not RCU's fault ;-)

I never claimed it is anyone's fault. I just see that BPF should be able
to do things which kgdb would not be allowed to.

> I guess it'll be difficult to restrict BPF, however maybe BPF can call
> call_srcu() in irq_work instead? Or a more systematic defer mechanism
> that allows BPF to defer any lock holding functions to a different
> context. (We have a similar issue that BPF cannot call kfree_rcu() in
> some cases IIRC).
> 
> But we need to fix this in v7.0, so this short-term fix is still needed.

I would prefer something substantial before we rush to get a quick fix
and move on.

If we could get that irq_work() part only for BPF where it is required
then it would be already a step forward.

Long term it would be nice if we could avoid calling this while locks
are held. I think call_rcu() can't be used under rq/pi lock, but timers
should be fine.

Is this rq/pi locking originating from "regular" BPF code or sched_ext?

> Regars,
> Boqun
> 
> > > Regards,
> > > Boqun

Sebastian

Reply via email to