lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240904080326.1132275-1-tj@kernel.org>
Date: Tue,  3 Sep 2024 22:03:02 -1000
From: Tejun Heo <tj@...nel.org>
To: void@...ifault.com
Cc: kernel-team@...a.com,
	linux-kernel@...r.kernel.org,
	peterz@...radead.org
Subject: [PATCHSET sched_ext/for-6.12] sched_ext: Apply pick_next_task() updates and remove switch_class()

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(-)
 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ