Skip to content

Commit

Permalink
Improve TCP CUBIC specific after idle reaction.
Browse files Browse the repository at this point in the history
The adjustments are inspired by the Linux stack, which has had a
functionally equivalent implementation for more than a decade now.

Submitted by:		Richard Scheffenegger
Reviewed by:		Cheng Cui
Differential Revision:	https://reviews.freebsd.org/D18982
  • Loading branch information
tuexen committed Nov 16, 2019
1 parent 18a1c72 commit a132717
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions sys/netinet/cc/cc_cubic.c
Expand Up @@ -190,6 +190,8 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type)
if (cubic_data->num_cong_events == 0 &&
cubic_data->max_cwnd < CCV(ccv, snd_cwnd))
cubic_data->max_cwnd = CCV(ccv, snd_cwnd);
cubic_data->K = cubic_k(cubic_data->max_cwnd /
CCV(ccv, t_maxseg));
}
}
}
Expand All @@ -206,6 +208,9 @@ cubic_after_idle(struct cc_var *ccv)

cubic_data = ccv->cc_data;

cubic_data->max_cwnd = ulmax(cubic_data->max_cwnd, CCV(ccv, snd_cwnd));
cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, t_maxseg));

newreno_cc_algo.after_idle(ccv);
cubic_data->t_last_cong = ticks;
}
Expand Down

0 comments on commit a132717

Please sign in to comment.