All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: juanba romance <juanba.romance@domain.hid>
Cc: Xenomai-help@domain.hid
Subject: Re: [Xenomai-help] newbie question
Date: Mon, 6 Aug 2007 21:29:27 +0200	[thread overview]
Message-ID: <18103.30359.620591.697739@domain.hid> (raw)
In-Reply-To: <e39c9190708061123k18f7e6afw260cc3ec5f3d18bb@domain.hid>

juanba romance wrote:
 > On 8/6/07, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
 > >
 > >
 > > What you are referring to is the priority coupling between Xenomai and
 > > Linux schedulers, and can be disabled in Xenomai configuration.
 > >
 > > The linux kernel will keep the inherited priority until the RT-task
 > > calls xenomai again, or until it is suspended by Linux scheduler. If the
 > > RT-task does not call xenomai for a while (and is not suspended by Linux
 > > scheduler), then, well, it is an RT-task after all and should be able to
 > > run until it reaches a suspension point or wakes up another RT-task.
 > 
 > Hello both, i have a newbie doubt
 > 
 > What should i understand by a "xenomai" call ?
 > Does it simple means to call a symbol owned by the xenomai libs ?

To summarize, we could say yes. But the situation is a little bit more
complicated. Not all symbol owned by the Xenomai libs cause user-space
applications to switch to primary mode. So, an RT-task will remain in
secondary mode until it calls one of the Xenomai services which cause
their caller to switch to primary mode.

 > 
 > Note however that during this time, Linux interruptions will be allowed
 > > to preempt the RT-task.
 > >
 > I think  that if one design a source thread/rt-task whatever which is
 > focused on rt constrains,
 > one would like to acquire ASAP the same rt-context free of such preempt
 > policy.

There is an option of Xenomai which prevents Linux interruptions from
preempting an RT-task in secondary mode, it is called "interrupt shield"
but is disabled by default.

But you should understand that when you design a system "focused on rt
constraints", your rt task should remain in primary mode. When going to
secondary mode, you are loosing some determinism, because Xenomai may
have to wait an unbounded time before the migrating task is allowed to
run. Secondary mode is convenient for initializations (your system is
not yet real-time), and for tasks which live near the frontier between
real-time and non real-time world.

 > Right now i can hold a exhaustive monitoring related on my performed systems
 > calls
 > but i also suppose that at same place/time i will need some linux
 > service, and therefore a good practice could be quite useful, any hint
 > about?

The only advice I can give you is not to call directly a Linux service
from a task which is doing some real-time job. If you want to call some
linux service call it from a task which will communicate with the
real-time job using one of the IPCs proposed by Xenomai. Of course your
real-time job should not depend on timely execution of the Linux
service, otherwise you would loose determinism again.

-- 


					    Gilles Chanteperdrix.


  reply	other threads:[~2007-08-06 19:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-06 15:15 [Xenomai-help] newbie question rolfetas bambolas
2007-08-06 17:57 ` Gilles Chanteperdrix
2007-08-06 18:23   ` juanba romance
2007-08-06 19:29     ` Gilles Chanteperdrix [this message]
     [not found]       ` <e39c9190708061427y2d5ceed2td804b0990b88f282@domain.hid>
2007-08-06 21:37         ` Gilles Chanteperdrix
2007-08-06 19:27   ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2006-03-16 10:46 Daniele Lugli
2006-03-16 11:18 ` Philippe Gerum
2006-03-16 11:38   ` Jan Kiszka
2006-03-16 12:33     ` Philippe Gerum
2005-10-17 18:44 [Xenomai-help] compiling xenomai on x86_64 Jan Kiszka
2005-10-17 18:57 ` Heikki Lindholm
2005-10-17 19:16   ` Jan Kiszka
2005-10-17 19:59     ` Heikki Lindholm
2005-10-17 20:04       ` Philippe Gerum
2005-10-17 20:10         ` Jan Kiszka
2005-10-17 20:17           ` Philippe Gerum
2005-10-17 20:26             ` Philippe Gerum
2005-10-17 21:37               ` Jan Kiszka
2005-10-18  8:07                 ` Jan Kiszka
2005-10-18 17:49                   ` Gilles Chanteperdrix
2005-10-18 18:29                     ` Jan Kiszka
2005-10-18 19:20                       ` Gilles Chanteperdrix
2005-10-18 19:24                         ` Jan Kiszka
2005-10-18 19:34                           ` Gilles Chanteperdrix
2005-10-18 19:43                             ` Jan Kiszka
2005-10-19  8:37                               ` Jan Kiszka
2005-10-19 17:15                                 ` [Xenomai-help] newbie question Ignacio García Pérez
2005-10-19 17:34                                   ` Jan Kiszka
2005-10-19 17:44                                   ` Philippe Gerum
2005-10-19 18:16                                     ` Gilles Chanteperdrix
2005-10-19 18:31                                       ` Jan Kiszka

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=18103.30359.620591.697739@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=Xenomai-help@domain.hid \
    --cc=juanba.romance@domain.hid \
    /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.