From owner-svn-src-all@freebsd.org Sat Nov 16 13:56:23 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 245101C5F4B; Sat, 16 Nov 2019 13:56:23 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from drew.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47FcFf26PNz400S; Sat, 16 Nov 2019 13:56:22 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from mb.fritz.box (ip4d16e760.dynamic.kabel-deutschland.de [77.22.231.96]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTPSA id 6BB47721E282F; Sat, 16 Nov 2019 14:56:17 +0100 (CET) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3601.0.10\)) Subject: Re: svn commit: r354708 - head/sys/netinet/cc From: Michael Tuexen In-Reply-To: <201911161233.xAGCXCNt057443@gndrsh.dnsmgr.net> Date: Sat, 16 Nov 2019 14:56:14 +0100 Cc: koobs@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <2CA1817F-A637-4E9D-8E84-505A00EB127D@freebsd.org> References: <201911161233.xAGCXCNt057443@gndrsh.dnsmgr.net> To: rgrimes@freebsd.org X-Mailer: Apple Mail (2.3601.0.10) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-Rspamd-Queue-Id: 47FcFf26PNz400S X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.80 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.80)[-0.799,0]; ASN(0.00)[asn:680, ipnet:2001:638::/32, country:DE]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Nov 2019 13:56:23 -0000 > On 16. Nov 2019, at 13:33, Rodney W. Grimes = wrote: >=20 >>> On 16. Nov 2019, at 11:51, Rodney W. Grimes = wrote: >>>=20 >>>> On 15/11/2019 3:28 am, Michael Tuexen wrote: >>>>> Author: tuexen >>>>> Date: Thu Nov 14 16:28:02 2019 >>>>> New Revision: 354708 >>>>> URL: https://svnweb.freebsd.org/changeset/base/354708 >>>>>=20 >>>>> Log: >>>>> For idle TCP sessions using the CUBIC congestio control, reset = ssthresh >>>>> to the higher of the previous ssthresh or 3/4 of the prior cwnd. >>>>>=20 >>>>> Submitted by: Richard Scheffenegger >>>>> Reviewed by: Cheng Cui >>>>> Differential Revision: https://reviews.freebsd.org/D18982 >>>>>=20 >>>>> Modified: >>>>> head/sys/netinet/cc/cc_cubic.c >>>>=20 >>>> Are stable/12,11 affected by this too? >>>=20 >>> I am sitting here with Richard at IETF and the answer is yes, >>> this is an oversight since the code came into FreeBSD, >>> this commit should be merged to back to 11 and 12. >> Hi Rod, >>=20 >> do you suggest to MFC >>=20 >> * https://svnweb.freebsd.org/changeset/base/354772 >> * https://svnweb.freebsd.org/changeset/base/354773 >> * https://svnweb.freebsd.org/changeset/base/354774 >>=20 >> At the last transport telco we decided that the corresponding review = are >> open for too long without an explicit approval, but the changes = should >> go into the tree. So we agree that I commit it to head without a plan >> for MFCing. >>=20 >> If you say the changes are good and they should be MFCed, I'll MFC = them. >=20 > Lets bake them in head for 30 days or 4 weeks in the hopes that they = get some testing. OK. Best regards Michael > Given that these issues have been here for so long, and no one has = reported > any of these problems leads me to believe the code is simply unused = and > if we broke something it would not get found no mater how long we = waited. >=20 >>=20 >> Best regards >> Michael >>>=20 >>>>> Modified: head/sys/netinet/cc/cc_cubic.c >>>>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>>>> --- head/sys/netinet/cc/cc_cubic.c Thu Nov 14 15:10:01 2019 = (r354707) >>>>> +++ head/sys/netinet/cc/cc_cubic.c Thu Nov 14 16:28:02 2019 = (r354708) >>>>> @@ -78,6 +78,7 @@ static int cubic_mod_init(void); >>>>> static void cubic_post_recovery(struct cc_var *ccv); >>>>> static void cubic_record_rtt(struct cc_var *ccv); >>>>> static void cubic_ssthresh_update(struct cc_var *ccv); >>>>> +static void cubic_after_idle(struct cc_var *ccv); >>>>>=20 >>>>> struct cubic { >>>>> /* Cubic K in fixed point form with CUBIC_SHIFT worth of = precision. */ >>>>> @@ -112,6 +113,7 @@ struct cc_algo cubic_cc_algo =3D { >>>>> .conn_init =3D cubic_conn_init, >>>>> .mod_init =3D cubic_mod_init, >>>>> .post_recovery =3D cubic_post_recovery, >>>>> + .after_idle =3D cubic_after_idle, >>>>> }; >>>>>=20 >>>>> static void >>>>> @@ -192,7 +194,24 @@ cubic_ack_received(struct cc_var *ccv, = uint16_t type) >>>>> } >>>>> } >>>>>=20 >>>>> +/* >>>>> + * This is a Cubic specific implementation of after_idle. >>>>> + * - Reset cwnd by calling New Reno implementation of = after_idle. >>>>> + * - Reset t_last_cong. >>>>> + */ >>>>> static void >>>>> +cubic_after_idle(struct cc_var *ccv) >>>>> +{ >>>>> + struct cubic *cubic_data; >>>>> + >>>>> + cubic_data =3D ccv->cc_data; >>>>> + >>>>> + newreno_cc_algo.after_idle(ccv); >>>>> + cubic_data->t_last_cong =3D ticks; >>>>> +} >>>>> + >>>>> + >>>>> +static void >>>>> cubic_cb_destroy(struct cc_var *ccv) >>>>> { >>>>> free(ccv->cc_data, M_CUBIC); >>>>> @@ -287,9 +306,6 @@ cubic_conn_init(struct cc_var *ccv) >>>>> static int >>>>> cubic_mod_init(void) >>>>> { >>>>> - >>>>> - cubic_cc_algo.after_idle =3D newreno_cc_algo.after_idle; >>>>> - >>>>> return (0); >>>>> } >>>>>=20 >>>>> _______________________________________________ >>>>> svn-src-head@freebsd.org mailing list >>>>> https://lists.freebsd.org/mailman/listinfo/svn-src-head >>>>> To unsubscribe, send any mail to = "svn-src-head-unsubscribe@freebsd.org" >>>=20 >>> --=20 >>> Rod Grimes = rgrimes@freebsd.org >>=20 >>=20 >>=20 >=20 > --=20 > Rod Grimes = rgrimes@freebsd.org