Date: Sat, 16 Nov 2019 14:56:14 +0100 From: Michael Tuexen <tuexen@freebsd.org> To: rgrimes@freebsd.org Cc: koobs@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r354708 - head/sys/netinet/cc Message-ID: <2CA1817F-A637-4E9D-8E84-505A00EB127D@freebsd.org> In-Reply-To: <201911161233.xAGCXCNt057443@gndrsh.dnsmgr.net> References: <201911161233.xAGCXCNt057443@gndrsh.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 16. Nov 2019, at 13:33, Rodney W. Grimes <freebsd@gndrsh.dnsmgr.net> wrote: > >>> On 16. Nov 2019, at 11:51, Rodney W. Grimes <freebsd@gndrsh.dnsmgr.net> 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. 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. > >> >> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2CA1817F-A637-4E9D-8E84-505A00EB127D>
