Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753801AbbEIHFq (ORCPT ); Sat, 9 May 2015 03:05:46 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:35616 "EHLO mail-wi0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753767AbbEIHFo (ORCPT ); Sat, 9 May 2015 03:05:44 -0400 Date: Sat, 9 May 2015 09:05:38 +0200 From: Ingo Molnar To: Andrew Morton Cc: Chris Metcalf , Steven Rostedt , Gilad Ben Yossef , Ingo Molnar , Peter Zijlstra , Rik van Riel , Tejun Heo , Frederic Weisbecker , Thomas Gleixner , "Paul E. McKenney" , Christoph Lameter , "Srivatsa S. Bhat" , linux-doc@vger.kernel.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/6] support "dataplane" mode for nohz_full Message-ID: <20150509070538.GA9413@gmail.com> References: <1431107927-13998-1-git-send-email-cmetcalf@ezchip.com> <20150508141824.797eb0d89d514e39fd30fffe@linux-foundation.org> <20150508172210.559830a9@gandalf.local.home> <554D428E.6020702@ezchip.com> <20150508161909.308d60e21f6b83b897174276@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150508161909.308d60e21f6b83b897174276@linux-foundation.org> 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: 3810 Lines: 88 * Andrew Morton wrote: > On Fri, 8 May 2015 19:11:10 -0400 Chris Metcalf wrote: > > > On 5/8/2015 5:22 PM, Steven Rostedt wrote: > > > On Fri, 8 May 2015 14:18:24 -0700 > > > Andrew Morton wrote: > > > > > >> On Fri, 8 May 2015 13:58:41 -0400 Chris Metcalf wrote: > > >> > > >>> A prctl() option (PR_SET_DATAPLANE) is added > > >> Dumb question: what does the term "dataplane" mean in this context? I > > >> can't see the relationship between those words and what this patch > > >> does. > > > I was thinking the same thing. I haven't gotten around to searching > > > DATAPLANE yet. > > > > > > I would assume we want a name that is more meaningful for what is > > > happening. > > > > The text in the commit message and the 0/6 cover letter do try to explain > > the concept. The terminology comes, I think, from networking line cards, > > where the "dataplane" is the part of the application that handles all the > > fast path processing of network packets, and the "control plane" is the part > > that handles routing updates, etc., generally slow-path stuff. I've probably > > just been using the terms so long they seem normal to me. > > > > That said, what would be clearer? NO_HZ_STRICT as a superset of > > NO_HZ_FULL? Or move away from the NO_HZ terminology a bit; after all, > > we're talking about no interrupts of any kind, and maybe NO_HZ is too > > limited in scope? So, NO_INTERRUPTS? USERSPACE_ONLY? Or look > > to vendors who ship bare-metal runtimes and call it BARE_METAL? > > Borrow the Tilera marketing name and call it ZERO_OVERHEAD? > > > > Maybe BARE_METAL seems most plausible -- after DATAPLANE, to me, > > of course :-) 'baremetal' has uses in virtualization speak, so I think that would be confusing. > I like NO_INTERRUPTS. Simple, direct. NO_HZ_PURE? That's what it's really about: user-space wants to run exclusively, in pure user-mode, without any interrupts. So I don't like 'NO_HZ_NO_INTERRUPTS' for a couple of reasons: - It is similar to a term we use in perf: PERF_PMU_CAP_NO_INTERRUPT. - Another reason is that 'NO_INTERRUPTS', in most existing uses in the kernel generally relates to some sort of hardware weakness, limitation, a negative property: that we try to limp along without having a hardware interrupt and have to poll. In other driver code that uses variants of NO_INTERRUPT it appears to be similar. So I think there's some confusion potential here. - Here the fact that we don't disturb user-space is an absolutely positive property, not a limitation, a kernel feature we work hard to achieve. NO_HZ_PURE would convey that while NO_HZ_NO_INTERRUPTS wouldn't. - NO_HZ_NO_INTERRUPTS has a double negation, and it's also too long, compared to NO_HZ_FULL or NO_HZ_PURE ;-) The term 'no HZ' already expresses that we don't have periodic interruptions. We just duplicate that information with NO_HZ_NO_INTERRUPTS, while NO_HZ_FULL or NO_HZ_PURE qualifies it, makes it a stronger property - which is what we want I think. So I think we should either rename NO_HZ_FULL to NO_HZ_PURE, or keep it at NO_HZ_FULL: because the intention of NO_HZ_FULL was always to be such a 'zero overhead' mode of operation, where if user-space runs, it won't get interrupted in any way. There's no need to add yet another Kconfig variant - lets just enhance the current stuff and maybe rename it to NO_HZ_PURE to better express its intent. Thanks, Ingo -- 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/