On Thu, 17 Sep 2026 08:40:10 -0700, Paul E. McKenney wrote: > On Thu, Sep 17, 2026 at 02:14:57PM +0200, Frederic Weisbecker wrote: > > You're right. So we'll indeed need to reuse the deferred qs points here. > > Except this is getting a bit involved. > > Don't get me wrong, if Josef is happy to take this on, far be it from me > to stand in his way. But if not, we should be willing to treat this > optimization as a follow-on effort, whether by Josef or someone else.
Follow-on works for me. For what it's worth 03/13 is already fairly close to what Frederic describes, just outside the core flavor: no task-list scan (the GP waits per CPU for a pass through __schedule() or an EQS), the irq-exit preemption path checks the interrupted IP and queues the task as a holdout before the switch, and the holdout is keyed on where the task was interrupted so nothing is needed from the trampoline tail. Moving that IP check into the tick / rcu_exp_handler() / deferred-QS paths and reusing the blocked-tasks list is something I'm happy to look at once this has settled. v4 will pick up Alexei's ask (reader emitted by the BPF JIT around the fentry and fexit regions rather than in the glue) and the idle-CPU hole Sashiko found. Thanks, Josef
