[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160927144800.GE14933@linux.vnet.ibm.com>
Date: Tue, 27 Sep 2016 07:48:00 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Andy Lutomirski <luto@...capital.net>,
Chris Metcalf <cmetcalf@...lanox.com>,
Thomas Gleixner <tglx@...utronix.de>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
Christoph Lameter <cl@...ux.com>,
Michal Hocko <mhocko@...e.com>,
Gilad Ben Yossef <giladb@...lanox.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
Linux API <linux-api@...r.kernel.org>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...nel.org>, Tejun Heo <tj@...nel.org>,
Rik van Riel <riel@...hat.com>,
Will Deacon <will.deacon@....com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Catalin Marinas <catalin.marinas@....com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v15 04/13] task_isolation: add initial support
On Tue, Sep 27, 2016 at 04:22:20PM +0200, Frederic Weisbecker wrote:
> On Fri, Sep 02, 2016 at 10:28:00AM -0700, Andy Lutomirski wrote:
> >
> > Unless I'm missing something (which is reasonably likely), couldn't
> > the isolation code just force or require rcu_nocbs on the isolated
> > CPUs to avoid this problem entirely.
>
> rcu_nocb is already implied by nohz_full. Which means that RCU callbacks
> are offlined outside the nohz_full set of CPUs.
Indeed, at boot time, RCU makes any nohz_full CPU also be a rcu_nocb
CPU.
> > I admit I still don't understand why the RCU context tracking code
> > can't just run the callback right away instead of waiting however many
> > microseconds in general. I feel like paulmck has explained it to me
> > at least once, but that doesn't mean I remember the answer.
>
> The RCU context tracking doesn't take care of callbacks. It's only there
> to tell the RCU core whether the CPU runs code that may or may not run
> RCU read side critical sections. This is assumed by "kernel may use RCU,
> userspace can't".
And RCU has to wait for read-side critical sections to complete before
invoking callbacks.
Thanx, Paul
Powered by blists - more mailing lists