Re: [PATCH v2 sched_ext/for-7.4] sched_ext: Keep proxy donors with slice left on the local DSQ
From: Tejun Heo
Date: Thu Oct 08 2026 - 14:10:06 EST
Hello, Andrea.
On Wed, Oct 07, 2026 at 09:15:51AM +0200, Andrea Righi wrote:
...
> I think we can do this without modifying sched/core.c, sched_ext can set an
> SCX_RQ_PROXY_BLOCKING flag around its calls to sched_proxy_block_task(). When
> proxy_reset_donor() invokes put_prev_task_scx(), that flag tells sched_ext not
> to reenqueue the donor and block_task() will dequeue it immediately afterward.
> This should avoid the transient enqueue/dequeue pair and the false ENQ_LAST
> warning.
...
> So we need to add two rq flags in this way, SCX_RQ_PROXY_PICK_PENDING and
> SCX_RQ_PROXY_BLOCKING, but the whole logic stays in ext.c (with the flags
> dfinition in sched.h). Does this approach makes sense to you?
Yeah, that sounds good to me.
Thanks.
--
tejun