[fpc-devel] custom ThreadManager and MemoryMutexManager for hard realtime

Michael Schnell mschnell at lumino.de
Wed Jan 6 14:02:04 CET 2010


Stefan Kisdaroczi wrote:

> You can call normal linux system calls without problems, that is one of the
> big features of xenomai, but of course you have to take care, it can have an
> impact on the realtime performance.

Meaning that when doing a Linux system call, at this point a potentially
huge delay might be introduced. As the standard FPC memory management in
the RTL potentially does Linux system calls, you either need to modify
the RTL on that behalf (AFAIK the memory manager is done as a plugin and
thus you easily _can_ provide your own one), or avoid memory management
completely (no idea how this might be possible).

> IRQ's:
>   - Xenomai adds a Interrupt-Pipeline:
>     Interrupts are handled first by the xenomai scheduler and then passed to the
>     linux scheduler.
>     --> Linux interrupt handling is stalled while the realtime scheduler has tasks
>     to run

That is what I meant with "running Linux in a kind of virtualization".

> Future:
>   If you build your realtime apps as Xenomai userspace apps and make RTDM-Drivers,
>   in about two years (just guessed), you will be able to run your realtime apps
>   with the Xenomai Duo-Kernel approach or on the linux native preempt_rt realtime
>   support without changing anything in the application or driver code, just recompile.
> 

Even closer to "Virtualization". Of course this is very interesting when
dual core hardware is provided (which gets more and more "standard".

I do suppose Xenomai offers some memory management paradigm, which you
can use instead of Linux system calls in your alternative FPC memory
manager.

-Michael



More information about the fpc-devel mailing list