From: Philippe Gerum <rpm@xenomai.org>
To: Michael Haberler <haberlerm@gmail.com>, xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] mutate/start RT_TASK a posix thread?
Date: Thu, 30 Jul 2015 18:25:51 +0200 [thread overview]
Message-ID: <55BA500F.8010504@xenomai.org> (raw)
In-Reply-To: <09EA8A4C-D8EB-4470-A339-C2019D1B662B@gmail.com>
On 07/30/2015 07:26 AM, Michael Haberler wrote:
> we're happily using RT threads using the Xenomai 2 thread API
>
> is it possible _using this API_ to create/mutate/relax such a thread intentionally into a Posix thread but retaining the API usage?
It is possible to run them as low priority Xenomai threads, assigning
them to the SCHED_OTHER class. The native API is retained for those
threads, but their main runtime mode is relaxed, i.e. the co-kernel
makes sure to switch them back to relaxed mode automatically before
returning to user-space from a syscall which required a switch to
primary mode.
>
> I can do any conditional API usage through thread parameters to avoid calls which will not work for a relaxed thread, but I would like to retain the API (I guess I could switch to the posix skin but I would like to avoid another learning curve/test cycle for now)
>
> going forward/Xenomai 3: what would be your recommendation to address the issue long-term?
>
Xenomai 3 in dual kernel mode extends the feature above, with the
SCHED_WEAK class:
http://xenomai.org/migrating-from-xenomai-2-x-to-3-x/#Scheduling
>
>
>
> (may sound like whacky question but great use case around here - turns out many jobs do not need RT capabilities but it would be handy to retain the flow)
>
If I interpreted your question properly, it's definitely a legitimate
use case; sometimes the non-rt stuff may want to interact with the rt
world using Xenomai APIs, but without getting in the way priority-wise.
--
Philippe.
next prev parent reply other threads:[~2015-07-30 16:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-30 5:26 [Xenomai] mutate/start RT_TASK a posix thread? Michael Haberler
2015-07-30 16:25 ` Philippe Gerum [this message]
2015-07-30 18:41 ` Philippe Gerum
2015-07-31 6:50 ` Michael Haberler
2015-07-31 8:22 ` Philippe Gerum
2015-07-31 9:21 ` Michael Haberler
2015-07-31 14:07 ` Philippe Gerum
2015-07-31 15:17 ` Michael Haberler
2015-07-31 15:35 ` Philippe Gerum
2015-07-31 15:53 ` Philippe Gerum
2015-07-31 15:55 ` Michael Haberler
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=55BA500F.8010504@xenomai.org \
--to=rpm@xenomai.org \
--cc=haberlerm@gmail.com \
--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.