Messages in this thread | | | Date | Tue, 7 Jan 2014 15:10:59 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC] sched: CPU topology try |
| |
On Tue, Jan 07, 2014 at 02:22:20PM +0100, Peter Zijlstra wrote:
I just realized there's two different p's in there.
> Ah, another way of looking at it is that the avg without blocked > component is a 'now' picture. It is the load we are concerned with right > now. > > The more blocked we add the further out we look; with the obvious limit > of the entire averaging period. > > So the avg that is runnable is right now, t_0; the avg that is runnable + > blocked is t_0 + p, where p is the avg period over which we expect the > blocked contribution to appear.
So the above p for period, is unrelated to the below p which is a probability function.
> So something like: > > avg = runnable + p(i) * blocked; where p(i) \e [0,1] > > could maybe be used to replace the cpu_load array and still represent > the concept of looking at a bigger picture for larger sets. Leaving open > the details of the map p.
We probably want to assume task wakeup is constant over time, so p (our probability function) should probably be an exponential distribution.
| |