>>>>> "yodaiken" == yodaiken  <[EMAIL PROTECTED]> writes:

 yodaiken> On Mon, Jan 24, 2000 at 10:55:00AM -0500, Paul Koning
 yodaiken> wrote:
 >> A related point: the rtf_get and rtf_put operations lock out
 >> interrupts for the full duration of the transfer.  You need that
 >> to get mode (3).  I expect there are plenty of fifos that don't
 >> need this, they only need (1).  You pay an interrupt latency
 >> penalty you don't need in that case.  How about another set of
 >> calls (rtf_get_single?) or a mode setting to select (1) and avoid
 >> most or all of the interrupt disabling?

 yodaiken> The question is whether the time spent during cli is
 yodaiken> significant and I think it is not, but perhaps I have not
 yodaiken> seen something.

Well, the memcpy is done during cli, which seems like a bad idea. 

 >> Finally, I think I could use some additional rtfifo services,
 >> specifically (a) a way to query how much is currently in the fifo
 >> and how much space is left, so I can avoid doing an rtf_get or
 >> rtf_put that will do a partial transfer, (b) a "flush the fifo"
 >> operation.
 >> 
 >> Reason for (a) is: if you transfer structured data via a fifo
 >> (similar to the "frank" sample application) then you don't want to
 >> do an rtf_get and get less than sizeof (your_struct) coming back.

 yodaiken> One useful mode would be a "mailbox" mode where each input
 yodaiken> output will be in multiples of message-size.  That would
 yodaiken> avoid the extra querying in the user of the fifo.

 yodaiken> IF you can add that efficiently, I'd be happy to take the
 yodaiken> patch.

Ok.  Which approach do you prefer, an rtfifo mode, or a different API
call?  The latter would be more efficient, clearly there can't be a
performance penalty on the existing API calls that way.

        paul

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