On 5/03/2014 6:39 AM, hiren panchasara wrote: > On Wed, Aug 14, 2013 at 8:46 PM, Lawrence Stewart <lstew...@freebsd.org> > wrote: >> On 08/15/13 02:44, Andre Oppermann wrote: >>> On 14.08.2013 04:36, Lawrence Stewart wrote: >>>> 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. >>> >>> Backing out the patch isn't really necessary, just flip the switch to >>> off having it revert to the RFC5681 defaults. Those who want it anyway >>> can simply enable it again. >> >> That doesn't address the sysctl tree naming concern or mechanism issue - >> please refer back to the Feb discussion; specifically the proposal to >> rename the experimental branch to "net.inet.tcp.nonstandard" and add an >> "allowed" leaf which takes a list of non-standard behaviours to allow >> tweaking in the stack. >> >> Leaving the sysctl branch named "experimental" conveys that the things >> which live under the branch are being evaluated in some way for becoming >> a default, which is very different to "nonstandard" which conveys that >> the user is twiddling things in a way which normally shouldn't be. IW=10 >> may become a FreeBSD default at some point, but the mechanism for >> enabling it should be to specify the initial window as a value in >> segments, and as such by allowing any non-standard value (IW=7, IW=50), >> I strongly argue in favour for changing the branch name from >> "experimental" to "nonstandard". >> >> In order to continue this discussion in the context of what we started >> in Feb, I still request that this change be backed out of releng/9.2 so >> that 9.2-RELEASE doesn't ship with it. We can continue discussion for >> it's future in stable/9 and head after the backout so that 9.2 isn't >> held up. >> >>> IW10 has become RFC6928 (experimental) in April 2013. >> >> Great for the draft authors, but irrelevant for this discussion. >> >>>> 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. >>> >>> Again I'm deeply concerned and opposed to giving end users direct control >>> over the IW value. I've had and seen too many cases of totally bogus >>> "tuning" >>> by cranking up random sysctls to insane values and then complaining about >>> FreeBSD being slow compared to Linux (and then ditching FreeBSD). >> >> Sorry, but referring to unspecified cases of stupidity resulting in loss >> of unquantified numbers of users as a reason against providing a >> controlled mechanism to change a default system parameter in a >> potentially harmful way is not a rational argument. > > I do not subscribe to the idea of "Let's not make life of 98% of users > better because 2% may do something stupid". > > I am revisiting this thread because at $work, we need to tweak > initcwnd (other than 10) to see how it behaves but there is no easy > way to tune it. (or am I missing something?) > > Can we please make initcwnd a sysctl tunable? > > cheers, > Hiren
+1 - We'd like to at least be able to measure the difference and impact of different values @ work, with the choice to make informed configuration decisions too. _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"