Mr. Karpov,

> i have a question associated with fifo  performance.
> my scenario differs a bit. i have a real-time task and a task 
> which is run withing kernel, not realtime(implemented as a 
> kernel module). i need to organize communication between those tasks. 

        Fortunately for you, they are running in the same address space for
all intents and purposes.  Feel free to use kernel module variables in your
RTLinux code and vice versa.  You are, of course, responsible for
synchronization, etc.

> are there any estimations of fifo performance ?

        On my Celeron 400 I get tens of megabytes per second through FIFOs
from the RTLinux space to user space.

> or may be for 
> that purpose use of the shared memory will be more 
> appropriate ?

        You do not even need to use shared memory.  Simply have a uniquely
named global variable in your kernel module which is allocated in your
kernel module.  Then simply read and write the buffer from either place (the
kernel module or the RTLinux tasks).

        Please note that you will need to load the kernel module *before*
the RTLinux task in this example to resolve the external for the buffer
variable.  If you do not, you will get a message like:

mymodule.o: unresolved symbol _my_comm_buffer

        when you try to load the RT application.

> the problem is that i have to make this 
> communication interface as fast as possible.

        This should yield the fastest possible result.
        
Regards,

Steve

-- [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/

Reply via email to