Robert Findlay wrote:
>
> We are relatively new to the LINUX/RTLinux business, but have had a number
> of years experience with the QNX realtime OS.
>
> Like all people who have used a programming paradigm and toolset long
> enough, you want the same toolset everywhere you go.
>
> With that in mind, we have made a crude stab at providing LINUX/RTLinux
> with the basics of the QNX style synchronous message passing in the form of
> a static library.
>
> In our scheme the "sender" owns a block of shared memory. The "receiver"
> listens on a fifo for a single integer. This integer represents the index
> of the "senders" record in a memory mapped file table. The "receiver"
> connects to the "senders" shared memory retrieves the message and posts
> it's reply to the same location. The "sender" listens to it's reply fifo
> and unblocks and retrieves it's reply. Presto we have fully synchronous
> QNX style message passing.
>
> We have already used this on a number of projects with great success.
> Recently we have built a Tcl extension which exposes Send/Receive/Reply
> commands to our Tcl/Tk scripts as well.
>
> We are ready to share this source code with the open source community in
> hopes that others can benefit from the paradigm. We are also hoping that
> others with more "kernel hacking" experience can collect our ideas in the
> form of a kernel module and dispense with the fifos and memory mapped files
> that are currently used. We would like to see a solution which is more
> closely tied with RTLinux.
>
> Inspite of the "first cut" solution we are seeing benchmarks of 250us for a
> 1k message to make its way between two LINUX processes and back again on a
> P166. This is within an order of magnitude of what QNX would do on the
> same machine.
>
> If anyone has an interest, don't hesitate to contact us and I'll email you
> the gzip'd tar file (~20k).
Apart from the fact that the message is just an unsigned long, I want to
point out that in my variant such a capability, under the name rpc, has
been available for 2 years to coordinate tasks within RTLinux. Copying a
whole message, even with scatter-gather techniques, would be a trivial
addition. Have a look at it, may be you'll find something that can be
of help. We ported some QNX application to RTL quite easily. Please note
that is an RTL service, not a Linux one.
Ciao, Paolo.
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/