History

Merge tag 'sched-urgent-2026-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Ingo Molnar: "Fix a regression in the deferrable dl_server code that can cause the dl_server to be stuck" * tag 'sched-urgent-2026-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/deadline: Fix 'stuck' dl_server

Linus Torvalds committed 9 months ago

Commit e53ada62 parents 969b572 11513541 file · +12 −0Browse files

Unified · Split

kernel/sched/deadline.c+12−0
@@ -1034,6 +1034,12 @@ static void update_dl_entity(struct sched_dl_entity *dl_se) · 1033 unmodified lines
1034 return;1034 return;
1035 }1035 }
1036 1036
1037 /*
1038 * When [4] D->A is followed by [1] A->B, dl_defer_running
1039 * needs to be cleared, otherwise it will fail to properly
1040 * start the zero-laxity timer.
1041 */
1042 dl_se->dl_defer_running = 0;
1037 replenish_dl_new_period(dl_se, rq);1043 replenish_dl_new_period(dl_se, rq);
1038 } else if (dl_server(dl_se) && dl_se->dl_defer) {1044 } else if (dl_server(dl_se) && dl_se->dl_defer) {
1039 /*1045 /*
@@ -1655,6 +1661,12 @@ void dl_server_update(struct sched_dl_entity *dl_se, s64 delta_exec) · 615 unmodified lines
1655 * dl_server_active = 1;1661 * dl_server_active = 1;
1656 * enqueue_dl_entity()1662 * enqueue_dl_entity()
1657 * update_dl_entity(WAKEUP)1663 * update_dl_entity(WAKEUP)
1664 * if (dl_time_before() || dl_entity_overflow())
1665 * dl_defer_running = 0;
1666 * replenish_dl_new_period();
1667 * // fwd period
1668 * dl_throttled = 1;
1669 * dl_defer_armed = 1;
1658 * if (!dl_defer_running)1670 * if (!dl_defer_running)
1659 * dl_defer_armed = 1;1671 * dl_defer_armed = 1;
1660 * dl_throttled = 1;1672 * dl_throttled = 1;