From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Eric Eric <ericrebates@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Scheduling questions...
Date: Wed, 30 Mar 2011 23:43:50 +0200 [thread overview]
Message-ID: <4D93A416.2030800@domain.hid> (raw)
In-Reply-To: <AANLkTi=BQfeyZ-SRP8=+QX-ufwQVd=bjMw_d6bQp3KM0@domain.hid>
Eric Eric wrote:
> Thanks Philippe. I was thinking of avoiding POSIX only because some
> of my colleagues have noticed severe performance hits using non-native
> skins in commercial RTOSs, particularly Integrity. Would you expect
> POSIX performance to be roughly the same as native?
Hi Eric,
posix and native are both skins implemented using the same internal
services, so, their performances should be comparable. If you find some
posix service much slower than its native counterpart, we would consider
it a bug.
> TP is interesting, and may work for my applications since we are likely to
> do much of our real-time work in-kernel to get the absolute minimum
> latency possible.
On what hardware? On a typical x86 machine, the user-space performances
are sufficient for a large majority of applications. Besides, there are
other points to consider than performance in order to choose between
kernel-space and user-space:
- kernel-space code is harder to debug, this results in longer time to
complete your project;
- kernel-space code is covered by the GPL license;
- imitating what you do with the Linux kernel, you can split the code
between application and driver, the driver going to kernel-space and
being implemented on top of the RTDM skin;
- Xenomai kernel-space APIs will be discontinued in Xenomai 3.x branch
(except, obviously, the RTDM skin).
I would go the other way: first try user-space, if performances are not
sufficient, they try and find other ways, maybe changing hardware for
instance, move time critical parts in an RTDM driver, and move the
application to kernel-space only as the last resort.
>
> On a related note, I noticed on page 14 of
> http://retis.sssup.it/~lipari/courses/str09/12.xeno-handout.pdf that
> when Xenomai is in secondary mode, all Linux interrupts are stalled.
> This would seem to imply that doing something like select in a Xenomai
> user-task would be problematic, as we would have wait until Linux goes
> into background mode to unstall Linux interrupts. Is there any way
> around this? The slide suggests that this behavior is "to reduce
> latency" although I suspect there may be other motivations.
The irq shield is not available in recent versions of Xenomai. But when
it was still there, obvious cases such as a thread suspending after
entering secondary mode were handled by disabling the shield in that
case: the shield was only enabled when a Xenomai thread was running in
secondary mode, not when it was suspended.
Regards.
--
Gilles.
next prev parent reply other threads:[~2011-03-30 21:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-24 23:47 [Xenomai-help] Scheduling questions Eric Eric
2011-03-25 8:21 ` Philippe Gerum
2011-03-25 19:48 ` Eric Eric
2011-03-25 19:59 ` Philippe Gerum
2011-03-25 20:43 ` Eric Eric
2011-03-25 20:52 ` Philippe Gerum
2011-03-25 20:53 ` Philippe Gerum
2011-03-25 21:28 ` Eric Eric
2011-03-30 4:54 ` Philippe Gerum
2011-03-30 18:37 ` Eric Eric
2011-03-30 21:43 ` Gilles Chanteperdrix [this message]
2011-03-31 8:54 ` Philippe Gerum
2011-03-25 10:17 ` Gilles Chanteperdrix
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=4D93A416.2030800@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=ericrebates@domain.hid \
--cc=xenomai@xenomai.org \
/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.