All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Daniele Nicolodi <daniele@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Which process synchronization primitive?
Date: Tue, 02 Mar 2010 19:05:14 +0100	[thread overview]
Message-ID: <4B8D535A.10209@domain.hid> (raw)
In-Reply-To: <4B8D156F.7000604@domain.hid>

Daniele Nicolodi wrote:
> Gilles Chanteperdrix wrote:
>>> I think message queues can work well but I'm not sure they are the best
>>> choice when I do not have to communicate any message. Would be
>>> semaphores best suited to my needs?
>> You can use process-shared mutexes or semaphores.
> 
> There is somewhere a comparison of the overhead of the different
> solutions? Do I need to do my own benchmarks? Is the API the only
> difference?

Mutexes have the lowest overhead, since they can be handled in
user-space starting with the 2.5 branch.

Differences betwenn mutexes and semaphores are the same with Xenomai
than with any other known API: mutexes are binary semaphores with a
notion of ownership.

> 
>> But there is something
>> which must be said clearly: compiling or not with Xenomai support is all
>> or nothing. Either you build all the applications with Xenomai posix
>> support or none of them. There is no way you can synchronize a real-time
>> thread with a non real-time thread without loosing determinism.
> 
> I understood this reading the documentation (and it is fairly
> intuitive). I would like to use the posix skin to be able to compile my
> application also on an host without xenomai support (and of course give
> up the real time capability).
> 
>> And
>> beware of the kind of priority inversions which would result from
>> calling a Linux system call while holding a mutex shared with real-time
>> processes, as explained here:
>>
>> http://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai#Chasing_the_unwanted_mode_switches.
> 
> I was just reading this.
> 
> Thanks! Cheers,


-- 
					    Gilles.


  reply	other threads:[~2010-03-02 18:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-02 13:13 [Xenomai-help] Which process synchronization primitive? Daniele Nicolodi
2010-03-02 13:21 ` Gilles Chanteperdrix
2010-03-02 13:41   ` Daniele Nicolodi
2010-03-02 18:05     ` Gilles Chanteperdrix [this message]
     [not found]       ` <4B8E9649.1060902@domain.hid>
2010-03-03 17:10         ` 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=4B8D535A.10209@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=daniele@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.