[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aPcmzc9ZX3O-wBUU@gpd4>
Date: Tue, 21 Oct 2025 08:23:09 +0200
From: Andrea Righi <arighi@...dia.com>
To: Juri Lelli <juri.lelli@...hat.com>
Cc: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Valentin Schneider <vschneid@...hat.com>,
Joel Fernandes <joelagnelf@...dia.com>, Tejun Heo <tj@...nel.org>,
David Vernet <void@...ifault.com>,
Changwoo Min <changwoo@...lia.com>, Shuah Khan <shuah@...nel.org>,
sched-ext@...ts.linux.dev, bpf@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 07/14] sched/debug: Add support to change sched_ext
server params
On Mon, Oct 20, 2025 at 02:45:50PM +0200, Juri Lelli wrote:
> Hi!
>
> On 17/10/25 11:25, Andrea Righi wrote:
> > From: Joel Fernandes <joelagnelf@...dia.com>
> >
> > When a sched_ext server is loaded, tasks in CFS are converted to run in
> > sched_ext class. Add support to modify the ext server parameters similar
> > to how the fair server parameters are modified.
> >
> > Re-use common code between ext and fair servers as needed.
> >
> > [ arighi: Use dl_se->dl_server to determine if dl_se is a DL server, as
> > suggested by PeterZ. ]
> >
> > Co-developed-by: Andrea Righi <arighi@...dia.com>
> > Signed-off-by: Andrea Righi <arighi@...dia.com>
> > Signed-off-by: Joel Fernandes <joelagnelf@...dia.com>
> > ---
>
> ...
>
> > @@ -373,25 +375,25 @@ static ssize_t sched_fair_server_write(struct file *filp, const char __user *ubu
> > }
> >
> > if (runtime > period ||
> > - period > fair_server_period_max ||
> > - period < fair_server_period_min) {
> > + period > dl_server_period_max ||
> > + period < dl_server_period_min) {
> > return -EINVAL;
> > }
> >
> > - is_active = dl_server_active(&rq->fair_server);
> > + is_active = dl_server_active(dl_se);
> > if (is_active) {
> > update_rq_clock(rq);
> > - dl_server_stop(&rq->fair_server);
> > + dl_server_stop(dl_se);
> > }
> >
> > - retval = dl_server_apply_params(&rq->fair_server, runtime, period, 0);
> > + retval = dl_server_apply_params(dl_se, runtime, period, 0);
> >
> > if (!runtime)
> > - printk_deferred("Fair server disabled in CPU %d, system may crash due to starvation.\n",
> > - cpu_of(rq));
> > + printk_deferred("%s server disabled on CPU %d, system may crash due to starvation.\n",
> > + server == &rq->fair_server ? "Fair" : "Ext", cpu_of(rq));
>
> Guess this might get convoluted if are ever going to add an additional
> dl-server, but I fail to see that happening atm (to service what?).
We could add a ->server_class() method that returns the name or something
similar, but it's probably a bit overkill, since we have just two dl
servers at the moment (and I don't see any use case to have more...).
Thanks,
-Andrea
>
> Reviewed-by: Juri Lelli <juri.lelli@...hat.com>
>
> Thanks,
> Juri
>
Powered by blists - more mailing lists