Date: Wed, 14 Aug 2013 12:36:31 +1000 From: Lawrence Stewart <lstewart@freebsd.org> To: Andre Oppermann <andre@FreeBSD.org> Cc: "freebsd-net@freebsd.org" <net@freebsd.org> Subject: TCP Initial Window 10 MFC (was: Re: svn commit: r252789 - stable/9/sys/netinet) Message-ID: <520AED2F.4050001@freebsd.org> In-Reply-To: <201307051458.r65EwObo066269@svn.freebsd.org> References: <201307051458.r65EwObo066269@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Andre, [RE team is BCCed so they're aware of this discussion] On 07/06/13 00:58, Andre Oppermann wrote: > Author: andre > Date: Fri Jul 5 14:58:24 2013 > New Revision: 252789 > URL: http://svnweb.freebsd.org/changeset/base/252789 > > Log: > MFC r242266: > > Increase the initial CWND to 10 segments as defined in IETF TCPM > draft-ietf-tcpm-initcwnd-05. It explains why the increased initial > window improves the overall performance of many web services without > risking congestion collapse. > > As long as it remains a draft it is placed under a sysctl marking it > as experimental: > net.inet.tcp.experimental.initcwnd10 = 1 > When it becomes an official RFC soon the sysctl will be changed to > the RFC number and moved to net.inet.tcp. > > This implementation differs from the RFC draft in that it is a bit > more conservative in the case of packet loss on SYN or SYN|ACK because > we haven't reduced the default RTO to 1 second yet. Also the restart > window isn't yet increased as allowed. Both will be adjusted with > upcoming changes. > > Is is enabled by default. In Linux it is enabled since kernel 3.0. I haven't been fully alert to FreeBSD happenings this year so apologies for bringing this up so long after the MFC. I don't think this change should have been MFCed, at least not in its current form. Enabling the switch to IW=10 on a stable branch is inappropriate IMO. I also think the "net.inet.tcp.experimental" sysctl branch is poorly named as per the important discussion we had back in February [1]. I would really prefer we didn't get stuck having to keep it around by making a stable release with it being present. I think this commit should be backed out of stable/9 and more importantly, 9.2-RELEASE. As an aside, I am intending to follow up to the Feb discussion with a patch that implements the basic infrastructure I proposed so that we can continue that discussion. Thoughts? Cheers, Lawrence [1] http://lists.freebsd.org/pipermail/freebsd-net/2013-February/034698.html
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?520AED2F.4050001>