Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753354AbbELPgj (ORCPT ); Tue, 12 May 2015 11:36:39 -0400 Received: from mail-wg0-f52.google.com ([74.125.82.52]:33626 "EHLO mail-wg0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751583AbbELPgf (ORCPT ); Tue, 12 May 2015 11:36:35 -0400 Date: Tue, 12 May 2015 17:36:31 +0200 From: Frederic Weisbecker To: Ingo Molnar Cc: Peter Zijlstra , Chris Metcalf , Steven Rostedt , Andrew Morton , paulmck@linux.vnet.ibm.com, Gilad Ben Yossef , Rik van Riel , Tejun Heo , Thomas Gleixner , Christoph Lameter , "Srivatsa S. Bhat" , linux-doc@vger.kernel.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: CONFIG_ISOLATION=y (was: [PATCH 0/6] support "dataplane" mode for nohz_full) Message-ID: <20150512153630.GA27864@lerouge> References: <20150509070538.GA9413@gmail.com> <20150511085759.71deeb64@gandalf.local.home> <20150511171916.GN6776@linux.vnet.ibm.com> <20150511102744.9ebb2d05a7e8b457d03430bf@linux-foundation.org> <20150511173305.GC32512@lerouge> <20150511140009.1f7bcf07@gandalf.local.home> <5550F077.6030906@ezchip.com> <20150512091032.GA10138@gmail.com> <20150512114809.GL21418@twins.programming.kicks-ass.net> <20150512123440.GA16959@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150512123440.GA16959@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2796 Lines: 62 On Tue, May 12, 2015 at 02:34:40PM +0200, Ingo Molnar wrote: > > * Peter Zijlstra wrote: > > > On Tue, May 12, 2015 at 11:10:32AM +0200, Ingo Molnar wrote: > > > > > > So I'd vote for Frederic's CONFIG_ISOLATION=y, mostly because this > > > is a high level kernel feature, so it won't conflict with > > > isolation concepts in lower level subsystems such as IOMMU > > > isolation - and other higher level features like scheduler > > > isolation are basically another partial implementation we want to > > > merge with all this... > > > > But why do we need a CONFIG flag for something that has no content? > > > > That is, I do not see anything much; except the 'I want to stay in > > userspace and kill me otherwise' flag, and I'm not sure that > > warrants a CONFIG flag like this. > > > > Other than that, its all a combination of NOHZ_FULL and > > cpusets/isolcpus and whatnot. > > Yes, that's what I meant: CONFIG_ISOLATION would trigger what is > NO_HZ_FULL today - we could possibly even remove CONFIG_NO_HZ_FULL as > an individual Kconfig option? Right, we could return to what we had previously: CONFIG_NO_HZ. A config that enables dynticks-idle by default and allows full dynticks if nohz_full= boot option is passed (or something driven by higher level isolation interface). Because eventually, distros enable NO_HZ_FULL so that their 0.0001% users can use it. Well at least Red Hat does. > > CONFIG_ISOLATION=y would express the guarantee from the kernel that > it's possible for user-space to configure itself to run undisturbed - > instead of the current inconsistent set of options and facilities. > > A bit like CONFIG_PREEMPT_RT is more than just preemptable spinlocks, > it also tries to offer various facilities and tune the defaults to > turn the kernel hard-rt. > > Does that make sense to you? Right although distros tend to want features to be enabled dynamically so that they have a single kernel to maintain. Things like PREEMPT_RT really need to be a different kernel because fundamental primitives like spinlocks must be implemented statically. But isolation can be a boot-enabled, or even runtime-enabled, as it's only about timer,irq,task affinity. Full Nohz is more complicated but it can be runtime toggled in the future. So we can bring CONFIG_CPU_ISOLATION, at least for distros that are really not interested in that so they can disable it. CONFIG_CPU_ISOLATION=y would bring an ability which is default-disabled and driven dynamically through whatever interface. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/