On Tue, 15 Oct 2002, Luigi Rizzo wrote:
> this smells a lot as a bad interaction between default window
> size and mtu -- loopback has 16k default, maybe tar uses a
> smallish window (32k is default now for net.inet.tcp.sendspace,
> but used to be 16k at the time), which means only 1 or 2 packets in
> flight at once, meaning that many times you get the 200ms delay
> and your throughput goes way down.
>
>       cheers
>       luigi

NetBSD introduced a "fix" for this recently, it seems sorta hackish, but
maybe we need to do something similar.

The diff reminds me why FreeBSD has a policy of seperating style and
functional commits, fwiw. :)

http://cvsweb.netbsd.org/bsdweb.cgi/syssrc/sys/netinet/tcp_output.c.diff?r1=1.84&r2=1.85

Revision 1.85 / (download) - annotate - [select for diffs], Tue Aug 20
16:29:42 2002 UTC (8 weeks ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.84: +18 -4 lines
Diff to previous 1.84 (colored)

Never send more than half a socket buffer of data.  This insures that
we can always keep 2 packets on the wire, no matter what SO_SNDBUF is,
and therefore ACKs will never be delayed unless we run out of data to
transmit.  The problem is quite easy to tickle when the MTU of the
outgoing interface is larger than the socket buffer size (e.g. loopback).

Fix from Charles Hannum.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to