Re: [PATCH 12/17] sched_ext: Handle proxy-exec races in remote DSQ transfers

Tejun Heo <[email protected]>
Newsgroups dev.linux.lists.sched-ext,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Mon, Aug 17, 2026 at 09:32:38PM +0200, Andrea Righi wrote:
> > But wouldn't it be able to use the same schedule_deferred_locked() call like
> > SCX_DSQ_REJECT case so that the PROXY_REENQ flag is only used for retry
> > cases (and maybe renamed accordingly)?
> 
> Yes. The initial insertion into reject_dsq can use schedule_deferred_locked()
> without setting a proxy-specific flag. Then we can set the flag only when
> scx_reenq_reject() actually skips a task because it is still running or
> donating. How about renaming to SCX_RQ_PROXY_RETRY to refelct the new meaning?

Sounds good to me.

> > I think this is a generic problem with core scheduling. SCX assumes that
> > deferred scheduilng always runs but core-sched can zap them. We probably
> > need to address this directly using a similar but generic deferred work
> > pending flag.
> 
> Agreed. This isn't specific to proxy-rejected tasks, any sched_ext deferred work
> queued through a balance callback can be lost if core scheduling zaps the
> callback.
> 
> Maybe we can introduce a new generic sched_ext deferred work pending flag, kept
> set until the deferred work actually runs and we can use it to rearm it after
> callback cancellation?
> 
> Probably something to do for another patch series...

Yeap.

Thanks.

-- 
tejun
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.