From: "Paul E. McKenney" <paulmck@us.ibm.com>
To: Karim Yaghmour <karim@opersys.com>
Cc: Andrea Arcangeli <andrea@suse.de>, Bill Huey <bhuey@lnxw.com>,
Lee Revell <rlrevell@joe-job.com>,
Tim Bird <tim.bird@am.sony.com>,
linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@elte.hu,
pmarques@grupopie.com, bruce@andrew.cmu.edu,
nickpiggin@yahoo.com.au, ak@muc.de, sdietrich@mvista.com,
dwalker@mvista.com, hch@infradead.org, akpm@osdl.org
Subject: Re: Attempted summary of "RT patch acceptance" thread
Date: Mon, 13 Jun 2005 07:40:22 -0700 [thread overview]
Message-ID: <20050613144022.GA1305@us.ibm.com> (raw)
In-Reply-To: <42ACE2D3.9080106@opersys.com>
On Sun, Jun 12, 2005 at 09:35:15PM -0400, Karim Yaghmour wrote:
>
> Paul E. McKenney wrote:
> > This could potentially address the need for version-synchronization
> > between RTAI-Fusion and the Linux kernel. Would you really want two
> > separate builds, or is there some reasonable way of producing a single
> > kernel binary that has both? And if there is some reasonable way of
> > doing this, is it the right thing to do?
>
> No, single build is what I'm looking for. Nothing precludes the
> fusion parts from being built during the same kernel build ...
> as modules. If you don't load 'em, you don't need to worry about
> 'em.
OK... Then the idea is to dynamically redirect the symbolic link
to include/linux-srt or include/linux-srt that you mentioned in your
previous email, or is the symlink serving some other purpose?
> > The single-binary approach could potentially reduce the
> > dual-OS-administration load associated with RTAI-Fusion. However,
> > handling all the interactions between the deterministic and
> > non-deterministic system calls could get hairy. No big deal for
> > scheduling primitives, but things could get interesting for I/O and
> > networking protocols.
>
> Again, if you don't load 'em, you don't get 'em. If you use it
> and it's broken, then you're doing rt and you need to sync up
> with the maintainer. Nothing different here from the standard
> run of the mill "I'm using subsystem X and it doesn't work"
> posting to LKML.
So your focus is on system calls that can have totally separate
realtime and non-realtime implementations? Or am I missing some
trick here?
> > So, one can use the following types of combination:
> >
> > o single source tree, multiple kernels (which is what I now
> > think that you are getting at above).
> >
> > o straight merge, as between PREEMPT and PREEMPT_RT.
> >
> > o single kernel, multiple syscall implementations for
> > some syscalls (deterministic vs. non-deterministic).
> >
> > o side-by-side combination, as with dual-OS/dual-core and
> > pretty much any other approach.
>
> I'm not sure how you'd fit what I'm trying to suggest above, but
> let me rephrase it with the above in mind:
>
> What I'm suggesting is that all rt components be included, but
> in separate directories within mainline. That may or may not
> mean additional schedulers/services. In the case where the
> new layout would include both PREEMPT_RT and fusion, what
> we'd get is that the user would have access to these configs:
> - Plain Linux, no PREEMPT_RT, no ipipe, no fusion.
> - Linux with PREEMPT_RT, no fusion: ints are threaded and locks
> are mutexes like now (however without the code intrusiveness
> given the use of separate directories.) May or may not include
> ipipe.
> - Linux with fusion, no PREEMPT_RT: the fusion modules are built
> and installed with the rest of the modules. ipipe must be
> enabled.
> - Linux with fusion and PREEMPT_RT: combination of the previous
> two.
> - Linux with ipipe, no fusion or PREEMPT_RT: the soft-cli stuff
> is built into the kernel and loaded drivers can get
> deterministic response times, but there are no fancy rt
> services offered to anyone.
Single kernel, multiple implementations for some syscalls, more
or less, anyway.
> Practically, linux/hard-rt/ would contain both the code for
> PREEMPT_RT and the code for fusion. The actual layout in that
> directory would still need to be detailed, but the desired
> effect is that both PREEMPT_RT and fusion share as much code
> as possible.
>
> Hope this clarifies what I'm suggesting a little bit more. Of
> course, all this would need to be rehashed a number of times,
> and most importantly, the PREEMPT_RT folks and the fusion
> effort would need to agree to join forces. From the fusion
> POV, it's clear that the door is open for collaboration. As
> proof, Philippe has been publishing combo patches with Adeos
> and PREEMPT_RT for some time. I can't speak for the PREEMPT_RT
> POV, though. I might be mistaken, but it seems that the feedback
> I've seen from some PREEMPT_RT backers does seem to indicate
> some openess. We'll see how things go.
My guess is that there are enough people in the PREEMPT_RT camp that
it might not make sense to ascribe a single point of view to them ;-)
How are you and Kristian looking to benchmark/compare the various
combinations you call out above? Seems like one would have to look
at more than straight scheduling/interrupt latency to make a reasonable
comparison.
Thanx, Paul
next prev parent reply other threads:[~2005-06-13 14:40 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-08 2:26 Attempted summary of "RT patch acceptance" thread Paul E. McKenney
2005-06-08 3:00 ` Karim Yaghmour
2005-06-08 14:47 ` Paul E. McKenney
2005-06-08 16:51 ` Karim Yaghmour
2005-06-09 2:25 ` Paul E. McKenney
2005-06-09 11:20 ` Philippe Gerum
2005-06-08 18:46 ` Chris Friesen
2005-06-08 19:28 ` Paul E. McKenney
2005-06-10 22:25 ` Eric Piel
2005-06-10 23:04 ` Paul E. McKenney
2005-06-10 23:23 ` Eric Piel
2005-06-11 0:59 ` Paul E. McKenney
2005-06-11 1:38 ` Eric Piel
2005-06-11 1:47 ` Paul E. McKenney
2005-06-09 23:34 ` Tim Bird
2005-06-09 23:50 ` Paul E. McKenney
2005-06-10 2:59 ` Lee Revell
2005-06-10 15:47 ` Paul E. McKenney
2005-06-10 17:37 ` Andrea Arcangeli
2005-06-10 19:39 ` Bill Huey
2005-06-10 19:41 ` Lee Revell
2005-06-10 20:26 ` Karim Yaghmour
2005-06-10 22:37 ` Bill Huey
2005-06-10 22:43 ` Bill Huey
2005-06-10 22:52 ` Andrea Arcangeli
2005-06-10 23:00 ` Flames go here (was Re: Attempted summary of "RT patch acceptance" thread) Lee Revell
2005-06-10 23:08 ` Attempted summary of "RT patch acceptance" thread Bill Huey
2005-06-10 23:29 ` Andrea Arcangeli
2005-06-11 1:41 ` Paul E. McKenney
2005-06-11 1:50 ` Karim Yaghmour
2005-06-11 2:06 ` Paul E. McKenney
2005-06-11 15:54 ` Andrea Arcangeli
2005-06-11 21:04 ` Paul E. McKenney
2005-06-11 23:48 ` Karim Yaghmour
2005-06-12 17:06 ` Andrea Arcangeli
2005-06-12 21:45 ` Paul E. McKenney
2005-06-13 1:35 ` Karim Yaghmour
2005-06-13 14:40 ` Paul E. McKenney [this message]
2005-06-13 19:49 ` Karim Yaghmour
2005-06-13 20:03 ` Daniel Walker
2005-06-13 20:21 ` Paul E. McKenney
2005-06-13 20:26 ` Karim Yaghmour
2005-06-13 20:23 ` Lee Revell
2005-06-13 20:28 ` Daniel Walker
2005-06-13 22:00 ` Karim Yaghmour
2005-06-13 22:11 ` Karim Yaghmour
2005-06-13 22:18 ` Bill Huey
2005-06-13 22:28 ` Karim Yaghmour
2005-06-13 22:29 ` Bill Huey
2005-06-13 22:55 ` Karim Yaghmour
2005-06-14 1:13 ` Nicolas Pitre
2005-06-14 2:07 ` Karim Yaghmour
2005-06-14 2:35 ` Nicolas Pitre
2005-06-14 2:37 ` Nicolas Pitre
2005-06-14 3:24 ` Karim Yaghmour
2005-06-14 16:41 ` Gerrit Huizenga
2005-06-14 19:20 ` Bill Huey
2005-06-14 19:35 ` Valdis.Kletnieks
2005-06-14 21:29 ` Gene Heskett
2005-06-14 20:19 ` Gerrit Huizenga
2005-06-14 7:00 ` Eugeny S. Mints
2005-06-14 16:09 ` Gerrit Huizenga
2005-06-14 16:47 ` Andrea Arcangeli
2005-06-13 20:38 ` Bill Huey
2005-06-13 20:10 ` Paul E. McKenney
2005-06-13 20:31 ` Bill Huey
2005-06-13 20:58 ` Paul E. McKenney
2005-06-13 20:34 ` Karim Yaghmour
2005-06-13 21:02 ` Paul E. McKenney
2005-06-12 17:01 ` Andrea Arcangeli
2005-06-12 18:43 ` Lee Revell
2005-06-12 19:12 ` Bill Huey
2005-06-11 5:23 ` Ingo Molnar
2005-06-11 17:24 ` Andrea Arcangeli
2005-06-10 20:22 ` Daniel Walker
2005-06-10 20:45 ` Lee Revell
2005-06-10 21:06 ` Andrea Arcangeli
2005-06-10 22:19 ` Bill Huey
2005-06-10 22:37 ` Andrea Arcangeli
2005-06-10 22:49 ` Daniel Walker
2005-06-10 23:01 ` Bill Huey
2005-06-10 23:05 ` Andrea Arcangeli
2005-06-10 23:15 ` Bill Huey
2005-06-10 23:16 ` Paul E. McKenney
2005-06-10 23:26 ` Bill Huey
2005-06-10 23:36 ` Zwane Mwaikambo
2005-06-10 23:41 ` Bill Huey
2005-06-10 23:46 ` Lee Revell
2005-06-11 1:07 ` Paul E. McKenney
2005-06-11 15:16 ` Andrea Arcangeli
2005-06-11 20:32 ` Paul E. McKenney
2005-06-11 0:48 ` Paul E. McKenney
2005-06-10 20:38 ` Lee Revell
2005-06-10 23:12 ` Paul E. McKenney
-- strict thread matches above, loose matches on Subject: below --
2005-06-08 15:54 Eric Piel
2005-06-09 2:20 ` Paul E. McKenney
2005-06-10 21:58 ` Eric Piel
2005-06-11 1:55 ` Paul E. McKenney
2005-06-13 22:20 Saksena, Manas
2005-06-13 22:42 ` Karim Yaghmour
2005-06-13 22:44 ` Karim Yaghmour
2005-06-13 22:43 ` Bill Huey
2005-06-13 22:43 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=20050613144022.GA1305@us.ibm.com \
--to=paulmck@us.ibm.com \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=andrea@suse.de \
--cc=bhuey@lnxw.com \
--cc=bruce@andrew.cmu.edu \
--cc=dwalker@mvista.com \
--cc=hch@infradead.org \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=pmarques@grupopie.com \
--cc=rlrevell@joe-job.com \
--cc=sdietrich@mvista.com \
--cc=tglx@linutronix.de \
--cc=tim.bird@am.sony.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.