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