[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20171130123042.2bixycdkvuyvsyqw@pc636>
Date: Thu, 30 Nov 2017 13:30:42 +0100
From: Uladzislau Rezki <urezki@...il.com>
To: Mike Galbraith <efault@....de>
Cc: Uladzislau Rezki <urezki@...il.com>,
Atish Patra <atish.patra@...cle.com>,
Peter Zijlstra <peterz@...radead.org>,
Joel Fernandes <joelaf@...gle.com>,
LKML <linux-kernel@...r.kernel.org>,
Brendan Jackman <brendan.jackman@....com>,
Josef Bacik <jbacik@...com>, Ingo Molnar <mingo@...hat.com>
Subject: Re: [PATCH RFC 1/2] sched: Minimize the idle cpu selection race
window.
On Wed, Nov 29, 2017 at 07:15:21PM +0100, Mike Galbraith wrote:
> On Wed, 2017-11-29 at 11:41 +0100, Uladzislau Rezki wrote:
> > On Tue, Nov 28, 2017 at 11:49:11AM +0100, Mike Galbraith wrote:
> > > On Tue, 2017-11-28 at 10:34 +0100, Uladzislau Rezki wrote:
> > > > On Fri, Nov 24, 2017 at 07:46:30PM +0100, Mike Galbraith wrote:
> > > >
> > > > > My view is you're barking up the wrong tree: you're making the idle
> > > > > data SIS is using more accurate, but I question the benefit. That it
> > > > > makes an imperfect placement decision occasionally due to raciness is
> > > > > nearly meaningless compared to the cost of frequent bounce.
> > >
> > > > Before sitting down and start testing, i just illustrated how we can
> > > > apply claim_wake_up to ilb asking community a specific view on it:
> > > > drawbacks, pros/cons, proposals etc.
> > >
> > > Even if you make the thing atomic, what is ILB supposed to do, look
> > > over its shoulder every step of the way and sh*t it's pants if somebody
> > > touches claim_wake_up as it's about to or just after it did something?
> > If nohz.idle_cpus_mask is set for particular CPU together with claim mask,
> > it means that TIF_NEED_RESCHED is coming or is already in place. When a
> > CPU hits idle_thread a claim bit gets reset and proceed to no_hz mode
> > unless it runs into scheduler_ipi or so.
>
> Which means nothing to an LB operation in progress.
>
<snip>
static void nohz_idle_balance(...)
...
/*
* If this cpu gets work to do, stop the load balancing
* work being done for other cpus. Next load
* balancing owner will pick it up.
*/
if (need_resched())
break;
...
<snip>
>
> But whatever, I'm not going to argue endlessly about something I think
> should be blatantly obvious. IMO, this is a couple points shy of
> pointless. That's my 'C' to this RFC in a nutshell. I'm done.
>
Thank you.
Vlad
Powered by blists - more mailing lists