From: Jan Kiszka <jan.kiszka@domain.hid>
To: Philippe Gerum <rpm@xenomai.org>
Cc: adeos-main <adeos-main@gna.org>
Subject: Re: [Adeos-main] [RFC][PATCH 2/2] x86: Add support for ipipe_get_irq_regs
Date: Sat, 05 Jun 2010 20:37:20 +0200 [thread overview]
Message-ID: <4C0A9960.8040609@domain.hid> (raw)
In-Reply-To: <1275759652.18250.178.camel@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 2160 bytes --]
Philippe Gerum wrote:
> On Thu, 2010-06-03 at 16:22 +0200, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kiszka@domain.hid>
>>
>> Implement the x86 arch bits for ipipe_get_irq_regs support. This allows
>> to drop __ipipe_tick_regs and use the new service instead.
>
> I'm unsure whether this patch would actually replace __ipipe_tick_regs
> properly, particularly regarding how the profiling code works.
tick_regs are a "workaround", this approach appears to me way closer to
how native works.
>
> But I'm now convinced that we are on the wrong track, with trying to
> track the IRQ frame, for the purpose we discussed on the Xenomai mailing
> list. In fact, Gilles already told us about the best approach, we did
> not pay attention enough, though:
> https://mail.gna.org/public/xenomai-help/2010-06/msg00033.html
>
> Basically, we want to get a hold of the register frame of a task context
> before it returns to user-space, so that we can do some fixups.
> Therefore, the best option is clearly to add a special event, that the
> pipeline would dispatch upon request, when:
>
> - __ipipe_grab/handle_irq is about to return to userland
> - __ipipe_syscall_root is about to do the same
>
> In those contexts, we do have the _real_ register frame for the context,
> which removes the restriction on faked IRQ frames induced by the
> deferred interrupt model.
The register frame is incomplete, but it is very real. It is what you
get when an interrupt fires right after the kernel re-enabled IRQ delivery.
> We could then use that feature, not only for
> having a more graceful watchdog, but for allowing Xenomai's real-time
> signals to preempt syscall-less code as well.
>
> I worked on this lately, and eventually coupled that event to a
> generalized support for forcing userland to run a kernel exit. I'll post
> more info to the Xenomai list.
That said, I'm not opposed to some kind of "I-pipe user space return
notifiers", specifically as they will include the syscall path. Maybe we
can still save bits of this approach to overcome the tick_regs and
related patches of the profiling code.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
next prev parent reply other threads:[~2010-06-05 18:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-03 14:22 [Adeos-main] [RFC][PATCH 2/2] x86: Add support for ipipe_get_irq_regs Jan Kiszka
2010-06-05 17:40 ` Philippe Gerum
2010-06-05 18:37 ` Jan Kiszka [this message]
2010-06-05 19:23 ` Gilles Chanteperdrix
2010-06-05 20:48 ` Jan Kiszka
2010-06-05 21:09 ` 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=4C0A9960.8040609@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=adeos-main@gna.org \
--cc=rpm@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.