Re: sched: tweak select_idle_sibling to look for idle threads

From: Mike Galbraith
Date: Sun Apr 10 2016 - 06:04:55 EST


On Sat, 2016-04-09 at 15:05 -0400, Chris Mason wrote:

> This does preserve the existing logic to prefer idle cores over idle
> CPU threads, and includes some tests to try and avoid the idle scan when we're
> actually better off sharing a non-idle CPU with someone else.

My box says the "oh nevermind" checks aren't selective enough, tbench
dropped 4% at clients=cores, and 2% at clients=threads.

> Benchmarks in production show overall capacity going up between 2-5%
> depending on the metric.

Latency rules all loads certainly exist, and clearly want some love,
but the bigger the socket, and the more threads/core, the more that
traverse is gonna hurt the others, so seems either we need a better
filter, or a (yeah yeah, yet another damn) tweakable.

Oh, and bounce_to_target() seems an odd way to say full_traverse.

-Mike