[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160412200728.GA41928@clm-mbp.thefacebook.com>
Date: Tue, 12 Apr 2016 16:07:28 -0400
From: Chris Mason <clm@...com>
To: Mike Galbraith <mgalbraith@...e.de>
CC: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Matt Fleming <matt@...eblueprint.co.uk>,
<linux-kernel@...r.kernel.org>
Subject: Re: sched: tweak select_idle_sibling to look for idle threads
On Tue, Apr 12, 2016 at 08:16:17PM +0200, Mike Galbraith wrote:
> On Tue, 2016-04-12 at 09:27 -0400, Chris Mason wrote:
> > I
> > can always add the tunable to flip things on/off but I'd prefer that we
> > find a good set of defaults, mostly so the FB production runtime is the
> > common config instead of the special snowflake.
>
> Yeah, generic has a much better chance to actually get merged, just
> need a very solid chain on the lurking beast from hell. Hm...
>
> The last time we went through this, the problem child was the waker of
> many in your load. With tiny twiddle to wake_wide(), all was allegedly
> well, or at least that's the impression I was left with. That leads me
> to a pseudo-random thought: iff that waker of many is still at the
> root, you could try using wake_wide() as the full search trigger, which
> should shrink the attack surface available to the horror-from-hell
> quite a lot. Just a thought.
I think that if we're worried about the cost of the idle scan for this
workload, find_idlest_group() is either going to hurt much more, or not
search enough CPUs to find the idle one.
But I'm happy to try patches or other ideas, I have a fixed version of
the bitmap one going through production benchmarks now.
-chris
Powered by blists - more mailing lists