From owner-freebsd-transport@freebsd.org Mon Jul 31 14:31:32 2017 Return-Path: Delivered-To: freebsd-transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10D6EDAEDE9 for ; Mon, 31 Jul 2017 14:31:32 +0000 (UTC) (envelope-from hiren@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id F08577CB14 for ; Mon, 31 Jul 2017 14:31:31 +0000 (UTC) (envelope-from hiren@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id EC53ADAEDE6; Mon, 31 Jul 2017 14:31:31 +0000 (UTC) Delivered-To: transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EBF3DDAEDE5 for ; Mon, 31 Jul 2017 14:31:31 +0000 (UTC) (envelope-from hiren@freebsd.org) Received: from mail.strugglingcoder.info (strugglingcoder.info [104.236.146.68]) by mx1.freebsd.org (Postfix) with ESMTP id DC7947CB13 for ; Mon, 31 Jul 2017 14:31:31 +0000 (UTC) (envelope-from hiren@freebsd.org) Received: from localhost (unknown [10.1.1.3]) (Authenticated sender: hiren@strugglingcoder.info) by mail.strugglingcoder.info (Postfix) with ESMTPA id 3B861177FD; Mon, 31 Jul 2017 07:31:28 -0700 (PDT) Date: Mon, 31 Jul 2017 07:31:28 -0700 From: hiren panchasara To: Kevin Bowling Cc: "" Subject: Re: Discussion on r321480 "Let congestion control algorithms decide congestion window" Message-ID: <20170731143128.GC36125@strugglingcoder.info> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="/e2eDi0V/xtL+Mc8" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Mailman-Approved-At: Mon, 31 Jul 2017 17:10:12 +0000 X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2017 14:31:32 -0000 --/e2eDi0V/xtL+Mc8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 07/27/17 at 03:29P, Kevin Bowling wrote: > gnn has asked for details about "Let congestion control algorithms > decide congestion window." in r321480 on this week's transport call. >=20 > Hiren had intended to write a more detailed revert commit message but > we unfortunately preempted him shortly before he was going to revert. > Maybe if we ask nicely he will explain. Here is the gist as I understand it: Though still being correct, the change made stack send more aggressively after loss under certain conditions mainly because of the way tcp_output() is designed. There is no 'send only this much data' notion in current tcp_output() which can help us use max capacity of the connection without really sending too much to make things worse. So now what we do instead is, go down to 1mss on any kind of loss which provides us protection against such aggressiveness in loss-recovery phase. Upcoming changes from Randall/NF will probably fix this problem as pacer itself can provide such functionality and help stack do the right thing. I know this is not a problem is new BBR/Rack stack. And probably can be fixed easily in base stack (with pacer and may be using PRR too). Thanks to Lawrence for making me realize the problem with the change. Cheers, Hiren --/e2eDi0V/xtL+Mc8 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAABCgBmBQJZfz89XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lYV0H/AwIDmLFZOStzVOxKl+4G0T/ EGKPRw+2poiaS4ODyUIJhb1M+4xkLDDvREcmc5TOWesKDpVPzHLL+9wB+YvT0een ub2XlDutzgDpNSzAIt4f2FeoDe8XjLdvxKdDzGC0TiQ6h1CsQxb4VffB2+4h8Bu2 9qFw5RYL3F1b6sA+07WTFnA+S6R6WwXaeJe7uIsmrokyWvf6J+Agas7pn9NhMmV+ hF/odd42MEtSMxR3Z8FRO0vTUJwumQgr52SsdpaXAtXV5eHdSgk6RlzpCul43QHm euP/VR3Ap6MLFv7AlQg3aDDalOLnMz3b7az+v94oH/GCdGsKWALoCKJpThRkntw= =A74v -----END PGP SIGNATURE----- --/e2eDi0V/xtL+Mc8--