mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: void@manifault.com
Cc: kernel-team@meta.com, linux-kernel@vger.kernel.org, peterz@infradead.org
Subject: [PATCHSET sched_ext/for-6.12] sched_ext: Apply pick_next_task() updates and remove switch_class()
Date: Tue,  3 Sep 2024 22:03:02 -1000	[thread overview]
Message-ID: <20240904080326.1132275-1-tj@kernel.org> (raw)

Hello,

d7b01aef9dbd ("Merge branch 'tip/sched/core' into for-6.12") received sched
core udpates around pick_next_task() and put_prev_task(). While the merge
commit added a minimal workaround to keep sched_ext building and mostly
functioning, sched_ext is currently out of step with other sched classes.

This patchset brings sched_ext upto the code by replacing
pick_next_task_scx() with pick_task_scx() which doesn't require the current
task to be queued and can detemrine between the current task and the top of
the local DSQ statelessly. This allows unifying regular and core-sched pick
task paths. After the updates, sched_class->switch_class() is no longer used
and dropped.

This change causes two subtle API changes for the BPF schedulers. Both are
desirable and all the existing schedulers should be okay with them.

The patchset is also available in the following git branch:

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-pick_task

and contains the following patches:

 0001-sched_ext-Don-t-call-put_prev_task_scx-before-pickin.patch
 0002-sched_ext-Replace-SCX_TASK_BAL_KEEP-with-SCX_RQ_BAL_.patch
 0003-sched_ext-Unify-regular-and-core-sched-pick-task-pat.patch
 0004-sched_ext-Relocate-functions-in-kernel-sched-ext.c.patch
 0005-sched_ext-Remove-switch_class_scx.patch
 0006-sched_ext-Remove-sched_class-switch_class.patch

diffstat follows. Thanks.

 include/linux/sched/ext.h      |    1
 kernel/sched/core.c            |   12 --
 kernel/sched/ext.c             |  359 +++++++++++++++++++++++++--------------------------------------
 kernel/sched/sched.h           |    3
 tools/sched_ext/scx_qmap.bpf.c |   22 +++
 5 files changed, 167 insertions(+), 230 deletions(-)
 

             reply	other threads:[~2024-09-04  8:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-04  8:03 Tejun Heo [this message]
2024-09-04  8:03 ` [PATCH 1/6] sched_ext: Don't call put_prev_task_scx() before picking the next task Tejun Heo
2024-09-04  8:03 ` [PATCH 2/6] sched_ext: Replace SCX_TASK_BAL_KEEP with SCX_RQ_BAL_KEEP Tejun Heo
2024-09-04  8:03 ` [PATCH 3/6] sched_ext: Unify regular and core-sched pick task paths Tejun Heo
2024-09-04  8:03 ` [PATCH 4/6] sched_ext: Relocate functions in kernel/sched/ext.c Tejun Heo
2024-09-04  8:03 ` [PATCH 5/6] sched_ext: Remove switch_class_scx() Tejun Heo
2024-09-04  8:03 ` [PATCH 6/6] sched_ext: Remove sched_class->switch_class() Tejun Heo
2024-09-04 20:19 ` [PATCHSET sched_ext/for-6.12] sched_ext: Apply pick_next_task() updates and remove switch_class() Tejun Heo

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=20240904080326.1132275-1-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=void@manifault.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

all inboxes | Powered by JetHome®