Hi,
On Friday 15 June 2001 12:58, Jun-ichi Odagiri wrote:
I've been trying to use L4-Linux as a real-time platform for a control application. The application was developed based on VxWorks, but ported to Linux lately.
Great!
Unfortunately, as you know, Linux allows usual processes to block a real-time process for durations of 100 ms or more. I found that a process of L4-Linux can preempt the Linux server if the process is given a priority higher than that of Linux, and can continue with its work as far as it does not call Linux for services. I actually tested it on a PC-compliant VME CPU board. Interrupt latency in the worst case was less than 1 ms, even with a disk I/O background. I'm wondering if this mailing-list accepts application related issues as well. If so, I'd like to ask you :
Yes, it does.
- Is that kind of idea crazy?
- Is there anyone who tried (or is going to try) something like that?
- Is L4-Linux going to keep up with the revisions of Linux in the
future?
You should not expect any real-time behavior if you use a L4Linux task to serve interrupts. Instead of this, implement the time-critical code (e.g. I/O to VME board, computations of output values) in an L4 task. Then let this task communicate with L4Linux by IPC (usually by using an own thread).
Then you will get worst-case latencies of about 85 microseconds (P800). Note that you should use the tamed version of L4Linux (make menuconfig - "L4Linux options" - "Use tamed server").
Frank