Page MenuHomeFreeBSD

D23353.id67264.diff
No OneTemporary

D23353.id67264.diff

Index: sys/netinet/cc/cc_cubic.c
===================================================================
--- sys/netinet/cc/cc_cubic.c
+++ sys/netinet/cc/cc_cubic.c
@@ -366,8 +366,9 @@
CCV(ccv, t_maxseg);
else
/* Update cwnd based on beta and adjusted max_cwnd. */
- CCV(ccv, snd_cwnd) = max(1, ((CUBIC_BETA *
- cubic_data->max_cwnd) >> CUBIC_SHIFT));
+ CCV(ccv, snd_cwnd) = ulmax((cubic_data->max_cwnd *
+ CUBIC_BETA) >> CUBIC_SHIFT,
+ 2 * CCV(ccv, t_maxseg));
}
cubic_data->t_last_cong = ticks;
@@ -433,6 +434,7 @@
cubic_ssthresh_update(struct cc_var *ccv)
{
struct cubic *cubic_data;
+ u_long ssthresh;
cubic_data = ccv->cc_data;
@@ -441,10 +443,11 @@
* subsequent congestion events, set it to cwnd * beta.
*/
if (cubic_data->num_cong_events == 0)
- CCV(ccv, snd_ssthresh) = CCV(ccv, snd_cwnd) >> 1;
+ ssthresh = CCV(ccv, snd_cwnd) >> 1;
else
- CCV(ccv, snd_ssthresh) = ((u_long)CCV(ccv, snd_cwnd) *
+ ssthresh = ((u_long)CCV(ccv, snd_cwnd) *
CUBIC_BETA) >> CUBIC_SHIFT;
+ CCV(ccv, snd_ssthresh) = ulmax(ssthresh, 2 * CCV(ccv, t_maxseg));
}

File Metadata

Mime Type
text/plain
Expires
Fri, May 1, 9:07 AM (8 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32568356
Default Alt Text
D23353.id67264.diff (1 KB)

Event Timeline