Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/cc/cc_cubic.c
Show First 20 Lines • Show All 179 Lines • ▼ Show 20 Lines | if (CCV(ccv, snd_cwnd) <= CCV(ccv, snd_ssthresh) || | ||||
if (w_cubic_next < w_tf) { | if (w_cubic_next < w_tf) { | ||||
/* | /* | ||||
* TCP-friendly region, follow tf | * TCP-friendly region, follow tf | ||||
* cwnd growth. | * cwnd growth. | ||||
*/ | */ | ||||
if (CCV(ccv, snd_cwnd) < w_tf) | if (CCV(ccv, snd_cwnd) < w_tf) | ||||
CCV(ccv, snd_cwnd) = ulmin(w_tf, INT_MAX); | CCV(ccv, snd_cwnd) = ulmin(w_tf, INT_MAX); | ||||
} | } else if (CCV(ccv, snd_cwnd) < w_cubic_next) { | ||||
else if (CCV(ccv, snd_cwnd) < w_cubic_next) { | |||||
/* | /* | ||||
* Concave or convex region, follow CUBIC | * Concave or convex region, follow CUBIC | ||||
* cwnd growth. | * cwnd growth. | ||||
* Only update snd_cwnd, if it doesn't shrink. | |||||
*/ | */ | ||||
if (V_tcp_do_rfc3465) | if (V_tcp_do_rfc3465) | ||||
CCV(ccv, snd_cwnd) = ulmin(w_cubic_next, | CCV(ccv, snd_cwnd) = ulmin(w_cubic_next, | ||||
INT_MAX); | INT_MAX); | ||||
else | else | ||||
CCV(ccv, snd_cwnd) += ulmax(1, | CCV(ccv, snd_cwnd) += ulmax(1, | ||||
((ulmin(w_cubic_next, INT_MAX) - | ((ulmin(w_cubic_next, INT_MAX) - | ||||
CCV(ccv, snd_cwnd)) * | CCV(ccv, snd_cwnd)) * | ||||
▲ Show 20 Lines • Show All 275 Lines • Show Last 20 Lines |