2.1.28 bursty TCP/IP - patch
Keith Owens (kaos@ocs.com.au)
Sat, 08 Mar 1997 02:47:43 +1100
Bursty TCP/IP symptoms of pausing 2-3 seconds followed by a burst of
packets. Traced to tcp_send_msg storing the last bytes of an
application write in a partial skb (right), the next application write
was not being merged with the partial skb (wrong). The partial skb
then tripped Nagle in tcp_snd_tst and the packet was not written until
the pipeline was empty. Once the pipeline emptied, the small packet
and the following queued packets burst onto the link.
--- linux-2.1.28/net/ipv4/tcp.c Wed Mar 5 16:52:14 1997
+++ linux/net/ipv4/tcp.c Sat Mar 8 02:23:16 1997
@@ -901,7 +901,7 @@
if (skb->end > skb->tail &&
sk->mss - tcp_size > 0 &&
- skb->end_seq < tp->snd_una + tp->snd_wnd)
+ tp->snd_nxt < skb->end_seq)
{
int tcopy;