[GIT PULL] scheduler fixes

Ingo Molnar
2026-01-18T10:00:03Z

Linus,

Please pull the latest sched/urgent Git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-urgent-2026-01-18

# HEAD: 627cc25f84466d557d86e5dc67b43a4eea604c80 sched/deadline: Use ENQUEUE_MOVE to allow priority change

Misc DL scheduler fixes, mainly for a new category of bugs that were
discovered and fixed recently:

- Fix a race condition in the DL server

- Fix a DL server bug which can result in incorrectly going
idle when there's work available

- Fix DL server bug which triggers a WARN() due to broken
get_prio_dl() logic and subsequent misbehavior

- Fix double update_rq_clock() calls

- Fix setscheduler() assumption about static priorities

- Make sure balancing callbacks are always called

- Plus a handful of preparatory commits for the fixes.

Thanks,

Ingo

------------------>
Gabriele Monaco (1):
sched/deadline: Fix server stopping with runnable tasks

Peter Zijlstra (7):
sched: Provide idle_rq() helper
sched/deadline: Ensure get_prio_dl() is up-to-date
sched/deadline: Avoid double update_rq_clock()
sched: Fold rq-pin swizzle into __balance_callbacks()
sched: Audit MOVE vs balance_callbacks
sched: Deadline has dynamic priority
sched/deadline: Use ENQUEUE_MOVE to allow priority change

Pingfan Liu (2):
sched/deadline: Remove unnecessary comment in dl_add_task_root_domain()
sched/deadline: Fix potential race in dl_add_task_root_domain()

include/linux/sched.h | 1 -
kernel/sched/core.c | 18 +++++++++++-------
kernel/sched/deadline.c | 36 +++++++++++++++++++-----------------
kernel/sched/ext.c | 1 +
kernel/sched/sched.h | 27 ++++++++++++++++++++++++++-
kernel/sched/syscalls.c | 32 ++------------------------------
6 files changed, 59 insertions(+), 56 deletions(-)