[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160502151004.GE3430@twins.programming.kicks-ass.net>
Date: Mon, 2 May 2016 17:10:04 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Mike Galbraith <mgalbraith@...e.de>
Cc: Chris Mason <clm@...com>, 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 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).
Powered by blists - more mailing lists