Um, isn't that what RTAI does -- run the linux kernel on a
virtualized processor?
Yep, but AFAIK, in the "realtime" part, you need to use what RTAI offers. You can't install some RTOS there.
As one of my friends used to say: "the only
thing worse than a product based on a microprocessor is one
based on two of them."
So don't use a car ! They include hundreds of them :)
That last qualification is an important one.  When I've asked
in the NIOS forums about RTAI or other ways to control latency
on the NIOS/Linux platform, the answer is always "do it in
hardware!".  That's fine if you have to toggle pin B whenever
pin A changes, but for things like replying to a message on a
TCP connection such advice is utterly useless.
I feel that replying to a message on a TCP connection is not doable as a really hard realtime task. There are things like "realtime Ethernet", but I doubt that it can be used with RTAI and that it can live together with Linux. You would need to do the complete IP-stack within the realtime part of the application. Do you in fact have access to code for such a "realtime Stack" starting from the Ethernet driver and featuring a complete "zero-copy" UP-stack ? I suppose this code would be done for a dedicated processor and OS (supposedly not RTAI). I do have access to such code (propriety by Ubicom). same is especially made for GBit Router applications.
Not only does NIOS lack RTAI/Xenomi support, it doesn't even
have NPTL support.  That means that scheduling of threads is
being done by user-space code.  Yes, that results in really bad
scheduling latencies (on the order of 5-10ms in my experience).
You are right here (I'm disappointed about this myself). But AFAIK, no code for the IP-Stack is done with userland threads. Why in fact do you want to use userland threads ? In most applications (unfortunately not in mine) it's better to use a "run to completion" paradigm instead of doing a multithreaded userland application. Here again, the hardware-multithreaded Ubicom CPU (and SDK) provides a perfect solution for applications that ask for multithreaded development. As said, they seem to be planning an implementation of SMP-Linux on top of this. Here you'll have a realtime IP stack, Linux, and perfect thread scheduling, but you'd need to use (and buy) their propriety SDK :(.

-Michael
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to