Messages in this thread | | | Subject | Re: [PATCH 09/16] sched: normalize tg load contributions against runnable time | From | Peter Zijlstra <> | Date | Wed, 04 Jul 2012 21:48:05 +0200 |
| |
On Wed, 2012-06-27 at 19:24 -0700, Paul Turner wrote: > Entities of equal weight should receive equitable distribution of cpu time. > This is challenging in the case of a task_group's shares as execution may be > occurring on multiple cpus simultaneously. > > To handle this we divide up the shares into weights proportionate with the load > on each cfs_rq. This does not however, account for the fact that the sum of > the parts may be less than one cpu and so we need to normalize: > load(tg) = min(runnable_avg(tg), 1) * tg->shares > Where runnable_avg is the aggregate time in which the task_group had runnable > children.
I remember we had a bit of a discussion on this last time, I thought you were going to convince me this approximation was 'right'.
Care to still do so.. the rationale used should at least live in a comment somewhere, otherwise someone will go silly trying to understand things later on.
| |