Messages in this thread | | | Date | Wed, 6 Jul 2016 12:45:43 +0100 | From | Matt Fleming <> | Subject | Re: [rfc patch] sched/fair: Use instantaneous load for fork/exec balancing |
| |
On Mon, 04 Jul, at 07:43:14PM, Mike Galbraith wrote: > On Mon, 2016-07-04 at 16:04 +0100, Matt Fleming wrote: > > > But we can optimise the special case of dequeueing the last entity and > > reset ::runnable_load_avg early, which gives a performance improvement > > to workloads that trigger the load balancer, such as fork-heavy > > applications when SD_BALANCE_FORK is set, because it gives a more up > > to date view of how busy the cpu is. > > Begs the question: what's so special about this case vs any other > dequeue/enqueue?
All that makes this special is that this is the behaviour seen when running hackbench - initial heavy forking by some master task which eventually wakes everyone up. So you get this huge sequence of "fork, enqueue, run, dequeue". Yes, it's a complete hack.
> I've given up on this as being a waste of time. Either you serialize > everything box wide (not!) and can then make truly accurate evaluations > of state, or you're making an educated guess based upon what once was. > > The only place I've seen where using the average consistently has > issues is with a longish period periodic load (schbench).
I'm open to any suggestion that restores performance to that seen before commit 0905f04eb21f, whether or not that involves changing how load averages are used.
| |