My cable modem works just like bad satellite so I'd love to see this go in as well.
On Sat, Dec 25, 2010 at 12:03:27PM +0100, Mark Kettenis wrote: > > Date: Fri, 24 Dec 2010 22:50:22 -0500 (EST) > > From: Ted Unangst <[email protected]> > > > > As I mentioned previously, the auto recv space scaling algorithm isn't > > optimized for all links. At list in my case, with the proverbial > > satellite link (high bandwidth, high latency), the window never appears to > > grow. > > I can believe that a satellite link has high latency, but high bandwidth? > > > Manually setting the default recv space allows me to download at high > > speed again. This diff brings back the two relevant sysctls. > > Anyway, it'd be nice if the algorithm could be improved such that it > works for a broader range of links. For example, you probably want to > scale more aggressively if the RTT is large. > > That said, my experience with Linux, which supposedly has had window > auto-tuning for quite some time, tells me that there will always be > corner cases where some manual tuning is necessary. So this diff > makes sense to me. Make sure you get an ok from claudio though. > > > Index: tcp_var.h > > =================================================================== > > RCS file: /home/tedu/cvs/src/sys/netinet/tcp_var.h,v > > retrieving revision 1.97 > > diff -u -r1.97 tcp_var.h > > --- tcp_var.h 21 Oct 2010 11:38:27 -0000 1.97 > > +++ tcp_var.h 24 Dec 2010 23:08:33 -0000 > > @@ -481,8 +481,8 @@ > > { "keepintvl", CTLTYPE_INT }, \ > > { "slowhz", CTLTYPE_INT }, \ > > { "baddynamic", CTLTYPE_STRUCT }, \ > > - { NULL, 0 }, \ > > - { NULL, 0 }, \ > > + { "recvspace", CTLTYPE_INT }, \ > > + { "sendspace", CTLTYPE_INT }, \ > > { "ident", CTLTYPE_STRUCT }, \ > > { "sack", CTLTYPE_INT }, \ > > { "mssdflt", CTLTYPE_INT }, \ > > @@ -506,8 +506,8 @@ > > &tcp_keepintvl, \ > > NULL, \ > > NULL, \ > > - NULL, \ > > - NULL, \ > > + &tcp_recvspace, \ > > + &tcp_sendspace, \ > > NULL, \ > > NULL, \ > > &tcp_mssdflt, \
