Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Nov 2019 02:51:12 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
To:        koobs@freebsd.org
Cc:        Michael Tuexen <tuexen@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:  <201911161051.xAGApCnH056767@gndrsh.dnsmgr.net>
In-Reply-To: <0a9e49e9-b81a-3367-2d7d-6d748e83f36d@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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.

> > 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911161051.xAGApCnH056767>