[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZrKfK1BCOARiWRr0@slm.duckdns.org>
Date: Tue, 6 Aug 2024 12:09:47 -1000
From: Tejun Heo <tj@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kernel@...r.kernel.org, David Vernet <void@...ifault.com>,
Ingo Molnar <mingo@...hat.com>, Alexei Starovoitov <ast@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [GIT PULL] sched_ext: Initial pull request for v6.11
Hello,
On Tue, Aug 06, 2024 at 11:55:35PM +0200, Peter Zijlstra wrote:
...
> > > And the above condition seems a little core_sched specific. Is that
> > > suitable for the primary pick function?
> >
> > Would there be any distinction between pick_task() being called for regular
> > and core sched paths?
>
> There currently is not -- but if you need that, we can definitely add a
> boolean argument or something. But I think it would be good if a policy
Yeah, SCX might need that.
> can inherently know if curr is the better pick.
> ISTR you having two queue types, one FIFO and one vtime ordered, for
> both I think it should be possible to determine order, right?
It is tricky because the kernel part can't make assumptions about whether
two tasks are even on the same timeline. In the usual scheduling path, this
isn't a problem as the decision is made by the BPF scheduler from balance()
- if it wants to keep running the current task, it doesn't dispatch a new
one. Otherwise, it dispatches the next task.
For core sched, once dispatched, global (or rather core-wide) ordering is
established according to the wallclock dispatch order. I don't think always
following that order will break anything for scheds that support core-sched
but it is an unnecessary thing to do in the non-core-sched path.
Thanks.
--
tejun
Powered by blists - more mailing lists