Lines Matching refs:cwnd
81 MODULE_PARM_DESC(hystart_low_window, "lower bound cwnd for hybrid slow start");
87 u32 cnt; /* increase cwnd by 1 after ACKs */
97 u32 tcp_cwnd; /* estimated tcp cwnd */
152 * Shift epoch_start to keep cwnd growth to cubic curve.
214 static inline void bictcp_update(struct bictcp *ca, u32 cwnd, u32 acked)
221 if (ca->last_cwnd == cwnd &&
226 * On all cwnd reduction events, ca->epoch_start is set to 0,
232 ca->last_cwnd = cwnd;
238 ca->tcp_cwnd = cwnd; /* syn with cubic */
240 if (ca->last_max_cwnd <= cwnd) {
242 ca->bic_origin_point = cwnd;
245 * (wmax-cwnd) * (srtt>>3 / HZ) / c * 2^(3*bictcp_HZ)
248 * (ca->last_max_cwnd - cwnd));
264 * if the cwnd < 1 million packets !!!
286 if (bic_target > cwnd) {
287 ca->cnt = cwnd / (bic_target - cwnd);
289 ca->cnt = 100 * cwnd; /* very small increment*/
297 ca->cnt = 20; /* increase cwnd 5% per RTT */
304 delta = (cwnd * scale) >> 3;
305 while (ca->ack_cnt > delta) { /* update tcp cwnd */
310 if (ca->tcp_cwnd > cwnd) { /* if bic is slower than tcp */
311 delta = ca->tcp_cwnd - cwnd;
312 max_cnt = cwnd / delta;
318 /* The maximum rate of cwnd increase CUBIC allows is 1 packet per
319 * 2 packets ACKed, meaning cwnd grows at 1.5x per RTT.
395 /* hystart triggers when cwnd is larger than some threshold */
418 pr_debug("hystart_ack_train (%u > %u) delay_min %u (+ ack_delay %u) cwnd %u\n",
519 /* calculate the "K" for (wmax-cwnd) = c/rtt * K^3
520 * so K = cubic_root( (wmax-cwnd)*rtt/c )
527 * cwnd < 1 million packets