Re: wake_wide mechanism clarification

From: Mike Galbraith
Date: Mon Jul 31 2017 - 09:42:33 EST


On Mon, 2017-07-31 at 12:21 +0000, Josef Bacik wrote:
>
> I've been working in this area recently because of a cpu imbalance problem.
> Wake_wide() definitely makes it so we're waking affine way too often, but I
> think messing with wake_waide to solve that problem is the wrong solution. This
> is just a heuristic to see if we should wake affine, the simpler the better. I
> solved the problem of waking affine too often like this
>
> https://marc.info/?l=linux-kernel&m=150003849602535&w=2

Wait a minute, that's not quite fair :) ÂWake_wide() can't be blamed
for causing too frequent affine wakeups when what it does is filter
some out. ÂWhile it may not reject aggressively enough for you (why you
bent it up to be very aggressive), seems the problem from your loads
POV is the scheduler generally being too eager to bounce.

I've also played with rate limiting migration per task, but it had
negative effects too: when idle/periodic balance pulls buddies apart,
rate limiting inhibits them quickly finding each other again, making
undoing all that hard load balancer work a throughput win. ÂSigh.

-Mike