Lines Matching full:summary
34 struct rxrpc_ack_summary *summary, in rxrpc_congestion_management() argument
42 summary->flight_size = in rxrpc_congestion_management()
43 (call->tx_top - call->acks_hard_ack) - summary->nr_acks; in rxrpc_congestion_management()
46 summary->retrans_timeo = true; in rxrpc_congestion_management()
48 summary->flight_size / 2, 2); in rxrpc_congestion_management()
58 cumulative_acks += summary->nr_new_acks; in rxrpc_congestion_management()
62 summary->cwnd = call->cong_cwnd; in rxrpc_congestion_management()
63 summary->ssthresh = call->cong_ssthresh; in rxrpc_congestion_management()
64 summary->cumulative_acks = cumulative_acks; in rxrpc_congestion_management()
65 summary->dup_acks = call->cong_dup_acks; in rxrpc_congestion_management()
69 if (summary->saw_nacks) in rxrpc_congestion_management()
71 if (summary->cumulative_acks > 0) in rxrpc_congestion_management()
80 if (summary->saw_nacks) in rxrpc_congestion_management()
99 if (!summary->saw_nacks) in rxrpc_congestion_management()
102 if (summary->new_low_nack) { in rxrpc_congestion_management()
117 summary->flight_size / 2, 2); in rxrpc_congestion_management()
125 if (!summary->new_low_nack) { in rxrpc_congestion_management()
126 if (summary->nr_new_acks == 0) in rxrpc_congestion_management()
137 if (!summary->saw_nacks) in rxrpc_congestion_management()
163 summary->mode = call->cong_mode; in rxrpc_congestion_management()
164 trace_rxrpc_congest(call, summary, acked_serial, change); in rxrpc_congestion_management()
180 summary->nr_acks != call->tx_top - call->acks_hard_ack) { in rxrpc_congestion_management()
218 struct rxrpc_ack_summary *summary) in rxrpc_rotate_tx_window() argument
242 summary->new_low_nack = true; in rxrpc_rotate_tx_window()
304 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_receiving_reply() local
313 if (!rxrpc_rotate_tx_window(call, top, &summary)) { in rxrpc_receiving_reply()
730 struct rxrpc_ack_summary *summary, in rxrpc_input_check_prev_ack() argument
740 summary->nr_new_acks += sp->ack.nr_nacks; in rxrpc_input_check_prev_ack()
741 summary->nr_new_acks += seq - (old_seq + sp->ack.nr_acks); in rxrpc_input_check_prev_ack()
742 summary->nr_retained_nacks = 0; in rxrpc_input_check_prev_ack()
744 summary->nr_retained_nacks = sp->ack.nr_nacks; in rxrpc_input_check_prev_ack()
755 summary->nr_new_acks += new_acks; in rxrpc_input_check_prev_ack()
756 summary->nr_retained_nacks = retained_nacks; in rxrpc_input_check_prev_ack()
772 struct rxrpc_ack_summary *summary, in rxrpc_input_soft_acks() argument
784 summary->nr_acks++; in rxrpc_input_soft_acks()
786 summary->nr_new_acks++; in rxrpc_input_soft_acks()
788 summary->saw_nacks = true; in rxrpc_input_soft_acks()
793 summary->nr_new_nacks++; in rxrpc_input_soft_acks()
805 summary->new_low_nack = true; in rxrpc_input_soft_acks()
813 if (old_nacks < summary->nr_retained_nacks) in rxrpc_input_soft_acks()
814 summary->nr_new_acks += summary->nr_retained_nacks - old_nacks; in rxrpc_input_soft_acks()
815 summary->nr_retained_nacks = old_nacks; in rxrpc_input_soft_acks()
854 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_input_ack() local
871 summary.ack_reason = (sp->ack.reason < RXRPC_ACK__INVALID ? in rxrpc_input_ack()
876 summary.ack_reason, nr_acks); in rxrpc_input_ack()
877 rxrpc_inc_stat(call->rxnet, stat_rx_acks[summary.ack_reason]); in rxrpc_input_ack()
880 switch (summary.ack_reason) { in rxrpc_input_ack()
900 if (unlikely(summary.ack_reason == RXRPC_ACK_EXCEEDS_WINDOW) && in rxrpc_input_ack()
913 if (unlikely(summary.ack_reason == RXRPC_ACK_OUT_OF_SEQUENCE) && in rxrpc_input_ack()
941 since = rxrpc_input_check_prev_ack(call, &summary, first_soft_ack); in rxrpc_input_ack()
945 summary.nr_new_acks = first_soft_ack - call->acks_first_seq; in rxrpc_input_ack()
954 switch (summary.ack_reason) { in rxrpc_input_ack()
988 if (rxrpc_rotate_tx_window(call, hard_ack, &summary)) { in rxrpc_input_ack()
997 rxrpc_input_soft_acks(call, &summary, skb, first_soft_ack, since); in rxrpc_input_ack()
1003 summary.nr_acks == call->tx_top - hard_ack && in rxrpc_input_ack()
1008 rxrpc_congestion_management(call, skb, &summary, acked_serial); in rxrpc_input_ack()
1011 if (summary.ack_reason == RXRPC_ACK_PING) in rxrpc_input_ack()
1024 struct rxrpc_ack_summary summary = { 0 }; in rxrpc_input_ackall() local
1026 if (rxrpc_rotate_tx_window(call, call->tx_top, &summary)) in rxrpc_input_ackall()