[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171031082009.rxxa57goto6q5xld@hirez.programming.kicks-ass.net>
Date: Tue, 31 Oct 2017 09:20:09 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Atish Patra <atish.patra@...cle.com>
Cc: linux-kernel@...r.kernel.org, joelaf@...gle.com,
brendan.jackman@....com, jbacik@...com, mingo@...hat.com
Subject: Re: [PATCH RFC 1/2] sched: Minimize the idle cpu selection race
window.
On Tue, Oct 31, 2017 at 12:27:41AM -0500, Atish Patra wrote:
> Currently, multiple tasks can wakeup on same cpu from
> select_idle_sibiling() path in case they wakeup simulatenously
> and last ran on the same llc. This happens because an idle cpu
> is not updated until idle task is scheduled out. Any task waking
> during that period may potentially select that cpu for a wakeup
> candidate.
>
> Introduce a per cpu variable that is set as soon as a cpu is
> selected for wakeup for any task. This prevents from other tasks
> to select the same cpu again. Note: This does not close the race
> window but minimizes it to accessing the per-cpu variable. If two
> wakee tasks access the per cpu variable at the same time, they may
> select the same cpu again. But it minimizes the race window
> considerably.
The very most important question; does it actually help? What
benchmarks, give what numbers?
Powered by blists - more mailing lists