On Mon, Nov 15, 1999 at 02:06:02AM -0500, Aleksandar Bakic wrote:
> Could you please tell if there are tricks to this? Namely, I have two
> rate-monotonic tasks, 500ms and 50ms periods. They read data from the
> shared memory; these data are, in turn, written to the shared memory
> by a Linux process that receives them from the network (100Mbps
> ethernet). I have noticed that the 50ms-task causes problems, i.e., it
> is likely that the NIC buffer gets full (or something similar), which
> then causes problems at the sender (on another machine in the
> LAN). The sender should send data at the rate of about 250kBps, but it
> takes about 1.5 seconds to send one big (225kB) message when the
> 50ms-task is running at the receiver node. With just the 500ms-task,
> the sender does not get delayed.
> 

Lots of variables here.  What version of RTLinux, which NIC, are
you using UDP or TCP?  Have you done network traces to see if you
are having to resend packets?

TCP is very unfriendly to dropping packets in a random (or not so
random) fashion.  If you drop a lot of packets, it will throttle
the connection, on the assumption that the connection is bandwidth
limited, and try to send fewer packets.  My guess is that the
ethernet driver is occasionally being starved of its interrupt,
thereby causing packets to be lost.



dave...


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