Messages in this thread | | | Subject | Re: [RFCv6 PATCH 09/10] sched: deadline: use deadline bandwidth in scale_rt_capacity | From | Luca Abeni <> | Date | Tue, 15 Dec 2015 14:21:56 +0100 |
| |
On 12/15/2015 01:23 PM, Peter Zijlstra wrote: > On Tue, Dec 15, 2015 at 09:50:14AM +0100, Luca Abeni wrote: >> Strictly speaking, the active utilisation must be updated when a task >> wakes up and when a task sleeps/terminates (but when a task sleeps/terminates >> you cannot decrease the active utilisation immediately: you have to wait >> some time because the task might already have used part of its "future >> utilisation"). >> The active utilisation must not be updated when a task is throttled: a >> task is throttled when its current runtime is 0, so it already used all >> of its utilisation for the current period (think about two tasks with >> runtime=50ms and period 100ms: they consume 100% of the time on a CPU, >> and when the first task consumed all of its runtime, you cannot decrease >> the active utilisation). > > Hehe, this reminds me of the lag tracking in EEVDF/WF2Q/BFQ etc., that > had similar issues. Yes, I remember EEVDF and similar algorithms also needed to keep track of the current lag (and to reset it at a later time respect to the "task is blocking" event). I do not remember the exact details, but I "borrowed" the "0-lag time" name from one of those papers :)
Luca
| |