Messages in this thread | | | Date | Mon, 2 May 2016 17:10:04 +0200 | From | Peter Zijlstra <> | Subject | Re: sched: tweak select_idle_sibling to look for idle threads |
| |
On Mon, May 02, 2016 at 04:50:04PM +0200, Mike Galbraith wrote:
> Order is one thing, but what the old behavior does first and foremost > is when the box starts getting really busy, only looking at target's > sibling shuts select_idle_sibling() down instead of letting it wreck > things. Once cores are moving, there are no large piles of anything > left to collect other than pain.
> Anyway, the has_idle_cores business seems to shut select_idle_sibling() > down rather nicely when the the box gets busy. Forcing either core, > target's sibling or go fish turned in a top end win on 48 rq/socket.
FWIW making the select_idle_core() thing iterate in the old style (start at target and wrap around) did bring an improvement, even in the face of has_idle_cores; it shrank the hole between OLD_IDLE and IDLE_CORES+IDLE_SMT (my variant of your #if 1 thing), but did not completely eliminate it (for sysbench-psql-oltp).
| |