Messages in this thread | | | Date | Tue, 6 Feb 2018 20:15:07 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v4 1/3] sched/fair: add util_est on top of PELT |
| |
On Tue, Feb 06, 2018 at 08:09:00PM +0100, Peter Zijlstra wrote: > On Tue, Feb 06, 2018 at 06:33:15PM +0000, Patrick Bellasi wrote: > > > Good point, I was actually expecting this question and I should have > > added it to the cover letter, sorry. > > > > The reasoning was: the task's estimated utilization is defined as the > > max between PELT and the "estimation". Where "estimation" is > > the max between EWMA and the last ENQUEUED utilization. > > > > Thus I was envisioning these two calls: > > > > _task_util_est := max(EWMA, ENQUEUED) > > task_util_est := max(util_avg, _task_util_est) > > > > but since now we have clients only for the first API, I've not added > > the second one. Still I would prefer to keep the "_" to make it clear > > that's and util_est's internal signal, not the actual task's estimated > > utilization. > > > > Does it make sense? > > > > Do you prefer I just remove the "_" and we will refactor it once we > > should add a customer for the proper task's util_est? > > Hurm... I was thinking: > > task_util_est := max(util_avg, EWMA) > > But the above mixes ENQUEUED into it.. *confused*.
So mixing in ENQUEUED seems to give it an upward BIAS if the very last activation was 'high'. Thereby improving ramp-up.
That seems to be what we want.. might be nice to have that in a comment ;-)
I'm thinking we want a different name for max(EWMA, ENQUEUED) though, but I really can't come up with a sensible suggestion, which I suppose, is why you stuck an underscore on it and went on with things.
| |