On Tuesday 20 March 2001 17:49, Mel wrote:
> For soft time, the requirements for a POSIX compliant real time service
> appear to be complete in the scheduler with so much control over the
> scheduling algorithm and memory locking. However, it is not been explictly
> stated on any doc I have read that all the requirements for a soft
> realtime system are complete. Could someone clarify?
I'm not sure, but it might simply be something similar to why Linux itself
and Mesa aren't officially considered as POSIX and OpenGL implementations
respectively: The fact that such a claim would require permission from the
owners of the respective standards. That will usually require arrangements
that are incompatible with the licences of Free/Open Source software.
> Both RT-Linux and RTAI appear, to my eyes, to be very comprehensive but
> neither has become part of the stable kernel branch. Why is this?
It doesn't solve problems that the majority of users are having. (This
actually includes high end multimedia users and hardcore gamers as well;
they're better served by Linux/lowlatency.)
> Is there
> some bizarre rule out there that prevents hard real-time been a standard
> part of the kernel?
There's not exactly a rule, but the consesus after some discussion of this on
the kernel list was that including RTL or RTAI in the main distro would be
truly useful to very few, while encouraging crappy hardware (that require
hard RT drivers to work properly; DSP-less modems with insufficient buffering
is one example) and bad driver implementations.
> Is there a niche in there to fill which would involve
> adding just enough to the kernel that hard real time could be provided
> with system calls and then library support?
Not really. Most people don't have hardware nor applications to make use of
"�s class" hard real time. The only use for it on the average machine would
be driving soft modems, unbuffered I/O ports, PC speaker audio and other crap
that we don't want to encourage in mainstream machines anyway.
A hard or very firm "sub ms class" real time solution without driver access
restrictions would be much more useful to the multimedia users.
Linux/lowlatency is the most generic and best performing solution of that
kind so far, and it's not unlikely that it will eventually be a part of the
mainstream kernel, partly because it has a lot in common with more general
optimizations for high end SMP servers.
> For implementation of a hard real-time system, I would appear to be
> wasting my time starting from scratch considering how far RT-Linux and
> RTAI appears to have progressed. So I am searching for a TODO or wishlist
> that exists for either system that I could examine to see if I can pull
> masters material out of. Bear in mind that a Masters (in Ireland at least)
> is only about 18 months long and doesn't necessarily have to be ground
> breaking material.
>
> If it is a case, that working on a real time system is unfeasible, I'll
> start looking at other aspects of Linux that need working on such as
> trying to make the kernel pre-emptive, either fully pre-emptive or with
> fixed pre-emptive points. I understand this is one pitfall that prevents
> Linux been a truely real-time system.
It's also an issue that causes problems with SMP performance. Despite what
has been said about Linux and pre-emptive kernel design, Linux *is* already
partly pre-emptive when running on SMP machines. There have been various
suggestions regarding how this could be enabled on UP systems as well, which
would indeed help RT performance, but also performance in general in some
cases.
This, however, doesn't mean that Linux is going to be, or should be, fully
pre-emptive. Most of the reasons that caused Linus to take the non-preemptive
route in the first place, are still valid.
Meanwhile, looking at the latest Linux versions and the lowlatency patches,
it's clear that "sub ms class" hard real time is *not* a valid reason to go
preemptive - it's not required.
> If people on this list have projects around that they never found time
> for that involved real time systems, Linux and POSIX in some shape or
> form, I would love to hear them :-)
Well, I have one; the Audiality Project (which got me into all this in the
first place) but it has a heavy dependence on what eventually became MAIA.
(See .sig.)
The interesting part of that (WRT real time programming) would be SMP and
cluster support. I'm planning to eventually build a very high end audio/music
workstation with a bunch of workstation CPUs (probably PPC or Alpha) rather
than custom DSP hardware. Low latency audio processing on SMP systems and
clusters seems to be an area with next to no information on prior art
available, so it seems like I'll have to figure most of it out by myself,
unless someone beats me to it.
> Thanks for your time (not a pun)
Speaking of time; I wish it was as easy as installing RTL or RTAI to keep
track of *my* time! ;-)
//David
.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia -'
.- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--------------------------------------> [EMAIL PROTECTED] -'
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/