Lines Matching refs:rs
80 struct rate_sample *rs) in tcp_rate_skb_delivered() argument
90 if (!rs->prior_delivered || in tcp_rate_skb_delivered()
92 scb->end_seq, rs->last_end_seq)) { in tcp_rate_skb_delivered()
93 rs->prior_delivered = scb->tx.delivered; in tcp_rate_skb_delivered()
94 rs->prior_mstamp = scb->tx.delivered_mstamp; in tcp_rate_skb_delivered()
95 rs->is_app_limited = scb->tx.is_app_limited; in tcp_rate_skb_delivered()
96 rs->is_retrans = scb->sacked & TCPCB_RETRANS; in tcp_rate_skb_delivered()
97 rs->last_end_seq = scb->end_seq; in tcp_rate_skb_delivered()
102 rs->interval_us = tcp_stamp_us_delta(tp->first_tx_mstamp, in tcp_rate_skb_delivered()
116 bool is_sack_reneg, struct rate_sample *rs) in tcp_rate_gen() argument
132 rs->acked_sacked = delivered; /* freshly ACKed or SACKed */ in tcp_rate_gen()
133 rs->losses = lost; /* freshly marked lost */ in tcp_rate_gen()
139 if (!rs->prior_mstamp || is_sack_reneg) { in tcp_rate_gen()
140 rs->delivered = -1; in tcp_rate_gen()
141 rs->interval_us = -1; in tcp_rate_gen()
144 rs->delivered = tp->delivered - rs->prior_delivered; in tcp_rate_gen()
151 snd_us = rs->interval_us; /* send phase */ in tcp_rate_gen()
153 rs->prior_mstamp); /* ack phase */ in tcp_rate_gen()
154 rs->interval_us = max(snd_us, ack_us); in tcp_rate_gen()
157 rs->snd_interval_us = snd_us; in tcp_rate_gen()
158 rs->rcv_interval_us = ack_us; in tcp_rate_gen()
167 if (unlikely(rs->interval_us < tcp_min_rtt(tp))) { in tcp_rate_gen()
168 if (!rs->is_retrans) in tcp_rate_gen()
170 rs->interval_us, rs->delivered, in tcp_rate_gen()
173 rs->interval_us = -1; in tcp_rate_gen()
178 if (!rs->is_app_limited || in tcp_rate_gen()
179 ((u64)rs->delivered * tp->rate_interval_us >= in tcp_rate_gen()
180 (u64)tp->rate_delivered * rs->interval_us)) { in tcp_rate_gen()
181 tp->rate_delivered = rs->delivered; in tcp_rate_gen()
182 tp->rate_interval_us = rs->interval_us; in tcp_rate_gen()
183 tp->rate_app_limited = rs->is_app_limited; in tcp_rate_gen()