Lines Matching refs:ca
60 struct illinois *ca = inet_csk_ca(sk);
62 ca->end_seq = tp->snd_nxt;
63 ca->cnt_rtt = 0;
64 ca->sum_rtt = 0;
71 struct illinois *ca = inet_csk_ca(sk);
73 ca->alpha = ALPHA_MAX;
74 ca->beta = BETA_BASE;
75 ca->base_rtt = 0x7fffffff;
76 ca->max_rtt = 0;
78 ca->acked = 0;
79 ca->rtt_low = 0;
80 ca->rtt_above = 0;
88 struct illinois *ca = inet_csk_ca(sk);
91 ca->acked = sample->pkts_acked;
102 if (ca->base_rtt > rtt_us)
103 ca->base_rtt = rtt_us;
106 if (ca->max_rtt < rtt_us)
107 ca->max_rtt = rtt_us;
109 ++ca->cnt_rtt;
110 ca->sum_rtt += rtt_us;
114 static inline u32 max_delay(const struct illinois *ca)
116 return ca->max_rtt - ca->base_rtt;
120 static inline u32 avg_delay(const struct illinois *ca)
122 u64 t = ca->sum_rtt;
124 do_div(t, ca->cnt_rtt);
125 return t - ca->base_rtt;
140 static u32 alpha(struct illinois *ca, u32 da, u32 dm)
146 if (!ca->rtt_above)
152 if (++ca->rtt_low < theta)
153 return ca->alpha;
155 ca->rtt_low = 0;
156 ca->rtt_above = 0;
160 ca->rtt_above = 1;
225 struct illinois *ca = inet_csk_ca(sk);
228 ca->alpha = ALPHA_BASE;
229 ca->beta = BETA_BASE;
230 } else if (ca->cnt_rtt > 0) {
231 u32 dm = max_delay(ca);
232 u32 da = avg_delay(ca);
234 ca->alpha = alpha(ca, da, dm);
235 ca->beta = beta(da, dm);
246 struct illinois *ca = inet_csk_ca(sk);
249 ca->alpha = ALPHA_BASE;
250 ca->beta = BETA_BASE;
251 ca->rtt_low = 0;
252 ca->rtt_above = 0;
263 struct illinois *ca = inet_csk_ca(sk);
265 if (after(ack, ca->end_seq))
280 tp->snd_cwnd_cnt += ca->acked;
281 ca->acked = 1;
286 delta = (tp->snd_cwnd_cnt * ca->alpha) >> ALPHA_SHIFT;
298 struct illinois *ca = inet_csk_ca(sk);
302 decr = (tcp_snd_cwnd(tp) * ca->beta) >> BETA_SHIFT;
310 const struct illinois *ca = inet_csk_ca(sk);
314 info->vegas.tcpv_rttcnt = ca->cnt_rtt;
315 info->vegas.tcpv_minrtt = ca->base_rtt;
319 u64 t = ca->sum_rtt;