From: Philippe Gerum <rpm@xenomai.org>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Exception handlers in primary domain / user-space signals
Date: Tue, 08 Feb 2011 14:25:46 +0100 [thread overview]
Message-ID: <1297171546.2023.19.camel@domain.hid> (raw)
In-Reply-To: <4D514109.9060103@domain.hid>
On Tue, 2011-02-08 at 14:11 +0100, Gilles Chanteperdrix wrote:
> Philippe Gerum wrote:
> > On Tue, 2011-02-08 at 13:51 +0100, Henri Roosen wrote:
> >> On Tue, Feb 8, 2011 at 1:31 PM, Gilles Chanteperdrix
> >> <gilles.chanteperdrix@xenomai.org> wrote:
> >>> Philippe Gerum wrote:
> >>>> On Tue, 2011-02-08 at 13:16 +0100, Gilles Chanteperdrix wrote:
> >>>>> I was not talking about the Xenomai case specifically, but since Henri
> >>>>> would like to have the full signals implementation with Xenomai, this
> >>>>> does a apply to Xenomai too.
> >>>>>
> >>>>>
> >>>> I think we all agree that having a complete signal implementation for
> >>>> Xenomai in pure rt mode won't happen overnight. So the point is now: how
> >>>> could it be mimicked, at least for the most useful part.
> >>>>
> >>> My point is that whatever you do, a switch user-kernel, then kernel-user
> >>> is not going to be lightweight, so avoiding it in the application in the
> >>> first place may be a better idea.
> >>>
> >>> My aim with implementing complete signals was rather for things like
> >>> timer_* and mq_notify, where the interface requires them, I did not even
> >>> imagine implementing SIGFPE, SIGILL, SIGTRAP, which I thought could not
> >>> be time critical anyway, for the reasons explained earlier. So, my
> >>> question (rather to Henri) is: what would we need SIGFPE, SIGILL,
> >>> SIGTRAP in an real-time application for?
> >> I agree it might be unusual. For the tracing use case: the SIGTRAP we
> >> use as a means for tracing whether code is actually executed, just
> >> like breakpoints, we exchange the code to 0xcc and handle the
> >> exceptions do book-keeping but don't stop the task. We know this has
> >> overhead, it also had when using our old OS. The old OS handled it in
> >> an accepted amount of time. Using the Xenomai kernel it also works,
> >> however the overhead is not acceptable anymore.
> >> Installing a floating point exception handler was also provided to our
> >> customers with the old OS and we have to make that available now too.
> >> So actually it is all because of legacy reasons, we have to provide
> >> similar functionality as with the old OS.
> >>
> >> I'm afraid we cannot mimic enough so it suits our use cases. We need
> >> the fault context to handle the exception and to set the IP one
> >> instruction back.
> >
> > So you need the signal rebase over the mayday support I merged a few
> > months ago. Back to square one I'm afraid, this won't be available soon,
> > albeit this might happen in the 2.6 timeframe. We'll see.
>
> Well, not necessarily, the fault handler may set the IP, suspend the
> task, wake-up the dedicated fault-handler thread, then, the dedicated
> fault-handler may wake-up the suspended task when the work has been done.
>
This is not exactly what I'd call a straightforward solution (which was
the point of offloading the work to userland) . If one knows how to do
that within the Xenomai core, he could just re-route the mayday
mechanism, no need for sideways.
--
Philippe.
next prev parent reply other threads:[~2011-02-08 13:25 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-07 17:35 [Xenomai-help] Exception handlers in primary domain / user-space signals Henri Roosen
2011-02-07 18:27 ` Gilles Chanteperdrix
2011-02-07 19:02 ` Henri Roosen
2011-02-07 19:08 ` Gilles Chanteperdrix
2011-02-08 8:21 ` Henri Roosen
2011-02-08 8:38 ` Philippe Gerum
2011-02-08 9:10 ` Henri Roosen
2011-02-08 9:15 ` Philippe Gerum
2011-02-08 12:09 ` Gilles Chanteperdrix
2011-02-08 12:12 ` Philippe Gerum
2011-02-08 12:16 ` Gilles Chanteperdrix
2011-02-08 12:22 ` Philippe Gerum
2011-02-08 12:31 ` Gilles Chanteperdrix
2011-02-08 12:51 ` Henri Roosen
2011-02-08 12:56 ` Philippe Gerum
2011-02-08 13:11 ` Gilles Chanteperdrix
2011-02-08 13:25 ` Philippe Gerum [this message]
2011-02-11 9:44 ` Henri Roosen
2011-04-15 12:58 ` Henri Roosen
2011-04-15 13:33 ` Gilles Chanteperdrix
2011-04-19 16:30 ` [Xenomai-help] Xenomai rt_printf() don't print davide doninelli
2011-04-19 17:13 ` Gilles Chanteperdrix
2011-04-19 17:39 ` davide doninelli
2011-04-19 17:43 ` Gilles Chanteperdrix
2011-05-04 6:24 ` davide doninelli
2011-05-19 8:35 ` [Xenomai-help] Exception handlers in primary domain / user-space signals Henri Roosen
2011-02-08 12:53 ` Philippe Gerum
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=1297171546.2023.19.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=gilles.chanteperdrix@xenomai.org \
--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.