Lines Matching refs:tq

24 				 struct rxrpc_txqueue *tq, unsigned int ix)  in rxrpc_rack_mark_lost()  argument
26 if (__test_and_set_bit(ix, &tq->segment_lost)) { in rxrpc_rack_mark_lost()
27 if (__test_and_clear_bit(ix, &tq->segment_retransmitted)) in rxrpc_rack_mark_lost()
32 tq->segment_xmit_ts[ix] = UINT_MAX; in rxrpc_rack_mark_lost()
38 static ktime_t rxrpc_get_xmit_ts(const struct rxrpc_txqueue *tq, unsigned int ix) in rxrpc_get_xmit_ts() argument
40 if (tq->segment_xmit_ts[ix] == UINT_MAX) in rxrpc_get_xmit_ts()
42 return ktime_add_us(tq->xmit_ts_base, tq->segment_xmit_ts[ix]); in rxrpc_get_xmit_ts()
49 static unsigned long rxrpc_tq_nacks(const struct rxrpc_txqueue *tq) in rxrpc_tq_nacks() argument
51 unsigned long nacks = ~tq->segment_acked; in rxrpc_tq_nacks()
53 if (tq->nr_reported_acks < RXRPC_NR_TXQUEUE) in rxrpc_tq_nacks()
54 nacks &= (1UL << tq->nr_reported_acks) - 1; in rxrpc_tq_nacks()
64 struct rxrpc_txqueue *tq, in rxrpc_rack_update() argument
67 rxrpc_seq_t seq = tq->qbase + ix; in rxrpc_rack_update()
68 ktime_t xmit_ts = rxrpc_get_xmit_ts(tq, ix); in rxrpc_rack_update()
71 if (__test_and_clear_bit(ix, &tq->segment_lost)) in rxrpc_rack_update()
74 if (test_bit(ix, &tq->segment_retransmitted)) { in rxrpc_rack_update()
76 if (before(call->acks_highest_serial, tq->segment_serial[ix])) in rxrpc_rack_update()
105 struct rxrpc_txqueue *tq, in rxrpc_rack_detect_reordering() argument
108 rxrpc_seq_t seq = tq->qbase + ix; in rxrpc_rack_detect_reordering()
117 test_bit(ix, &tq->segment_retransmitted)) in rxrpc_rack_detect_reordering()
123 struct rxrpc_txqueue *tq, in rxrpc_input_rack_one() argument
126 rxrpc_rack_update(call, summary, tq, ix); in rxrpc_input_rack_one()
127 rxrpc_rack_detect_reordering(call, summary, tq, ix); in rxrpc_input_rack_one()
132 struct rxrpc_txqueue *tq, in rxrpc_input_rack() argument
139 rxrpc_input_rack_one(call, summary, tq, ix); in rxrpc_input_rack()
200 struct rxrpc_txqueue *tq; in rxrpc_rack_detect_loss() local
207 for (tq = call->tx_queue; tq; tq = tq->next) { in rxrpc_rack_detect_loss()
208 unsigned long nacks = rxrpc_tq_nacks(tq); in rxrpc_rack_detect_loss()
210 if (after(tq->qbase, call->tx_transmitted)) in rxrpc_rack_detect_loss()
212 trace_rxrpc_rack_scan_loss_tq(call, tq, nacks); in rxrpc_rack_detect_loss()
215 nacks &= ~tq->segment_lost | tq->segment_retransmitted; in rxrpc_rack_detect_loss()
219 rxrpc_seq_t seq = tq->qbase + ix; in rxrpc_rack_detect_loss()
221 ktime_t xmit_ts = rxrpc_get_xmit_ts(tq, ix); in rxrpc_rack_detect_loss()
229 rxrpc_rack_mark_lost(call, tq, ix); in rxrpc_rack_detect_loss()
262 struct rxrpc_txqueue *tq; in rxrpc_rack_mark_losses_on_rto() local
267 for (tq = call->tx_queue; tq; tq = tq->next) { in rxrpc_rack_mark_losses_on_rto()
268 unsigned long unacked = ~tq->segment_acked; in rxrpc_rack_mark_losses_on_rto()
270 trace_rxrpc_rack_mark_loss_tq(call, tq); in rxrpc_rack_mark_losses_on_rto()
273 rxrpc_seq_t seq = tq->qbase + ix; in rxrpc_rack_mark_losses_on_rto()
274 ktime_t xmit_ts = rxrpc_get_xmit_ts(tq, ix); in rxrpc_rack_mark_losses_on_rto()
282 rxrpc_rack_mark_lost(call, tq, ix); in rxrpc_rack_mark_losses_on_rto()