From: Nick Piggin <nickpiggin@yahoo.com.au> To: James Bruce <bruce@andrew.cmu.edu> Cc: "Bill Huey (hui)" <bhuey@lnxw.com>, Andi Kleen <ak@muc.de>, Sven-Thorsten Dietrich <sdietrich@mvista.com>, Ingo Molnar <mingo@elte.hu>, dwalker@mvista.com, hch@infradead.org, akpm@osdl.org, linux-kernel@vger.kernel.org Subject: Re: RT patch acceptance Date: Mon, 30 May 2005 19:37:33 +1000 [thread overview] Message-ID: <429ADEDD.4020805@yahoo.com.au> (raw) In-Reply-To: <4299A98D.1080805@andrew.cmu.edu> James Bruce wrote: > Nick Piggin wrote: > >> But nobody has been able to say why a single kernel is better than a >> nanokernel. > > > I think it's a bit more like you haven't realized the answer when people > gave it, so let me try to be more clear. It's purely a matter of effort Sorry no, nobody answered me. What I did realize was that there was a lot of noise nothing really got resolved. > - in general it's far easier to write one process than two communicating > processes. I reject the vague "complexity" argument. If your application is not fairly clear on what operations need to happen in a deterministic time and what aren't, or if you aren't easily able to get 2 communicating processes working, then I contend that you shouldn't be writing a realtime application. What's more, you don't even need to have 2 communicating processes, you could quite possibly do everything in the realtime kernel if you are talking some simple control system and driver. Note that I specifically reject the *vague* complexity argument, because if you have a *real* one (ie. we need functionality equivalent to this sequence of system calls executed in a deterministic time - the nanokernel approach sucks because [...]) then I'm quite willing to accept it. The fact is, nobody seems to know quite what kind of deterministic functionality they want (and please, let's not continue the jokes about X11 and XFS, etc.). Which really surprises me. I will give *you* a complexity argument. Making the Linux kernel hard realtime is slightly more complex than writing an app that consists of 2 communicating processes. > As far as APIs, with a single-kernel approach, an RT > programmer just has to restrict the program to calling APIs known to be > RT-safe (compare with MT-safe programming). In a split-kernel approach, > the programmer has to write RT-kernel support for the APIs he wants to > use (or beg for them to be written). Yeah great. Can we stop with these misleading implications now? *A* programmer will have to write RT support in *either* scheme. *THE* programmer (you imply, a consumer of the userspace API) does not. There is absolutely no difference for the userspace programmer in terms of realtime services. > Most programmers would much rather > limit API usage than implement new kernel support themselves. > ... > A very common RT app pattern is to do a bunch of non-RT stuff, then > enter an RT loop. For an example from my work, a robot control program > starts by reading a bunch of configuration files before it starts doing > anything requiring deadlines, then enters the RT control loop. Having > to read all the configuration in a separate program and then marshall > the data over to an RT-only process via file descriptors is quite a bit > more effort. I guess some free RT-nanokernels might/could support > non-RT to RT process migration, or better messaging, but there's You're controling a robot, and you consider passing configuration data over a file descriptor to be overly complex? I guess the robot doesn't do much, then? > additional programming effort (and overhead) that wasn't there before. > In general an app may enter and exit RT sections several times, which > really makes a split-kernel approach less than ideal. > You know that if your app executes some code that doesn't require deterministic completion then it doesn't have to exit from the RT kernel, right? Nor does the RT kernel have to provide *only* deterministic services. Hey, it could implement a block device backed filesystem - that solves your robot's problem. > An easy way to visualize the difference in programming effort for the > two approaches is to take your favorite threaded program and turn it > into one with separate processes that only communicate via pipes. You Yeah, or turn it into seperate processes that communicate via shared memory. Oh, wait... > can *always* do this, its just very much more painful to develop and > maintain. Your stance of "nobody can prove why a split-kernel won't > work" is equivalent to saying "we don't ever really need threads, since > processes suffice". That's true, but only in the same way that I don't > need a compilier or a pre-existing operating system to write an > application. > No it is not equivalent at all, and even if it were, that is not what my stance is. Let's dispense with the metaphors and abstract comparisons, and cut to what my stance actually is: "Nobody has even yet *suggested* any *slightly* credible reasons of why a single kernel might be better than a split-kernel for hard-RT" Of all the "reasons" I have been given, most either I (as a naive idiot, if you will) have been able to shoot holes in, or others have simply said they're wrong. I hate to say but I find this almost dishonest considering assertions like "obviously superior" are being thrown around, along with such fine explanations as "start writing realtime apps and you'll find out". Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2005-05-30 9:38 UTC|newest]
Thread overview: 345+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-23 23:14 RT patch acceptance Daniel Walker
2005-05-24 2:01 ` john cooper
2005-05-24 5:47 ` Christoph Hellwig
2005-05-24 6:45 ` Ingo Molnar
2005-05-24 8:03 ` Nick Piggin
2005-05-24 8:15 ` Ingo Molnar
2005-05-24 8:27 ` Nick Piggin
2005-05-24 9:02 ` Ingo Molnar
2005-05-24 9:14 ` Nick Piggin
2005-05-24 10:13 ` Ingo Molnar
2005-05-24 18:05 ` Daniel Walker
2005-05-24 22:41 ` Bill Huey
2005-05-24 23:44 ` Daniel Walker
2005-05-25 0:10 ` Bill Huey
2005-05-25 0:32 ` K.R. Foley
2005-05-25 0:45 ` Lee Revell
2005-05-25 1:32 ` K.R. Foley
2005-05-25 0:45 ` Daniel Walker
2005-05-25 0:59 ` Bill Huey
2005-05-25 1:02 ` Daniel Walker
2005-05-25 1:43 ` Andrew Morton
2005-05-25 2:02 ` Sven Dietrich
2005-05-25 2:20 ` Andrew Morton
2005-05-25 2:26 ` Lee Revell
2005-05-25 3:24 ` Nick Piggin
2005-05-25 3:36 ` Sven Dietrich
2005-05-25 5:05 ` Nick Piggin
2005-05-25 6:09 ` RT patch acceptance (scheduler) Bill Huey
2005-05-25 7:00 ` Nick Piggin
2005-05-25 9:27 ` Bill Huey
2005-05-25 14:50 ` Nick Piggin
2005-05-25 15:12 ` RT patch acceptance (scheduler) --- QUESTION Brian O'Mahoney
2005-05-25 15:36 ` Steven Rostedt
2005-05-25 6:05 ` RT patch acceptance Ingo Molnar
2005-05-25 18:50 ` Lee Revell
2005-05-25 3:26 ` Gene Heskett
2005-05-25 5:17 ` Nick Piggin
2005-05-25 13:20 ` Gene Heskett
2005-05-25 6:33 ` Ingo Molnar
2005-05-25 7:18 ` Nick Piggin
2005-05-25 7:46 ` Ingo Molnar
2005-05-25 10:51 ` Con Kolivas
2005-05-25 8:29 ` Giuseppe Bilotta
2005-05-25 13:23 ` Gene Heskett
2005-05-25 17:17 ` Andi Kleen
2005-05-25 17:52 ` Steven Rostedt
2005-05-25 18:00 ` Sven-Thorsten Dietrich
2005-05-26 19:32 ` Andi Kleen
2005-05-26 20:11 ` Sven-Thorsten Dietrich
2005-05-26 20:27 ` Andi Kleen
2005-05-26 20:46 ` Sven-Thorsten Dietrich
2005-05-26 23:57 ` john cooper
2005-05-26 21:28 ` Bill Huey
2005-05-26 23:44 ` john cooper
2005-05-27 5:19 ` Nick Piggin
2005-05-27 5:24 ` Nick Piggin
2005-05-27 7:18 ` Ingo Molnar
2005-05-27 8:07 ` Nick Piggin
2005-05-27 15:56 ` K.R. Foley
2005-05-28 3:59 ` Lee Revell
2005-05-27 7:20 ` Sven-Thorsten Dietrich
2005-05-27 8:17 ` Nick Piggin
2005-05-27 10:17 ` Thomas Gleixner
2005-05-27 17:46 ` Karim Yaghmour
2005-05-27 12:08 ` Bill Huey
2005-05-27 12:10 ` Ingo Molnar
2005-05-27 20:36 ` Bill Huey
2005-05-27 12:43 ` Nick Piggin
2005-05-27 23:36 ` Bill Huey
2005-05-28 3:53 ` Nick Piggin
2005-05-28 4:27 ` Lee Revell
2005-05-28 4:43 ` Nick Piggin
2005-05-28 5:53 ` Bill Huey
2005-05-28 5:45 ` Bill Huey
2005-05-28 6:49 ` Nick Piggin
2005-05-29 11:37 ` James Bruce
2005-05-29 12:23 ` Brian O'Mahoney
2005-05-30 9:37 ` Nick Piggin [this message]
2005-05-30 13:43 ` James Bruce
2005-05-30 14:21 ` Nick Piggin
2005-05-30 22:27 ` Bill Huey
2005-05-30 22:54 ` Karim Yaghmour
2005-05-30 23:05 ` Bill Huey
2005-05-30 23:29 ` Karim Yaghmour
2005-05-31 1:21 ` Nick Piggin
2005-05-31 2:09 ` Bill Huey
2005-05-31 9:12 ` James Bruce
2005-05-31 9:33 ` Nick Piggin
2005-05-31 10:23 ` Bill Huey
2005-05-31 10:48 ` James Bruce
2005-05-31 11:06 ` Nick Piggin
2005-05-31 11:14 ` Andi Kleen
2005-05-31 11:31 ` Hari N
2005-05-31 16:59 ` James Bruce
2005-05-31 12:09 ` Esben Nielsen
2005-05-31 16:18 ` Steven Rostedt
2005-05-31 16:42 ` Esben Nielsen
2005-05-31 17:11 ` Andrea Arcangeli
2005-05-31 17:42 ` Steven Rostedt
2005-05-31 17:51 ` Andrea Arcangeli
2005-05-31 18:29 ` Steven Rostedt
2005-05-31 20:54 ` Andrea Arcangeli
2005-05-31 21:22 ` Steven Rostedt
2005-05-31 21:47 ` Lee Revell
2005-05-31 22:24 ` Andrea Arcangeli
2005-05-31 23:41 ` Steven Rostedt
2005-06-01 0:50 ` Zan Lynx
2005-06-01 2:38 ` Zwane Mwaikambo
2005-05-31 22:15 ` Andrea Arcangeli
2005-05-31 22:33 ` NZG
2005-05-31 23:14 ` Bill Huey
2005-05-31 21:33 ` Bill Huey
2005-05-31 23:59 ` Steven Rostedt
2005-06-01 0:57 ` Brian O'Mahoney
2005-06-01 6:23 ` John Alvord
2005-06-01 11:41 ` Steven Rostedt
2005-06-01 0:26 ` Peter Chubb
2005-06-01 8:17 ` Esben Nielsen
2005-05-31 14:30 ` Andrea Arcangeli
2005-05-31 15:07 ` Esben Nielsen
2005-05-31 16:11 ` Andrea Arcangeli
2005-05-31 18:36 ` Paul E. McKenney
2005-05-31 20:45 ` Andrea Arcangeli
2005-06-01 1:14 ` Karim Yaghmour
2005-06-01 1:30 ` Steven Rostedt
2005-06-01 1:50 ` Karim Yaghmour
2005-06-01 2:42 ` Paul E. McKenney
2005-06-01 12:18 ` Paulo Marques
2005-06-01 13:51 ` Andrea Arcangeli
2005-06-01 14:19 ` Ingo Molnar
2005-06-01 14:32 ` Andrea Arcangeli
2005-06-01 14:39 ` Daniel Walker
2005-06-01 14:45 ` Ingo Molnar
2005-06-01 14:57 ` Andrea Arcangeli
2005-06-01 14:45 ` Esben Nielsen
2005-06-01 15:05 ` Andrea Arcangeli
2005-06-01 15:15 ` Esben Nielsen
2005-06-01 15:32 ` Andrea Arcangeli
2005-06-01 17:30 ` pi_test predicted results Daniel Walker
2005-06-01 17:58 ` Esben Nielsen
2005-06-01 15:33 ` RT patch acceptance Karim Yaghmour
2005-06-01 15:38 ` Andrea Arcangeli
2005-06-01 17:53 ` Thomas Gleixner
2005-06-01 19:22 ` Andrea Arcangeli
2005-06-01 19:34 ` Esben Nielsen
2005-06-01 19:59 ` Andrea Arcangeli
2005-06-01 20:17 ` Bill Huey
2005-06-01 20:32 ` Andrea Arcangeli
2005-06-01 20:46 ` Bill Huey
2005-06-01 21:07 ` Andrea Arcangeli
2005-06-01 21:29 ` Nicolas Pitre
2005-06-01 21:39 ` Andrea Arcangeli
2005-06-01 22:29 ` Nicolas Pitre
2005-06-01 23:44 ` Zwane Mwaikambo
2005-06-01 21:42 ` Bill Huey
2005-06-01 21:59 ` Bill Huey
2005-06-01 22:32 ` Andrea Arcangeli
2005-06-01 23:02 ` Bill Huey
2005-06-01 23:19 ` Bill Huey
2005-06-02 8:50 ` Esben Nielsen
2005-06-01 23:59 ` Bill Huey
2005-06-02 0:03 ` Bill Huey
2005-06-01 19:39 ` Ingo Molnar
2005-06-01 20:44 ` Andrea Arcangeli
2005-06-01 20:56 ` Thomas Gleixner
2005-06-01 21:09 ` Andrea Arcangeli
2005-06-01 14:46 ` Andrea Arcangeli
2005-06-01 14:56 ` Chris Friesen
2005-06-01 14:58 ` Paulo Marques
2005-06-01 15:17 ` Andrea Arcangeli
2005-06-01 15:33 ` john cooper
2005-06-01 15:43 ` Andrea Arcangeli
2005-06-01 15:19 ` Karim Yaghmour
2005-06-01 14:59 ` Esben Nielsen
2005-06-01 15:47 ` NZG
2005-06-01 15:58 ` Andrea Arcangeli
2005-06-01 17:20 ` Bill Davidsen
2005-06-01 18:19 ` Esben Nielsen
2005-06-01 15:09 ` Karim Yaghmour
2005-05-31 9:14 ` Esben Nielsen
2005-05-30 23:32 ` James Bruce
2005-05-31 1:22 ` Nick Piggin
2005-05-31 2:06 ` Lee Revell
2005-05-31 2:26 ` Lee Revell
2005-05-31 7:34 ` James Bruce
2005-05-31 19:10 ` Elladan
2005-05-30 22:10 ` Bill Huey
2005-05-30 17:53 ` Karim Yaghmour
2005-05-30 19:24 ` Esben Nielsen
2005-05-30 19:44 ` Karim Yaghmour
2005-05-30 21:44 ` Rich Walker
2005-05-30 22:45 ` Bill Huey
2005-05-30 23:03 ` Karim Yaghmour
2005-05-30 23:12 ` Bill Huey
2005-05-30 23:31 ` Karim Yaghmour
2005-05-31 0:00 ` Karim Yaghmour
2005-05-30 11:25 ` Nick Piggin
2005-05-29 1:55 ` Zwane Mwaikambo
2005-05-29 2:48 ` Lee Revell
2005-05-29 2:58 ` Zwane Mwaikambo
2005-05-29 4:08 ` Valdis.Kletnieks
2005-05-29 15:00 ` Zwane Mwaikambo
2005-05-29 17:50 ` Valdis.Kletnieks
2005-05-29 19:52 ` Zwane Mwaikambo
2005-05-29 21:16 ` Valdis.Kletnieks
2005-05-30 13:01 ` Bill Huey
2005-05-31 14:30 ` Zwane Mwaikambo
2005-05-28 6:55 ` Christoph Hellwig
2005-05-28 10:22 ` Bill Huey
2005-05-28 10:24 ` Christoph Hellwig
2005-05-28 10:36 ` Bill Huey
2005-05-28 10:34 ` Bill Huey
2005-05-28 10:50 ` Bill Huey
2005-05-28 10:48 ` Christoph Hellwig
2005-05-28 11:01 ` Bill Huey
2005-05-28 11:32 ` Bill Huey
2005-05-27 9:03 ` Thomas Gleixner
2005-05-27 9:14 ` Ingo Molnar
2005-05-27 9:22 ` Thomas Gleixner
2005-06-14 0:48 ` Daniel Walker
2005-06-14 3:29 ` Valdis.Kletnieks
2005-06-14 3:38 ` Daniel Walker
2005-05-26 20:38 ` john cooper
2005-05-26 21:00 ` Sven-Thorsten Dietrich
2005-05-26 21:23 ` john cooper
2005-05-26 20:52 ` Bill Huey
2005-05-26 21:09 ` Sven-Thorsten Dietrich
2005-05-26 21:14 ` Sven-Thorsten Dietrich
[not found] ` <20050526200424.GA27162@elte.hu>
[not found] ` <20050527123529.GD86087@muc.de>
2005-05-27 12:48 ` Ingo Molnar
2005-05-27 12:56 ` Andi Kleen
2005-05-27 13:13 ` Ingo Molnar
2005-05-27 13:31 ` Andi Kleen
2005-05-27 13:44 ` Ingo Molnar
2005-05-27 13:50 ` Ingo Molnar
2005-05-27 13:53 ` Ingo Molnar
2005-05-28 19:55 ` Andi Kleen
2005-05-28 20:57 ` Lee Revell
2005-05-27 13:56 ` Takashi Iwai
2005-05-27 14:27 ` Duncan Sands
2005-05-27 16:35 ` Andrea Arcangeli
2005-05-30 9:53 ` Andi Kleen
2005-05-30 10:33 ` Ingo Molnar
2005-05-30 10:56 ` Andi Kleen
2005-05-30 12:10 ` what is the -RT tree Ingo Molnar
2005-05-30 12:40 ` Andi Kleen
2005-05-30 13:30 ` Bill Huey
2005-05-31 16:18 ` Sven-Thorsten Dietrich
2005-05-30 11:15 ` RT patch acceptance Thomas Gleixner
2005-05-27 13:34 ` Ingo Molnar
2005-05-25 3:48 ` john cooper
2005-05-25 11:35 ` Esben Nielsen
2005-05-25 13:14 ` john cooper
2005-05-25 6:09 ` Ingo Molnar
2005-05-25 1:05 ` Bill Huey
2005-05-25 2:37 ` Karim Yaghmour
2005-05-25 2:36 ` Sven Dietrich
2005-05-25 2:56 ` Karim Yaghmour
2005-05-25 3:05 ` Chris Friesen
2005-05-25 19:24 ` Tim Bird
2005-05-25 2:38 ` Lee Revell
2005-05-25 2:58 ` Karim Yaghmour
2005-05-25 2:51 ` Sven Dietrich
2005-05-25 6:15 ` Bill Huey
2005-05-25 13:25 ` Karim Yaghmour
2005-05-25 8:16 ` Ingo Molnar
2005-05-25 13:27 ` Karim Yaghmour
2005-05-25 17:32 ` Sven-Thorsten Dietrich
2005-05-25 18:16 ` Chris Friesen
2005-05-27 2:29 ` Steven Rostedt
2005-05-25 16:01 ` Jonathan Corbet
2005-05-24 11:22 ` K.R. Foley
2005-05-24 15:21 ` Nick Piggin
2005-05-24 15:41 ` K.R. Foley
2005-05-24 17:31 ` Daniel Walker
2005-05-24 15:56 ` Ingo Molnar
2005-05-24 23:21 ` Bill Huey
2005-05-24 15:44 ` Daniel Walker
2005-05-24 15:47 ` Ingo Molnar
2005-05-24 16:27 ` john cooper
2005-05-24 18:01 ` Daniel Walker
2005-05-24 9:38 ` Esben Nielsen
2005-05-24 13:29 ` Karim Yaghmour
2005-05-24 13:58 ` Esben Nielsen
2005-05-24 14:42 ` Karim Yaghmour
2005-05-24 15:23 ` Ingo Molnar
2005-05-24 16:17 ` Karim Yaghmour
2005-05-24 21:23 ` Sven Dietrich
2005-05-24 22:31 ` Karim Yaghmour
2005-05-24 22:54 ` Sven Dietrich
2005-05-24 23:41 ` Lee Revell
[not found] ` <1116979434.2912.63.camel@mindpipe>
2005-05-25 0:48 ` Karim Yaghmour
2005-05-24 23:46 ` Lee Revell
2005-05-25 3:38 ` Gene Heskett
2005-05-24 23:49 ` Bill Huey
2005-05-25 14:26 ` Philippe Gerum
2005-05-24 14:47 ` Gene Heskett
2005-05-24 17:22 ` Philippe Gerum
2005-05-25 0:21 ` Lee Revell
2005-05-25 2:04 ` Sven Dietrich
2005-05-25 20:58 ` Tom Vier
2005-05-25 21:05 ` Esben Nielsen
2005-05-25 21:10 ` NZG
2005-05-25 21:25 ` Tom Vier
2005-05-25 21:43 ` Esben Nielsen
2005-05-25 21:45 ` Bill Huey
2005-05-25 21:43 ` Bill Huey
-- strict thread matches above, loose matches on Subject: below --
2005-05-25 6:55 kus Kusche Klaus
2005-05-25 7:06 ` Nick Piggin
2005-05-25 7:58 kus Kusche Klaus
2005-06-01 17:56 ` Paul G. Allen
2005-05-25 18:10 YhLu
2005-05-25 18:51 ` Andi Kleen
2005-05-30 8:25 kus Kusche Klaus
2005-05-30 9:49 ` Nick Piggin
2005-05-30 10:16 kus Kusche Klaus
2005-05-30 10:43 ` Nick Piggin
2005-05-30 11:34 ` Esben Nielsen
2005-05-30 11:58 ` Nick Piggin
2005-05-30 18:26 ` Steven Rostedt
2005-05-30 18:37 ` Esben Nielsen
2005-05-30 18:56 ` Karim Yaghmour
2005-05-30 18:58 ` Karim Yaghmour
2005-05-30 19:33 ` Esben Nielsen
2005-05-30 19:46 ` Karim Yaghmour
2005-05-30 20:00 ` Karim Yaghmour
2005-05-31 8:53 ` Esben Nielsen
2005-05-31 22:01 ` Bill Huey
2005-06-01 0:38 ` Karim Yaghmour
2005-05-30 22:34 ` Bill Huey
2005-05-30 22:49 ` Karim Yaghmour
2005-05-30 22:49 ` Bill Huey
2005-05-30 23:15 ` Karim Yaghmour
2005-05-31 0:07 ` Thomas Gleixner
2005-05-31 16:29 ` Steven Rostedt
2005-05-31 19:52 ` Lee Revell
2005-05-31 20:16 ` Steven Rostedt
2005-05-31 21:36 ` Bill Huey
2005-05-31 19:55 ` Lee Revell
2005-05-31 20:01 ` Andi Kleen
2005-05-31 20:10 ` Lee Revell
2005-05-31 20:14 ` David Lang
2005-06-01 2:06 ` Andrea Arcangeli
2005-06-01 2:13 ` David Lang
2005-05-30 16:33 ` Zwane Mwaikambo
2005-05-31 4:39 Saksena, Manas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=429ADEDD.4020805@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=bhuey@lnxw.com \
--cc=bruce@andrew.cmu.edu \
--cc=dwalker@mvista.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sdietrich@mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox