Re: [PATCH v26 00/10] Simple Donor Migration for Proxy Execution

Peter Zijlstra
2026-04-03T21:08:15Z

On Fri, Apr 03, 2026 at 09:09:31PM +0530, K Prateek Nayak wrote:

> > + /*
> > + * We're being taken off the runqueue, cannot still be blocked_on
> > + * anything. This also means that delay_dequeue can not have
> > + * blocked_on.
> > + */
> > + clear_task_blocked_on(p, NULL);
> > +
>
> Oh! I remember why we couldn't do this - if we clear the
> "blocked_on" via proxy_deactivate(), we might be delayed on
> the owner's CPU *outside* of the task's affinity.
>
> In that case, we don't want to re-enqueue it there since it'll
> violate affinity and the "blocked_on" relation forces it down
> the sched_proxy_exec() path in ttwu_runnable() which will fix
> it via a full wakeup.

Ah indeed.