[PATCH 0/2] sched_ext: Honor SCX_PICK_IDLE_CORE in CPU selection shortcuts

From: Hui Su

Date: Mon Oct 12 2026 - 02:54:01 EST


The restricted select_cpu kfunc path and the normal WAKE_SYNC shortcuts can
bypass SCX_PICK_IDLE_CORE on SMT systems. The first patch skips the WAKE_SYNC
shortcuts when strict-core selection is requested and validates restricted
candidates against their idle SMT mask. The second patch covers the restricted
path and both WAKE_SYNC shortcuts while retaining the generic smoke test when
no SMT pair is available.

This series is based on:

[PATCH v3] sched_ext: idle: Respect task affinity in restricted CPU selection
https://lore.kernel.org/lkml/20261011173100.2090211-1-sh_def@xxxxxxx/

Testing:
- x86_64 KVM/QEMU: all three restricted/WAKE_SYNC differential cases
reproduced the strict-core violation before the fix and returned -EBUSY
after it.
- The sched_ext selftests passed apart from an unrelated dsp_local_on
environment failure while opening system Kconfig.
- The strict-core test passed 50 consecutive runs; non-SMT coverage retained
the generic smoke test and skipped the SMT-specific cases.

Hui Su (2):
sched_ext: idle: Honor SCX_PICK_IDLE_CORE in CPU selection shortcuts
selftests/sched_ext: Cover strict-core CPU selection shortcuts

kernel/sched/ext/idle.c | 6 +-
.../selftests/sched_ext/allowed_cpus.bpf.c | 36 +-
.../selftests/sched_ext/allowed_cpus.c | 316 +++++++++++++++++-
3 files changed, 347 insertions(+), 11 deletions(-)


base-commit: 9a2d086eba0f331eb5940d6a91efa7caa39080ad
--
2.55.0