Re: [RFC 4/8] Improve the tracking of active utilisation

From: Luca Abeni
Date: Fri Jan 15 2016 - 04:27:54 EST


On Thu, 14 Jan 2016 20:43:23 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Thu, Jan 14, 2016 at 04:24:49PM +0100, Luca Abeni wrote:
> > This patch implements a more theoretically sound algorithm for
> > thracking the active utilisation: instead of decreasing it when a
> > task blocks, use a timer (the "inactive timer", named after the
> > "Inactive" task state of the GRUB algorithm) to decrease the
> > active utilisaation at the so called "0-lag time".
>
> See also the large-ish comment in __setparam_dl().
>
> If we go do proper 0-lag, as GRUB requires, then we might as well use
> it for that.
Yes, I initially tried to do this, but I found some issues (I do not
remember, but I think they were related to tasks moving from
SCHED_DEADLINE to SCHED_OTHER, and then migrating to some other
runqueue while SCHED_OTHER but before the 0-lag time)

I'll search my notes for this issue in the next days and check
again (maybe when I wrote this code I was just misunderstanding
something)


Luca

>
> But we need to sort the issue of the task exiting with an armed timer.
> The solution suggested there is keeping a task reference with the
> timer.