[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <81c1590d-076b-4cc1-9fe0-f6ba9304c281@google.com>
Date: Fri, 26 Apr 2024 12:57:26 -0400
From: Barret Rhoden <brho@...gle.com>
To: Joel Fernandes <joel@...lfernandes.org>
Cc: Tejun Heo <tj@...nel.org>, torvalds@...ux-foundation.org,
mingo@...hat.com, peterz@...radead.org, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com, rostedt@...dmis.org,
bsegall@...gle.com, mgorman@...e.de, bristot@...hat.com,
vschneid@...hat.com, ast@...nel.org, daniel@...earbox.net,
andrii@...nel.org, martin.lau@...nel.org, joshdon@...gle.com,
pjt@...gle.com, derkling@...gle.com, haoluo@...gle.com, dvernet@...a.com,
dschatzberg@...a.com, dskarlat@...cmu.edu, riel@...riel.com,
changwoo@...lia.com, himadrics@...ia.fr, memxor@...il.com,
linux-kernel@...r.kernel.org, bpf@...r.kernel.org, kernel-team@...a.com,
Andrea Righi <andrea.righi@...onical.com>
Subject: Re: [PATCH 12/36] sched_ext: Implement BPF extensible scheduler class
On 4/25/24 17:28, Joel Fernandes wrote:
> But if I understand, sched_ext is below CFS at the moment, so that
> should not be an issue.
>
> [1] By the way, now that I brought up the higher priority class thing,
> I might as well discuss it here :-D :
>
> One of my use cases is about scheduling high priority latency sensitive threads:
> I think if sched_ext could have 2 classes, one lower than CFS and one
> above CFS, that would be beneficial to those who want a gradual
> transition to use scx, instead of switching all tasks to scx at once.
The way we initially went with Ghost (which is the Google project
similar to sched_ext) was to run Ghost below CFS. That was a "safety
first" approach, where we didn't have a lot of faith in the schedulers
we were writing and wanted to convince people (including ourselves) that
we wouldn't completely hose a machine.
For the same reason you pointed out, we eventually wanted to run our
schedulers above CFS. Currently, Ghost has the option to run above or
below CFS, and we're pretty close to being able to run all of our
schedulers above CFS. Once we do that, I imagine we'll drop the "above
or below" aspect, since it's a bit more complicated.
It's actually even more complicated than that - ghost also has a
separate "ghost agent" sched class above CFS, even if ghost itself is
below CFS. This lets us run a single userspace "agent task" on a cpu to
make a scheduling decision.
Anyway, when we port Ghost to run on sched_ext instead of our custom
ghost sched class(es), we'll be running sched_ext above CFS, and I doubt
we'll want to run below CFS at all. Though whether that's a local patch
we carry, or the default upstream probably depends on what everyone else
wants too.
Thanks,
Barret
Powered by blists - more mailing lists