Thread (158 messages) read the whole thread 158 messages, 14 authors, 2016-02-11

RE: [PATCH 0/6] support "dataplane" mode for nohz_full

From: Gilad Ben Yossef <hidden>
Date: 2015-05-09 10:51:31
Also in: lkml

From: Mike Galbraith [mailto:umgwanakikbuti@gmail.com]
Sent: Saturday, May 09, 2015 10:20 AM
To: Ingo Molnar
Cc: Andrew Morton; 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

On Sat, 2015-05-09 at 09:05 +0200, Ingo Molnar wrote:
quoted
* Andrew Morton [off-list ref] wrote:
quoted
On Fri, 8 May 2015 19:11:10 -0400 Chris Metcalf [off-list ref]
wrote:
quoted
quoted
quoted
On 5/8/2015 5:22 PM, Steven Rostedt wrote:
quoted
On Fri, 8 May 2015 14:18:24 -0700
Andrew Morton [off-list ref] wrote:
quoted
On Fri, 8 May 2015 13:58:41 -0400 Chris Metcalf
[off-list ref] wrote:
quoted
quoted
quoted
quoted
quoted
quoted
A prctl() option (PR_SET_DATAPLANE) is added
Dumb question: what does the term "dataplane" mean in this
context?  I
quoted
quoted
quoted
quoted
quoted
can't see the relationship between those words and what this
patch
quoted
quoted
quoted
quoted
quoted
does.
I was thinking the same thing. I haven't gotten around to
searching
quoted
quoted
quoted
quoted
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
quoted
quoted
quoted
the concept.  The terminology comes, I think, from networking line
cards,
quoted
quoted
quoted
where the "dataplane" is the part of the application that handles
all the
quoted
quoted
quoted
fast path processing of network packets, and the "control plane" is
the part
quoted
quoted
quoted
that handles routing updates, etc., generally slow-path stuff.  I've
probably
quoted
quoted
quoted
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,
quoted
quoted
quoted
we're talking about no interrupts of any kind, and maybe NO_HZ is
too
quoted
quoted
quoted
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.
quoted
I like NO_INTERRUPTS.  Simple, direct.
NO_HZ_PURE?
Hm, coke light, coke zero... OS_LIGHT and OS_ZERO?
LOL... you forgot OS_CLASSIC for backwards compatibility :-)
How about TASK_SOLO?
Yes, you are trying to achieve the least amount of interference but the bigger context is about monopolizing a single CPU for yourself.
Anyway it is worth pointing out that while NO_HZ_FULL is very useful in conjunction with this turning the tick off is useful also if you have multiple tasks runnable (e.g. if you know you only need to context switch in 100 ms, why keep a periodic interrupt running?) even though we don't support it *right now*. It might be a good idea not to entangle these concepts too much.

Gilad
Gilad Ben-Yossef
Chief Software Architect
EZchip Technologies Ltd.
37 Israel Pollak Ave, Kiryat Gat 82025 ,Israel
Tel: +972-4-959-6666 ext. 576, Fax: +972-8-681-1483 
Mobile: +972-52-826-0388, US Mobile: +1-973-826-0388
Email: giladb@ezchip.com, Web: http://www.ezchip.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help