Tomasz Motylewski wrote:
>
> On Thu, 23 Mar 2000, Stuart Hughes wrote:
>
> > Download version 1.2 from http://www.rtai.org/ and look in the lxrt
> > sub-directory. Basically, RTAI has its own set of syscalls, to move a
> > process into the hard realtime mode, it make a syscall that sets the
> > process in a state whereby linux no longer schedules it, and RTAI takes
> > over scheduling responsibility. To use this mode, a user has to lock
> > his pages into memory with mlock. You are correct that RTAI system does
> > switch the mmu context.
>
> What happens if a process in hard real time mode makes a system call (like
> write to a file or send a packet), and the kernel has just been preempted
> from a system call of some normal process? Does the control return to the
> preempted kernel until normal syscall is done and then syscall done from RT
> continues? This would be the easiest way to solve this conflict.
LXRT traps system calls and does not pass them to Linux, printing a
warning, is they are coming from a hard real test. That is a momentary
solution till its developpers decide what to do. My point of view is
that, thank to the usability of the powerfull RTAI APIs intra Linux
processes, it is not a problem, just mate a hard real time task with a
buddy soft real time process that acts as a server toword Linux. There
is a wealth of examples showing that it can be done in a snap.
Eventually it is possible that LXRT developpers decide for a unified
server process. There is already also the possibility for the user to
install its own way of trapping syscall.
The same can be said for the lowest 20 reserved system traps. They are
also trapped, wothout touching Linux, and a user can install its own
handler for them. Clearly he/she must know what to do.
It is likely Pierre Cloutier has smart ideas in relation to the above,
but for them you have to wait for the new LXRT being ported to his
LXRT-INFORMED.
Note that the problem reflects also onto nonreentrant lib calls. If you
are using such calls you must protect them with a semaphore, naturally
you can easilly use RTAI ones from whatever place you are.
I can say that the whole structure is in place and can be safely used by
people with a minimal knoweledge of what is behind, i.e. that read the
READMEs at least. What is needed are APIs to make it easily and safely
usable also to unexperienced and "I do not want to know what it is"
users.
RTAI and LXRT developpers will be gald for any suggestion and/or coding.
Ciao, Paolo.
-- [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/