Lines Matching refs:cwnd
79 MODULE_PARM_DESC(hystart_low_window, "lower bound cwnd for hybrid slow start");
85 u32 cnt; /* increase cwnd by 1 after ACKs */
95 u32 tcp_cwnd; /* estimated tcp cwnd */
159 * Shift epoch_start to keep cwnd growth to cubic curve.
221 static inline void bictcp_update(struct bictcp *ca, u32 cwnd, u32 acked)
228 if (ca->last_cwnd == cwnd &&
233 * On all cwnd reduction events, ca->epoch_start is set to 0,
239 ca->last_cwnd = cwnd;
245 ca->tcp_cwnd = cwnd; /* syn with cubic */
247 if (ca->last_max_cwnd <= cwnd) {
249 ca->bic_origin_point = cwnd;
252 * (wmax-cwnd) * (srtt>>3 / HZ) / c * 2^(3*bictcp_HZ)
255 * (ca->last_max_cwnd - cwnd));
271 * if the cwnd < 1 million packets !!!
293 if (bic_target > cwnd) {
294 ca->cnt = cwnd / (bic_target - cwnd);
296 ca->cnt = 100 * cwnd; /* very small increment*/
304 ca->cnt = 20; /* increase cwnd 5% per RTT */
311 delta = (cwnd * scale) >> 3;
312 while (ca->ack_cnt > delta) { /* update tcp cwnd */
317 if (ca->tcp_cwnd > cwnd) { /* if bic is slower than tcp */
318 delta = ca->tcp_cwnd - cwnd;
319 max_cnt = cwnd / delta;
325 /* The maximum rate of cwnd increase CUBIC allows is 1 packet per
326 * 2 packets ACKed, meaning cwnd grows at 1.5x per RTT.
421 pr_debug("hystart_ack_train (%u > %u) delay_min %u (+ ack_delay %u) cwnd %u\n",
477 /* hystart triggers when cwnd is larger than some threshold */
508 /* calculate the "K" for (wmax-cwnd) = c/rtt * K^3
509 * so K = cubic_root( (wmax-cwnd)*rtt/c )
516 * cwnd < 1 million packets