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