Re: [PATCH v3 sched_ext/for-7.3 35/36] tools/sched_ext: scx_qmap - Expand hierarchical sub-scheduling

Tejun Heo <[email protected]>
Newsgroups dev.linux.lists.sched-ext,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Tue, 07 Jul 2026 00:41:01 +0000, [email protected] wrote:
> - [Medium] Newly acquired exclusive CPUs are not added to `idle_cids.mask` if they were already idle when ownership changed, leading to lost wakeups.
> - [Medium] Tasks pinned exclusively to delegated CPUs will be permanently stranded in `SHARED_DSQ`.
> - [Medium] `qmap_sub_attach` and `qmap_sub_detach` modify the `sub_sched_ctxs` array without synchronization, causing data races with timer-driven partition updates.

1. Real - a cid already idle when it's reclaimed into the owned set was
   missed. Fixed by making idle_cids track physical idleness for every
   cid and masking it against the owned set at dispatch, so no reseed is
   needed.

2. Known limitation - a task affined only to delegated cids strands in
   SHARED_DSQ. This is the missing per-affinity fallback, now noted in
   the cover letter; a later series adds a root-reserved fallback slice.

3. Real but self-healing - the fields are re-derived by the following
   redistribute(). The clean fix (a bpf_spin_lock over the accesses)
   isn't usable because the cmask ops it would guard call kfuncs, which
   the verifier forbids inside a bpf_spin_lock section. Left as-is for
   the demo.

Thanks.

-- 
tejun
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.