svn commit: r354708 - head/sys/netinet/cc
Michael Tuexen
tuexen at freebsd.org
Sat Nov 16 13:56:23 UTC 2019
> On 16. Nov 2019, at 13:33, Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net> wrote:
>
>>> On 16. Nov 2019, at 11:51, Rodney W. Grimes <freebsd at 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 at freebsd.org mailing list
>>>>> https://lists.freebsd.org/mailman/listinfo/svn-src-head
>>>>> To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>>>
>>> --
>>> Rod Grimes rgrimes at freebsd.org
>>
>>
>>
>
> --
> Rod Grimes rgrimes at freebsd.org
More information about the svn-src-all
mailing list