Messages in this thread | | | Date | Sat, 7 May 2016 09:24:17 +0800 | From | Yuyang Du <> | Subject | Re: sched: tweak select_idle_sibling to look for idle threads |
| |
On Sun, May 01, 2016 at 11:20:25AM +0200, Mike Galbraith wrote: > On Sun, 2016-05-01 at 10:53 +0200, Peter Zijlstra wrote: > > On Sun, May 01, 2016 at 09:12:33AM +0200, Mike Galbraith wrote: > > > On Sat, 2016-04-30 at 14:47 +0200, Peter Zijlstra wrote: > > > > > > Can you guys have a play with this; I think one and two node tbench are > > > > good, but I seem to be getting significant run to run variance on that, > > > > so maybe I'm not doing it right. > > > > > > Nah, tbench is just variance prone. It got dinged up at clients=cores > > > on my desktop box, on 4 sockets the high end got seriously dinged up. > > > > Ouch, yeah, big hurt. Lets try that again... :-) > > Yeah, box could use a little bandaid and a hug :) > > Playing with Chris' benchmark, seems the biggest problem is that we > don't buddy up waker of many and it's wakees in a node.. ie the wake > wide thing isn't necessarily our friend when there are multiple wakers > of many. If I run an instance per node with one mother of all work in > autobench mode, it works exactly as you'd expect, game over is when > wakees = socket size. It never get's near that point if I let things > wander, it beats itself up well before we get there.
Maybe give the criteria a bit margin, not just wakees tend to equal llc_size, but the numbers are so wild to easily break the fragile condition, like:
if (master * 100 < slave * factor * 110) return 0;
And since you accumulate wakee number (and decay at HZ), this check tends to not satisfy ever?
if (slave < factor) return 0;
| |