public inbox for elix@sourceware.org
 help / color / mirror / Atom feed
From: Nick Garnett <nickg@cygnus.co.uk>
To: Stuart Hughes <sehughes@zentropix.com>
Cc: elix@sourceware.cygnus.com
Subject: Re: RTLinux workshop and EL/IX press coverage on EETimes
Date: Wed, 22 Dec 1999 10:26:00 -0000	[thread overview]
Message-ID: <pok8m6bzmw.fsf@balti.cygnus.co.uk> (raw)
In-Reply-To: <38611114.8CE7C1D@zentropix.com>

Stuart Hughes <sehughes@zentropix.com> writes:

> Hi Nick,
> 
> Thanks for your analysis, which is spot on.  So far RTAI has support
> for:
> 
> POSIX pthread functions
> POSIX mutex and condition variables
> 
> We have just submitted a POSIX queues module for inclusion in RTAI.

That's good. The more standardized moduled we have, the less effort it
will be to get the real time Linux users to adopt the API.

> 
> This leaves semaphores, which are available but not using the standard
> POSIX API.  I think that it should be possible to provide a wrapper to
> support this API.

This is what I had understood from the workshop. I guess that the work
to get this into a POSIX API with the correct semantics should not be
too hard.

> 
> Regarding the communications between the RT kernel and regular user
> space processes, what you say is correct, however there is also a
> mailbox mechanism for IPC communication. Also we are looking at a
> method of providing transparent access at the API level to the standard
> kernel syscalls, this would mean that for realtime tasks they would then
> be running at kernel priority rather than being true realtime tasks.  If
> this is possible I think it is attractive, as from a programming point
> of view you wouldn't have the extra overhead of worrying about
> communication with the Linux system proper.

I had missed the mailbox mechanism. Being able to call standard kernel
functions from the real time module would make use of the API a lot
easier, although there would still be the issue of C library functions
to consider. Also, since an RT thread would presumably cease to be
real time while calling a kernel function, it is important to indicate
these in the API spec.

> 
> Another problem that needs to be addressed is how to support the
> periodic nature of tasks, that is the norm in RealTime tasks.  Our first
> thoughts are to provide a POSIX timers/clocks module.  For example, one
> possibility is to make use of the pthreads notification mechanism
> SIGEV_THREAD this would allow a pthread to block on a condition variable
> which is signaled by a POSIX timer expiring.  This is just one route and
> I would be glad to hear if anyone has thoughts on this.
> 

Yes, I was worried about how to handle the "go periodic" stuff. This
seems like a promising solution. I believe that there is also some
work going on to extend the POSIX API and interfaces to cope with
schedulers other than the standard set. However, I do not know
anything about this.


-- 
Nick Garnett           mailto:nickg@cygnus.co.uk
Cygnus Solutions, UK   http://www.cygnus.co.uk

  reply	other threads:[~1999-12-22 10:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-22  8:02 Paul Beskeen
1999-12-22  8:21 ` Stuart Hughes
1999-12-22  8:51 ` Nick Garnett
1999-12-22  9:20   ` Mark Johannes
1999-12-22 10:16     ` Nick Garnett
1999-12-22  9:56   ` Stuart Hughes
1999-12-22 10:26     ` Nick Garnett [this message]
1999-12-23  3:39       ` Stuart Hughes
1999-12-23  4:23         ` Nick Garnett

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=pok8m6bzmw.fsf@balti.cygnus.co.uk \
    --to=nickg@cygnus.co.uk \
    --cc=elix@sourceware.cygnus.com \
    --cc=sehughes@zentropix.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).