Comments on Montavista's "Open Source Real-Time Linux Project"?
kiszka at rts.uni-hannover.de
Mon Oct 11 12:48:40 CEST 2004
Herman Bruyninckx wrote:
> Montavista launched their single-kernel realtime Linux project:
> Does somebody have enough insight to list the differences in approach and
> performance between Montavista's suggestion and RTAI?
I don't claim to have analysed the Montavista approach in every detail,
but from the first view it appears to be yet another soft real-time
kernel hack, sorry, patch promoted as hard real-time. As an excuse for
this confusion, one may consider that Montavista is competing with
proprietary and Linux-based commercial solutions also claiming to be
hard real-time but targeting different applications (many customers want
it but doesn't really need it).
Two arguments I immediately had in mind while scanning the patches:
o Replacing the kernel spinlock (_irqsave/_irqrestore) with mutexes do
actually improve the interrupt responsiveness, but it doesn't help
you when your code directly or (the kernel is complex) indirectly
depends on some critical section. Furthermore, as Karim already
pointed out on the kernel thread, you have to audit every damn
driver you want to use in your real-time Linux system, and it doesn't
matter if only a subset of these drivers are really used for
real-time purposes. BTW, real-time drivers and their programming
model is a topic of it own.
o So far, and there is also no announcement for plans on this, the
patches do not deal with hard-rt resource management or reservation.
Imagine a real-time task calling a kernel function which requires to
allocate some piece of memory (kmalloc etc., heavily used by IPC
mechanisms e.g.). Normally, the pool of free memory blocks is more or
less filled, but sometimes... q.e.d., it's soft real-time.
You can solve these issues (+ the ones they already list, like rwlocks),
of course. But the patch is already 300 kB heavy - for a single
And finally, the big common question remains foggy here as well: What am
I allowed to call without losing real-time guarantees?
More information about the Rtai