From: Philippe Gerum <rpm@xenomai.org>
To: Sven-Thorsten Dietrich <sdietrich@mvista.com>
Cc: linux-kernel@vger.kernel.org, rpm@xenomai.org
Subject: Re: PREEMPT_RT vs ADEOS: the numbers, part 1
Date: Sun, 12 Jun 2005 17:31:14 +0200 [thread overview]
Message-ID: <42AC5542.5020307@xenomai.org> (raw)
In-Reply-To: <1118482075.9519.52.camel@sdietrich-xp.vilm.net>
Sven-Thorsten Dietrich wrote:
> On Sat, 2005-06-11 at 17:44 +1000, Nick Piggin wrote:
>
>>Ingo Molnar wrote:
>>
>>>could you send me the .config you used for the PREEMPT_RT tests? Also,
>>>you used -47-08, which was well prior the current round of performance
>>>improvements, so you might want to re-run with something like -48-06 or
>>>better.
>>>
>>
>>The other thing that would be really interesting is to test latencies
>>of various other kernel functionalities in the RT kernel (eg. message
>>passing, maybe pipe or localhost read/write, signals, fork/clone/exit,
>>mmap/munmap, faulting in shared memory, or whatever else is important
>>to the RT crowd).
>>
>
>
> I have recently seen an analysis of this. It was internal to a customer,
> but I will ask whether they object to publishing it.
>
> Notably, there are naturally discrepancies between user space and kernel
> tasks. An example of this is thread-spawn benchmarks. That is relevant
> to folks who have RT code with IP to protect that must run in user
> space.
>
This said, running RT tasks in user-space is not uncommon with
nanokernel-based solutions: RTAI does this since 1999, so the "IP"
protection argument does not stand here.
There is a crucial difference between being able to run your RT stuff
under MMU protection with stringent RT guarantees, and being able to
additionally call the native Linux services with the same set of
guarantees. For this reason, keeping the regular programming model in
user-space does not depend on being able to use the kernel services in a
fully deterministic fashion.
IOW, if your RT extension is able to recycle the MMU context of any
Linux task for scheduling it in user-space without stepping on the
kernel toes, you can actually provide for both determinism and
protection (be it MMU or IP), even if you can't make the vanilla kernel
services more deterministic than they are if you happen to call them. If
you don't and always use the highly deterministic services your RT
extension provides, then the RT guarantees are always kept.
Allowing seamless and consistent dynamic transitions between the always
deterministic nanokernel context and the mostly deterministic Linux
context is one way to extend the options available to the RT application
designer. In any case, one would have to carefully select the system
calls which could be used in the application, depending on the expected
level of predictability and time accuracy; using a "pure" Linux
infrastructure or going for a mixed Linux/nanokernel environment never
breaks this invariant.
--
Philippe.
next prev parent reply other threads:[~2005-06-12 15:31 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-11 4:36 PREEMPT_RT vs ADEOS: the numbers, part 1 Kristian Benoit
2005-06-11 6:14 ` Nick Piggin
2005-06-11 9:15 ` Sven-Thorsten Dietrich
2005-06-11 14:15 ` Kristian Benoit
2005-06-12 15:48 ` Philippe Gerum
2005-06-11 14:39 ` Karim Yaghmour
2005-06-11 22:14 ` Philippe Gerum
2005-06-11 13:57 ` Kristian Benoit
2005-06-11 14:28 ` Zwane Mwaikambo
2005-06-11 7:08 ` Ingo Molnar
2005-06-11 7:44 ` Nick Piggin
2005-06-11 9:27 ` Sven-Thorsten Dietrich
2005-06-12 15:31 ` Philippe Gerum [this message]
2005-06-11 14:28 ` Kristian Benoit
2005-06-11 10:37 ` Ingo Molnar
2005-06-11 14:23 ` Kristian Benoit
2005-06-11 14:56 ` Ingo Molnar
2005-06-11 14:31 ` Karim Yaghmour
2005-06-11 14:52 ` Ingo Molnar
2005-06-11 14:52 ` Karim Yaghmour
2005-06-11 17:40 ` Karim Yaghmour
2005-06-11 18:15 ` Ingo Molnar
2005-06-11 18:34 ` Ingo Molnar
2005-06-11 22:27 ` Karim Yaghmour
2005-06-12 10:47 ` James R Bruce
2005-06-12 14:54 ` Ingo Molnar
2005-06-13 2:39 ` Kristian Benoit
2005-06-11 19:14 ` Ingo Molnar
2005-06-11 22:31 ` Karim Yaghmour
2005-06-12 6:11 ` Ingo Molnar
2005-06-12 15:26 ` Daniel Walker
2005-06-12 19:29 ` Karim Yaghmour
2005-06-12 20:59 ` Ingo Molnar
2005-06-13 0:45 ` Andrea Arcangeli
2005-06-13 1:20 ` Karim Yaghmour
2005-06-13 5:47 ` Ingo Molnar
2005-06-12 22:20 ` Andrea Arcangeli
2005-06-12 23:03 ` Sven-Thorsten Dietrich
2005-06-13 0:53 ` randy_dunlap
2005-06-13 1:12 ` Karim Yaghmour
2005-06-13 6:51 ` Sven-Thorsten Dietrich
2005-06-13 15:00 ` Ingo Molnar
2005-06-13 15:12 ` Kristian Benoit
2005-06-11 19:27 ` Ingo Molnar
2005-06-12 4:21 ` Karim Yaghmour
2005-06-11 20:14 ` Paul E. McKenney
2005-06-11 22:33 ` Karim Yaghmour
2005-06-12 20:36 ` Paul E. McKenney
2005-06-12 11:11 ` James R Bruce
2005-06-12 19:49 ` Karim Yaghmour
2005-06-13 2:32 ` Kristian Benoit
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=42AC5542.5020307@xenomai.org \
--to=rpm@xenomai.org \
--cc=linux-kernel@vger.kernel.org \
--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