From: Juri Lelli <juri.lelli@redhat.com>
To: Andrea Righi <arighi@nvidia.com>
Cc: Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Tejun Heo <tj@kernel.org>, David Vernet <void@manifault.com>,
Changwoo Min <changwoo@igalia.com>, Shuah Khan <shuah@kernel.org>,
Joel Fernandes <joelagnelf@nvidia.com>,
Christian Loehle <christian.loehle@arm.com>,
Emil Tsalapatis <emil@etsalapatis.com>,
sched-ext@lists.linux.dev, bpf@vger.kernel.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/7] sched_ext: Add a DL server for sched_ext tasks
Date: Wed, 17 Dec 2025 16:49:02 +0100 [thread overview]
Message-ID: <aULQ7kPm-RqHWGDL@jlelli-thinkpadt14gen4.remote.csb> (raw)
In-Reply-To: <20251217093923.1556187-5-arighi@nvidia.com>
Hi!
On 17/12/25 10:35, Andrea Righi wrote:
> sched_ext currently suffers starvation due to RT. The same workload when
> converted to EXT can get zero runtime if RT is 100% running, causing EXT
> processes to stall. Fix it by adding a DL server for EXT.
...
> v4: - initialize EXT server bandwidth reservation at init time and
> always keep it active (Andrea Righi)
> - check for rq->nr_running == 1 to determine when to account idle
> time (Juri Lelli)
> v3: - clarify that fair is not the only dl_server (Juri Lelli)
> - remove explicit stop to reduce timer reprogramming overhead
> (Juri Lelli)
> - do not restart pick_task() when it's invoked by the dl_server
> (Tejun Heo)
> - depend on CONFIG_SCHED_CLASS_EXT (Andrea Righi)
> v2: - drop ->balance() now that pick_task() has an rf argument
> (Andrea Righi)
>
> Tested-by: Christian Loehle <christian.loehle@arm.com>
> Co-developed-by: Joel Fernandes <joelagnelf@nvidia.com>
> Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
> Signed-off-by: Andrea Righi <arighi@nvidia.com>
> ---
...
> @@ -3090,6 +3123,15 @@ static void switching_to_scx(struct rq *rq, struct task_struct *p)
> static void switched_from_scx(struct rq *rq, struct task_struct *p)
> {
> scx_disable_task(p);
> +
> + /*
> + * After class switch, if the DL server is still active, restart it so
> + * that DL timers will be queued, in case SCX switched to higher class.
> + */
> + if (dl_server_active(&rq->ext_server)) {
> + dl_server_stop(&rq->ext_server);
> + dl_server_start(&rq->ext_server);
> + }
> }
We might have discussed this already, in that case I forgot, sorry. But,
why we do need to start the server again if switched from scx? Couldn't
make sense of the comment that is already present.
Thanks,
Juri
next prev parent reply other threads:[~2025-12-17 15:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-17 9:35 [PATCHSET v11 sched_ext/for-6.20] Add a deadline server for sched_ext tasks Andrea Righi
2025-12-17 9:35 ` [PATCH 1/7] sched/deadline: Clear the defer params Andrea Righi
2025-12-17 9:35 ` [PATCH 2/7] sched/debug: Fix updating of ppos on server write ops Andrea Righi
2025-12-17 9:35 ` [PATCH 3/7] sched/debug: Stop and start server based on if it was active Andrea Righi
2025-12-17 9:35 ` [PATCH 4/7] sched_ext: Add a DL server for sched_ext tasks Andrea Righi
2025-12-17 15:49 ` Juri Lelli [this message]
2025-12-17 20:35 ` Andrea Righi
2025-12-17 21:55 ` [PATCH v2 " Andrea Righi
2025-12-18 7:14 ` Juri Lelli
2025-12-17 9:35 ` [PATCH 5/7] sched/debug: Add support to change sched_ext server params Andrea Righi
2025-12-17 9:35 ` [PATCH 6/7] selftests/sched_ext: Add test for sched_ext dl_server Andrea Righi
2025-12-17 9:35 ` [PATCH 7/7] selftests/sched_ext: Add test for DL server total_bw consistency Andrea Righi
-- strict thread matches above, loose matches on Subject: below --
2026-01-20 21:50 [PATCHSET RESEND v11 sched_ext/for-6.20] Add a deadline server for sched_ext tasks Andrea Righi
2026-01-20 21:50 ` [PATCH 4/7] sched_ext: Add a DL " Andrea Righi
2026-01-21 12:29 ` Peter Zijlstra
2026-01-21 12:49 ` Andrea Righi
2026-01-21 15:52 ` Peter Zijlstra
2026-01-21 17:27 ` Andrea Righi
2026-01-21 12:31 ` Peter Zijlstra
2026-01-21 12:51 ` Andrea Righi
2026-01-26 9:58 [PATCHSET v12 sched_ext/for-6.20] Add a deadline " Andrea Righi
2026-01-26 9:59 ` [PATCH 4/7] sched_ext: Add a DL " Andrea Righi
2026-02-02 19:50 ` Peter Zijlstra
2026-02-02 20:32 ` Andrea Righi
2026-02-02 21:10 ` Peter Zijlstra
2026-02-02 22:18 ` Andrea Righi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aULQ7kPm-RqHWGDL@jlelli-thinkpadt14gen4.remote.csb \
--to=juri.lelli@redhat.com \
--cc=arighi@nvidia.com \
--cc=bpf@vger.kernel.org \
--cc=bsegall@google.com \
--cc=changwoo@igalia.com \
--cc=christian.loehle@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=emil@etsalapatis.com \
--cc=joelagnelf@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sched-ext@lists.linux.dev \
--cc=shuah@kernel.org \
--cc=tj@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=void@manifault.com \
--cc=vschneid@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox