Lines Matching full:summary
23 struct rxrpc_ack_summary *summary, in rxrpc_congestion_management() argument
31 summary->flight_size = in rxrpc_congestion_management()
32 (call->tx_top - call->acks_hard_ack) - summary->nr_acks; in rxrpc_congestion_management()
35 summary->retrans_timeo = true; in rxrpc_congestion_management()
37 summary->flight_size / 2, 2); in rxrpc_congestion_management()
47 cumulative_acks += summary->nr_new_acks; in rxrpc_congestion_management()
48 cumulative_acks += summary->nr_rot_new_acks; in rxrpc_congestion_management()
52 summary->mode = call->cong_mode; in rxrpc_congestion_management()
53 summary->cwnd = call->cong_cwnd; in rxrpc_congestion_management()
54 summary->ssthresh = call->cong_ssthresh; in rxrpc_congestion_management()
55 summary->cumulative_acks = cumulative_acks; in rxrpc_congestion_management()
56 summary->dup_acks = call->cong_dup_acks; in rxrpc_congestion_management()
60 if (summary->saw_nacks) in rxrpc_congestion_management()
62 if (summary->cumulative_acks > 0) in rxrpc_congestion_management()
71 if (summary->saw_nacks) in rxrpc_congestion_management()
90 if (!summary->saw_nacks) in rxrpc_congestion_management()
93 if (summary->new_low_nack) { in rxrpc_congestion_management()
108 summary->flight_size / 2, 2); in rxrpc_congestion_management()
116 if (!summary->new_low_nack) { in rxrpc_congestion_management()
117 if (summary->nr_new_acks == 0) in rxrpc_congestion_management()
128 if (!summary->saw_nacks) in rxrpc_congestion_management()
154 trace_rxrpc_congest(call, summary, acked_serial, change); in rxrpc_congestion_management()
170 summary->nr_acks != call->tx_top - call->acks_hard_ack) { in rxrpc_congestion_management()
208 struct rxrpc_ack_summary *summary) in rxrpc_rotate_tx_window() argument
216 summary->nr_rot_new_acks++; in rxrpc_rotate_tx_window()
233 summary->new_low_nack = true; in rxrpc_rotate_tx_window()
287 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_receiving_reply() local
300 if (!rxrpc_rotate_tx_window(call, top, &summary)) { in rxrpc_receiving_reply()
720 struct rxrpc_ack_summary *summary) in rxrpc_input_soft_acks() argument
726 summary->nr_acks++; in rxrpc_input_soft_acks()
727 summary->nr_new_acks++; in rxrpc_input_soft_acks()
729 if (!summary->saw_nacks && in rxrpc_input_soft_acks()
732 summary->new_low_nack = true; in rxrpc_input_soft_acks()
734 summary->saw_nacks = true; in rxrpc_input_soft_acks()
775 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_input_ack() local
796 summary.ack_reason = (ack.reason < RXRPC_ACK__INVALID ? in rxrpc_input_ack()
801 summary.ack_reason, nr_acks); in rxrpc_input_ack()
910 if (rxrpc_rotate_tx_window(call, hard_ack, &summary)) { in rxrpc_input_ack()
920 nr_acks, &summary); in rxrpc_input_ack()
924 summary.nr_acks == call->tx_top - hard_ack && in rxrpc_input_ack()
929 rxrpc_congestion_management(call, skb, &summary, acked_serial); in rxrpc_input_ack()
937 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_input_ackall() local
939 if (rxrpc_rotate_tx_window(call, call->tx_top, &summary)) in rxrpc_input_ackall()