TCP Initial Window 10 MFC (was: Re: svn commit: r252789 - stable/9/sys/netinet)

Lawrence Stewart lstewart at freebsd.org
Wed Aug 14 02:45:46 UTC 2013


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


More information about the freebsd-net mailing list