From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederic Weisbecker Subject: Re: [PATCH v15 04/13] task_isolation: add initial support Date: Tue, 27 Sep 2016 16:22:20 +0200 Message-ID: <20160927142219.GC6242@lerouge> References: <20160830075854.GZ10153@twins.programming.kicks-ass.net> <3f84f736-ed7f-adff-d5f0-4f7db664208f@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-doc-owner@vger.kernel.org To: Andy Lutomirski Cc: Chris Metcalf , Thomas Gleixner , "linux-doc@vger.kernel.org" , Christoph Lameter , Michal Hocko , Gilad Ben Yossef , Andrew Morton , Viresh Kumar , Linux API , Steven Rostedt , Ingo Molnar , Tejun Heo , Rik van Riel , Will Deacon , "Paul E. McKenney" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Catalin Marinas , Peter Zijlstra List-Id: linux-api@vger.kernel.org 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. > > 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".