Re: [RFC PATCH] sched/deadline: Avoid dl_server boosting with expired deadline
From: Peter Zijlstra
Date: Thu Oct 30 2025 - 14:42:08 EST
On Wed, Oct 22, 2025 at 12:11:51PM +0200, Gabriele Monaco wrote:
Sorry, finally cycling back to this.
> > So how about something like this for starters?
> >
>
> Thanks Peter for sharing this patch, I run it through my test and the model
> seems to pass (i.e. no more boosting after deadline). What I found curious
> however, is that throughout the test, servers went only through replenish
> events.
> The system under test is mostly idle (6 periodic dl tasks on a 16 CPUs virtme-ng
> VM), so I expect not to see any task boosted by the servers, but in 5 minutes I
> didn't even observe any start/stop for the server.
>
> I'm not sure why this is happening, but looking at traces it seems replenish
> occurs more often and perhaps doesn't let the server stop:
>
> <idle>-0 [009] d.h3. 14.312395: (+950124) event_nomiss: -9: idle x dl_replenish_idle -> idle
> <idle>-0 [009] d.h3. 14.312401: (+6) sched_dl_replenish: comm=server pid=-9 runtime=50000000 deadline=15253307235 yielded=0
> <idle>-0 [009] d.h3. 15.262771: (+950370) event_nomiss: -9: idle x dl_replenish_idle -> idle
> <idle>-0 [009] d.h3. 15.262781: (+10) sched_dl_replenish: comm=server pid=-9 runtime=50000000 deadline=16203668554 yielded=0
> <idle>-0 [009] d.h3. 16.213117: (+950336) event_nomiss: -9: idle x dl_replenish_idle -> idle
> <idle>-0 [009] d.h3. 16.213123: (+6) sched_dl_replenish: comm=server pid=-9 runtime=50000000 deadline=17154029879 yielded=0
>
> Is this expected?
Sort of, that was next on the list. Let me see if I can make it stop a
little more.