mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 05:44:45 +01:00
Fix a regression in the deferrable dl_server code that can cause the
dl_server to be stuck. Signed-off-by: Ingo Molnar <mingo@kernel.org> -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAml/FIkRHG1pbmdvQGtl cm5lbC5vcmcACgkQEnMQ0APhK1jB7w/9GazyDrZhdmJp7NeJCEW82FGKljBuEBvP RxN9lrhRuOIKEVuOfJI76Chd5iooSlKdDmaOcxFrkihwJ/AREHekTlYFLtncg5Zu 5JjeYLiuN04kkOClDz7mTgcSzJD7yM0m2mD5CS45lZ35shM64eLr5GtXaFTEs9SZ E9R4cBiNpz4bVMNW4y3TphSlEx84sIRWoj5Gmzw3CG/52GbIcj1rgwO4b/RI4FYV yio7V5+ol6oVijlul/UIMYkB6vWGbO8swa/YErhyCvXpHfR1pwsEDFcTjJvO9hCK 2QPwBo34m9mibybvQoyS+/Cybf/yWqeyc1KHqn2+wlO/Ectk97H3eBsbLO2ot/dX Sv+y+vq3Wm5BczaKtyCeGvk+N5NSp3jhKUO4jH0Iivi+jRJ2yynJ+Dgg0F0ldIMM 0qBfEvaiN8Fbg8LLDevfqtGnctvRiwzKNstaZyUmq1g5NXPOGlerVtHP+osuPb/L lIK7uSZMZNStJS7R7vcO+g2lAl15UwBmMPEepDdUsBilnKEnefl+j5wilhjLoNM7 G+XMSFLMoWX1/oY9f8TRs6ncZ+ays6tal8bePVyTrdp/RBAXCFlB9npNjqlTkZjT M6zRqHcIOPZxEJP3ZqsGb0rT41v7gJbuHg2uUSQwyqEWmTB45IqTewi2Omw/duJ/ OOp7g2matLY= =U5Zw -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
e53ada651a
1 changed files with 12 additions and 0 deletions
|
|
@ -1034,6 +1034,12 @@ static void update_dl_entity(struct sched_dl_entity *dl_se)
|
|||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* When [4] D->A is followed by [1] A->B, dl_defer_running
|
||||
* needs to be cleared, otherwise it will fail to properly
|
||||
* start the zero-laxity timer.
|
||||
*/
|
||||
dl_se->dl_defer_running = 0;
|
||||
replenish_dl_new_period(dl_se, rq);
|
||||
} else if (dl_server(dl_se) && dl_se->dl_defer) {
|
||||
/*
|
||||
|
|
@ -1655,6 +1661,12 @@ void dl_server_update(struct sched_dl_entity *dl_se, s64 delta_exec)
|
|||
* dl_server_active = 1;
|
||||
* enqueue_dl_entity()
|
||||
* update_dl_entity(WAKEUP)
|
||||
* if (dl_time_before() || dl_entity_overflow())
|
||||
* dl_defer_running = 0;
|
||||
* replenish_dl_new_period();
|
||||
* // fwd period
|
||||
* dl_throttled = 1;
|
||||
* dl_defer_armed = 1;
|
||||
* if (!dl_defer_running)
|
||||
* dl_defer_armed = 1;
|
||||
* dl_throttled = 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue