Date: Fri, 29 Jan 2016 13:51:21 -0800 From: hiren panchasara <hiren@strugglingcoder.info> To: Yongmin Cho <yongmincho82@gmail.com> Cc: transport@freebsd.org Subject: Re: Restarting Idle Connections Message-ID: <20160129215121.GJ33155@strugglingcoder.info> In-Reply-To: <20160129043817.GA9865@yongmincho-All-Series> References: <20160129043817.GA9865@yongmincho-All-Series>
next in thread | previous in thread | raw e-mail | index | archive | help
--AXxEqdD4tcVTjWte Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 01/29/16 at 01:38P, Yongmin Cho wrote: > Hi, all. >=20 > I have an opinion about net.inet.tcp.initcwnd_segments. > You know, snd_cwnd is restarted transmission after a long idle > period(Current RTO). > And, All of congestion control algorithm is using newreno_after_idle > function after a long idle period. > But, The newreno_after_idle function is not using initcwnd_segments. > I think, The initcwnd_segments should be used in newreno_after_idle > function, If the newreno_after_idle is called. > I referred to rfc6928. >=20 > Please check my opinion. You are absolutely right. We (FreeBSD) adopted initcwnd to be 10 segments but never bothered to update newreno_after_idle() function to reflect that in calculating cwnd after idle period. Though the comments in that function clearly says: "The restart window is the initial window or the last CWND, whichever is smaller." I think we should make following change to accommodate it: diff --git a/sys/netinet/cc/cc_newreno.c b/sys/netinet/cc/cc_newreno.c index 97ec35f..5210a45 100644 --- a/sys/netinet/cc/cc_newreno.c +++ b/sys/netinet/cc/cc_newreno.c @@ -166,6 +166,10 @@ newreno_after_idle(struct cc_var *ccv) * * See RFC5681 Section 4.1. "Restarting Idle Connections". */ + if (V_tcp_initcwnd_segments) + rw =3D min(V_tcp_initcwnd_segments * CCV(ccv, t_maxseg), + max(2 * CCV(ccv, t_maxseg), + V_tcp_initcwnd_segments * 1460)); if (V_tcp_do_rfc3390) rw =3D min(4 * CCV(ccv, t_maxseg), max(2 * CCV(ccv, t_maxseg), 4380)); Any inputs? Cheers, Hiren --AXxEqdD4tcVTjWte Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAABCgBmBQJWq97WXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lf38H/2mwyoYYc0ag1MVE1uzhZ0rL K2KTnjZnXFuAw6FLgmUtgNw1ykWD2IjhTmNmzTw03KPmQuKj+FyZUHg78hu4kA/l CbaiIO+1EHw9+aT+2yzZgK5yZLdTIF873sBoCdPWUP826WLjhPuxVox0CPOWzhw1 XuoSOLYZjsTGysdoMA3AyLOB+ESEC4V1Blf5SocdJPDF0y1Cpes3E6HuXxfix3ee kj9bKCZL9jU8DAGZHdT9WwF8qfxqRjzhlOUtzY+3pBxglzXPzlhaxS0mGX/W23Jr MHS9NleAh6M0Ot5M8X8WlXxvwqQdfssKAB3m9JIoTxldbqPRjKOhKALcoG8pqHo= =TCcb -----END PGP SIGNATURE----- --AXxEqdD4tcVTjWte--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160129215121.GJ33155>