All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v2 sched_ext/for-7.3] sched_ext: Sub-scheduler and cid fixes
@ 2026-07-21 22:31 Tejun Heo
  2026-07-21 22:31 ` [PATCH v2 1/4] sched_ext: Blame the DSQ's owning scheduler for a runnable stall Tejun Heo
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Tejun Heo @ 2026-07-21 22:31 UTC (permalink / raw)
  To: David Vernet, Andrea Righi, Changwoo Min
  Cc: sched-ext, Emil Tsalapatis, linux-kernel, Tejun Heo

Hello,

v2: v1's 0003 only added NULL checks and, as Andrea and sashiko-bot pointed
    out, left the cid tables readable while being filled and rewritten in
    place. The new 0004 replaces it: each root enable builds a fresh table
    set privately and publishes it with RCU once the layout is final. 0003
    is a new trivial dead code removal. 0001-0002 are unchanged.

v1: https://lore.kernel.org/r/20260720082605.1451945-1-tj@kernel.org

A few fixes for the sub-scheduler and cid-form code on for-7.3.

- 0001 attributes a runnable stall to the scheduler that owns the DSQ the
  task is stuck on rather than the task's owner, so a bypassing sub's task
  parked on an ancestor's bypass DSQ blames the ancestor, not the sub.

- 0002 skips the default CPU selection while bypassing. The pick is discarded
  by the bypass enqueue anyway, and it consults idle masks a scheduler doing
  its own idle tracking leaves frozen.

- 0003 drops the unused scx_cpumask_to_cmask().

- 0004 ties the cid tables' lifetimes to the root sched: built privately on
  enable, published with RCU once final, unpublished and RCU-freed on
  disable.

Based on sched_ext/for-7.3 (b20dfde5ec54).

Tejun Heo (4):
  sched_ext: Blame the DSQ's owning scheduler for a runnable stall
  sched_ext: Skip the default CPU selection while bypassing
  sched_ext: Drop unused scx_cpumask_to_cmask()
  sched_ext: Build the cid tables privately and publish them with RCU

Git tree: git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-sub-fixes-v2

 kernel/sched/ext/cid.c      | 279 ++++++++++++++++++++++++++------------------
 kernel/sched/ext/cid.h      |  58 +++++----
 kernel/sched/ext/ext.c      |  80 ++++++++++---
 kernel/sched/ext/internal.h |   5 +-
 kernel/sched/ext/sub.c      |  42 +++++--
 5 files changed, 298 insertions(+), 166 deletions(-)

--
tejun

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

end of thread, other threads:[~2026-07-22  8:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-21 22:31 [PATCHSET v2 sched_ext/for-7.3] sched_ext: Sub-scheduler and cid fixes Tejun Heo
2026-07-21 22:31 ` [PATCH v2 1/4] sched_ext: Blame the DSQ's owning scheduler for a runnable stall Tejun Heo
2026-07-21 22:31 ` [PATCH v2 2/4] sched_ext: Skip the default CPU selection while bypassing Tejun Heo
2026-07-21 22:31 ` [PATCH v2 3/4] sched_ext: Drop unused scx_cpumask_to_cmask() Tejun Heo
2026-07-21 22:31 ` [PATCH v2 4/4] sched_ext: Build the cid tables privately and publish them with RCU Tejun Heo
2026-07-22  7:30   ` Andrea Righi
2026-07-22  8:23   ` [PATCH v3 " Tejun Heo
2026-07-22  8:29     ` Andrea Righi
2026-07-22  8:00 ` [PATCHSET v2 sched_ext/for-7.3] sched_ext: Sub-scheduler and cid fixes Andrea Righi
2026-07-22  8:34 ` Tejun Heo

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.