[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150528102127.GD3644@twins.programming.kicks-ass.net>
Date: Thu, 28 May 2015 12:21:27 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Josef Bacik <jbacik@...com>
Cc: riel@...hat.com, mingo@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] sched: prefer an idle cpu vs an idle sibling for
BALANCE_WAKE
On Wed, May 27, 2015 at 05:22:16PM -0400, Josef Bacik wrote:
>
> SD_BALANCE_WAKE is supposed to find us an idle cpu to run on, however
sd->flags's SD_BALANCE_WAKE, not sd_flags.
And note that SD_BALANCE_WAKE is not set on domains by default.
> it is just looking for an idle sibling, preferring affinity over all
> else.
Not sure what you're saying here, what affinity?
> This is not helpful in all cases, and SD_BALANCE_WAKE's job is
> to find us an idle cpu, not garuntee affinity.
Your argument is going backwards, SD_BALANCE_WAKE is not actually set.
> Fix this by first
> trying to find an idle sibling, and then if the cpu is not idle fall
> through to the logic to find an idle cpu. With this patch we get
> slightly better performance than with our forward port of
> SD_WAKE_IDLE.
This is broken. You most certainly do not want to go do that whole load
balance pass on wakeups. It should be controlled by sd->flags. It is far
too expensive to consider turning that on by default.
In fact, select_idle_sibling() is already too expensive on current
server hardware (far too damn many cpus in a LLC domain).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists