On Thu, Jun 29, 2000 at 04:39:18PM -0600, Richard Gooch wrote:
> [EMAIL PROTECTED] writes:
> > On Thu, Jun 29, 2000 at 12:44:52PM -0600, Erik Andersen wrote:
> > >     b) RTAI now has a feature called LXRT hard real-time (in it's early days)
> > >     that allows the use of hard real-time from user-space programs (thus has
> > >     the potential to use the process MMU protection).  Note when a thread is in
> > >     hard real-time mode, it still may not access Linux systems calls.
> > 
> > I think this is a very clever idea and would be semi-happy to add it
> > to the RTLinux distribution if it were done in a way that was safe
> > and portable.  So far, the explanations I've seen, however, are kind
> > of scary.  I really don't like the use of "int xx" to provide a
> > second copy of the system calls, the stated need to run hard RT
> > locks around the Linux scheduler, and some other features (including
> > some fuzziness about what happens when a user forgets to mlockall or
> > uses a shared library).
> 
> I'd still prefer the scheme I suggested a while back: run Linux
> processes on the RT scheduler if they have RT priority, and switch
> between RT and Linux scheduler whenever going between user-space and
> kernel-space.
> 
> This would mean you get complete access to all system calls and user
> libraries within a RT process, without having to bloat the kernel with
> a pile of pseudo-RT hacks.
> 
> It would also mean we could consider ripping out SCHED_FIFO and
> SCHED_RR from the Linux scheduler, hence simplifying it.
> 
> Somebody please find the time to implement this :-)

I came back from Australia, all pumped up to do this, proposed it
to the RTLinux list and got hammered by RTAI proponents who wanted to
point out that LXRT did something like this already. The more I thought
about that something, the more happy I got that they would be hacking
away trying to fix it instead of me -- and I also couldn't get comfortable
with the memory management unit trickery that would be needed for 
either scheme. 
I'm thinking about it still, now in the context of some more concrete
problems like porting PSOS code to RTLinux and perhaps we will make
some progress soon, or someone will come up with a better idea.
In the meantime, RTL code can easily do
             ask_linux_to_run(f, args)
and
             ask_linux_process_to_run(pid,f,args)

or just
             __asm__("halt");
if you want to make your RT code run slow.

-- 
---------------------------------------------------------
Victor Yodaiken 
FSMLabs:  www.fsmlabs.com  www.rtlinux.com
FSMLabs is a servicemark and a service of 
VJY Associates L.L.C, New Mexico.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to