public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET sched_ext/for-7.1] sched_ext: Implement SCX_ENQ_IMMED
@ 2026-03-07  0:28 Tejun Heo
  2026-03-07  0:28 ` [PATCH 1/3] sched_ext: Disallow setting slice to zero via scx_bpf_task_set_slice() Tejun Heo
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Tejun Heo @ 2026-03-07  0:28 UTC (permalink / raw)
  To: David Vernet, Andrea Righi, Changwoo Min
  Cc: sched-ext, Emil Tsalapatis, linux-kernel, Tejun Heo

Hello,

SCX_ENQ_IMMED makes enqueue to local DSQs succeed only if the task can
start running immediately - the current task is done and no other tasks are
waiting. If the condition isn't met, the task is re-enqueued through
ops.enqueue(). This gives the BPF scheduler tighter control over when tasks
actually land on a CPU.

- Patch 1 disallows setting slice to zero via scx_bpf_task_set_slice() as
  zero slice is used by ENQ_IMMED to detect whether the current task is
  done.

- Patch 2 implements SCX_ENQ_IMMED with reenqueue support and loop
  detection.

- Patch 3 adds SCX_OPS_ALWAYS_ENQ_IMMED ops flag to automatically apply
  IMMED to all local DSQ enqueues.

This patchset depends on:

- "sched_ext: Overhaul DSQ reenqueue infrastructure"
  http://lkml.kernel.org/r/20260306190623.1076074-1-tj@kernel.org

Based on sched_ext/for-7.1 (4f8b122848db) + scx-reenq (a41719e6ae12).

 0001-sched_ext-Disallow-setting-slice-to-zero-via-scx_bpf.patch
 0002-sched_ext-Implement-SCX_ENQ_IMMED.patch
 0003-sched_ext-Add-SCX_OPS_ALWAYS_ENQ_IMMED-ops-flag.patch

Git tree:

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

 include/linux/sched/ext.h            |   3 +
 kernel/sched/ext.c                   | 208 +++++++++++++++++++++++++++++++----
 kernel/sched/ext_internal.h          |  43 ++++++++
 kernel/sched/sched.h                 |   2 +
 tools/sched_ext/include/scx/compat.h |   1 +
 tools/sched_ext/scx_qmap.bpf.c       |   7 +-
 tools/sched_ext/scx_qmap.c           |   9 +-
 7 files changed, 250 insertions(+), 23 deletions(-)

--
tejun

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-03-13 11:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-07  0:28 [PATCHSET sched_ext/for-7.1] sched_ext: Implement SCX_ENQ_IMMED Tejun Heo
2026-03-07  0:28 ` [PATCH 1/3] sched_ext: Disallow setting slice to zero via scx_bpf_task_set_slice() Tejun Heo
2026-03-07  0:28 ` [PATCH 2/3] sched_ext: Implement SCX_ENQ_IMMED Tejun Heo
2026-03-09 17:35   ` Andrea Righi
2026-03-13 10:40     ` Tejun Heo
2026-03-13 11:11       ` Andrea Righi
2026-03-13 11:32         ` Tejun Heo
2026-03-07  0:28 ` [PATCH 3/3] sched_ext: Add SCX_OPS_ALWAYS_ENQ_IMMED ops flag Tejun Heo
2026-03-07 22:36 ` [PATCHSET sched_ext/for-7.1] sched_ext: Implement SCX_ENQ_IMMED Andrea Righi
2026-03-08  0:19   ` Tejun Heo
2026-03-08  8:54     ` Andrea Righi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox