rtf_create_handler again

Philippe Gerum rpm at xenomai.org
Tue Oct 12 19:15:08 CEST 2004


On Tue, 2004-10-12 at 13:52, Jose Antonio Sanchez wrote:

> Should I try fusion to have this? I've read it's
> entirely based on lxrt and xenomai so there's no need
> to have kernel modules.

Code-wise, it's not based on LXRT at all. It does provide the same kind
of support for hardening a real-time task that has been stolen from the
Linux scheduler, but the scheduling core is based on Xenomai.
There is usually no need for a kernel module with fusion, the same way
you don't usually need it with LXRT.

This said, fusion still accepts that some part of your app lives in
kernel space in a module, communicating with user-space through a
real-time pipeline, which is something like an extended FIFO that
primarily works in message-oriented mode, but can also work in
byte-streaming mode from kernel to user-space. Another difference with
FIFOs is that pipes are bi-directional and also provide a blocking read
mode to kernel space threads.

If I understand correctly, your problem is to be able to have your GUI
main loop monitor a file descriptor for triggering I/O events in your
app. This is why FIFOs are useful there, the select()/poll() semantics
obviously won't match anything else than objects that can be identified
by file descriptors.

If you want to try fusion, have a look at testsuite/klatency in 0.6. The
README in the parent directory tells it all. This said, be aware that
LXRT has matured for 5 years, so it has a track record fusion does not
have yet. Additionally, if you want to go the fusion way, be prepared to
live with a more compact API.

http://download.gna.org/rtai/documentation/fusion/html/api/modules.html
(follow "native RTAI API")

-- 

Philippe.





More information about the Rtai mailing list