From owner-svn-src-all@freebsd.org Sat Nov 16 12:33:16 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 3D5BC1C4841; Sat, 16 Nov 2019 12:33:16 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47FZPl6X7Rz3Kv9; Sat, 16 Nov 2019 12:33:15 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id xAGCXCDl057444; Sat, 16 Nov 2019 04:33:12 -0800 (PST) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id xAGCXCNt057443; Sat, 16 Nov 2019 04:33:12 -0800 (PST) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201911161233.xAGCXCNt057443@gndrsh.dnsmgr.net> Subject: Re: svn commit: r354708 - head/sys/netinet/cc In-Reply-To: <212A29FD-686A-4ED1-93B0-B7C2453F9812@freebsd.org> To: Michael Tuexen Date: Sat, 16 Nov 2019 04:33:12 -0800 (PST) CC: rgrimes@freebsd.org, koobs@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 47FZPl6X7Rz3Kv9 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-5.97 / 15.00]; NEURAL_HAM_MEDIUM(-0.97)[-0.972,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,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 12:33:16 -0000 > > On 16. Nov 2019, at 11:51, Rodney W. Grimes wrote: > > > >> 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 > >>> > >>> 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. > >>> > >>> Submitted by: Richard Scheffenegger > >>> Reviewed by: Cheng Cui > >>> Differential Revision: https://reviews.freebsd.org/D18982 > >>> > >>> Modified: > >>> head/sys/netinet/cc/cc_cubic.c > >> > >> Are stable/12,11 affected by this too? > > > > 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, > > do you suggest to MFC > > * https://svnweb.freebsd.org/changeset/base/354772 > * https://svnweb.freebsd.org/changeset/base/354773 > * https://svnweb.freebsd.org/changeset/base/354774 > > 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. > > If you say the changes are good and they should be MFCed, I'll MFC them. Lets bake them in head for 30 days or 4 weeks in the hopes that they get some testing. 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. > > Best regards > Michael > > > >>> Modified: head/sys/netinet/cc/cc_cubic.c > >>> ============================================================================== > >>> --- 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); > >>> > >>> struct cubic { > >>> /* Cubic K in fixed point form with CUBIC_SHIFT worth of precision. */ > >>> @@ -112,6 +113,7 @@ struct cc_algo cubic_cc_algo = { > >>> .conn_init = cubic_conn_init, > >>> .mod_init = cubic_mod_init, > >>> .post_recovery = cubic_post_recovery, > >>> + .after_idle = cubic_after_idle, > >>> }; > >>> > >>> static void > >>> @@ -192,7 +194,24 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type) > >>> } > >>> } > >>> > >>> +/* > >>> + * 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 = ccv->cc_data; > >>> + > >>> + newreno_cc_algo.after_idle(ccv); > >>> + cubic_data->t_last_cong = 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 = newreno_cc_algo.after_idle; > >>> - > >>> return (0); > >>> } > >>> > >>> _______________________________________________ > >>> 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" > > > > -- > > Rod Grimes rgrimes@freebsd.org > > > -- Rod Grimes rgrimes@freebsd.org