From: Andrea Righi <arighi@nvidia.com>
To: Tejun Heo <tj@kernel.org>
Cc: void@manifault.com, linux-kernel@vger.kernel.org,
kernel-team@meta.com, sched-ext@meta.com, multics69@gmail.com,
me@mostlynerdless.de, ggherdovich@suse.com, dschatzberg@meta.com,
yougmark94@gmail.com
Subject: Re: [PATCHSET sched_ext/for-6.13] sched_ext: Rename dispatch and consume kfuncs
Date: Sun, 10 Nov 2024 12:45:34 +0100 [thread overview]
Message-ID: <ZzCc3h7RN4T-NKv9@gpd3> (raw)
In-Reply-To: <20241109194853.580310-1-tj@kernel.org>
Hi Tejun,
On Sat, Nov 09, 2024 at 09:48:29AM -1000, Tejun Heo wrote:
> In sched_ext API, a repeatedly reported pain point is the overuse of the
> verb "dispatch" and confusion around "consume":
>
> - ops.dispatch()
> - scx_bpf_dispatch[_vtime]()
> - scx_bpf_consume()
> - scx_bpf_dispatch[_vtime]_from_dsq*()
>
> This overloading of the term is historical. Originally, there were only
> built-in DSQs and moving a task into a DSQ always dispatched it for
> execution. Using the verb "dispatch" for the kfuncs to move tasks into these
> DSQs made sense.
>
> Later, user DSQs were added and scx_bpf_dispatch[_vtime]() updated to be
> able to insert tasks into any DSQ. The only allowed DSQ to DSQ transfer was
> from a non-local DSQ to a local DSQ and this operation was named "consume".
> This was already confusing as a task could be dispatched to a user DSQ from
> ops.enqueue() and then the DSQ would have to be consumed in ops.dispatch().
> Later addition of scx_bpf_dispatch_from_dsq*() made the confusion even worse
> as "dispatch" in this context meant moving a task to an arbitrary DSQ from a
> user DSQ.
>
> Clean up the API with the following renames:
>
> 1. scx_bpf_dispatch[_vtime]() -> scx_bpf_dsq_insert[_vtime]()
> 2. scx_bpf_consume() -> scx_bpf_dsq_move_to_local()
> 3. scx_bpf_dispatch[_vtime]_from_dsq*() -> scx_bpf_dsq_move[_vtime]*()
>
> This patchset is on top of sched_ext/for-6.13 72b85bf6a7f6 ("sched_ext:
> scx_bpf_dispatch_from_dsq_set_*() are allowed from unlocked context") and
> contains the following patches:
>
> 0001-sched_ext-Rename-scx_bpf_dispatch-_vtime-to-scx_bpf_.patch
> 0002-sched_ext-Rename-scx_bpf_consume-to-scx_bpf_dsq_move.patch
> 0003-sched_ext-Rename-scx_bpf_dispatch-_vtime-_from_dsq-s.patch
>
> and is always available in the following git branch:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-api-rename-dispatch
>
> diffstat follows. Thanks.
>
> kernel/sched/ext.c | 238 +++++++++++++++++++++++++++++++++--------------------
> tools/sched_ext/include/scx/common.bpf.h | 18 ++--
> tools/sched_ext/include/scx/compat.bpf.h | 117 +++++++++++++++++++++++---
> tools/sched_ext/scx_central.bpf.c | 14 +--
> tools/sched_ext/scx_flatcg.bpf.c | 20 ++--
> tools/sched_ext/scx_qmap.bpf.c | 36 ++++----
> tools/sched_ext/scx_simple.bpf.c | 16 +--
> 7 files changed, 308 insertions(+), 151 deletions(-)
Overall it looks good to me, we should probably update also
Documentation/scheduler/sched-ext.rst.
Thanks,
-Andrea
next prev parent reply other threads:[~2024-11-10 11:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-09 19:48 [PATCHSET sched_ext/for-6.13] sched_ext: Rename dispatch and consume kfuncs Tejun Heo
2024-11-09 19:48 ` [PATCH 1/3] sched_ext: Rename scx_bpf_dispatch[_vtime]() to scx_bpf_dsq_insert[_vtime]() Tejun Heo
2024-11-09 19:48 ` [PATCH 2/3] sched_ext: Rename scx_bpf_consume() to scx_bpf_dsq_move_to_local() Tejun Heo
2024-11-10 10:03 ` Changwoo Min
2024-11-10 11:52 ` Andrea Righi
2024-11-10 16:09 ` Johannes Bechberger
2024-11-10 19:38 ` Tejun Heo
2024-11-09 19:48 ` [PATCH 3/3] sched_ext: Rename scx_bpf_dispatch[_vtime]_from_dsq*() -> scx_bpf_dsq_move[_vtime]*() Tejun Heo
2024-11-10 11:45 ` Andrea Righi [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-10 20:02 [PATCHSET sched_ext/for-6.13] sched_ext: Rename dispatch and consume kfuncs Tejun Heo
2024-11-10 20:17 ` Andrea Righi
2024-11-11 1:40 ` Changwoo Min
2024-11-11 8:51 ` Johannes Bechberger
2024-11-11 17:07 ` Tejun Heo
2024-11-12 16:56 ` David Vernet
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=ZzCc3h7RN4T-NKv9@gpd3 \
--to=arighi@nvidia.com \
--cc=dschatzberg@meta.com \
--cc=ggherdovich@suse.com \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=me@mostlynerdless.de \
--cc=multics69@gmail.com \
--cc=sched-ext@meta.com \
--cc=tj@kernel.org \
--cc=void@manifault.com \
--cc=yougmark94@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.