mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
rxrpc fixes
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEqG5UsNXhtOCrfGQP+7dXa6fLC2sFAl7rGj4ACgkQ+7dXa6fL
C2sCVw/9ERq99VoSjVGfO+hiU9P0XuqKMPLMIimN+4CiMHqoLPgvZu77ZZmpjpic
WVnMyBkk8/9wumZxiOLtwqTqLf0AYW92N9KW/RGKyH0O/ZGoAVAzmpHwBftd75Af
Wbv5aBH4G0GzdJ8kfByKZwypHyyldJ3RVX3sbLEDFVourDz8odOWB/OzBfXhmMIb
ne9Y7373npEixuEEgbFj5RjAz5xKsaXwtjaAmAvMsxK1UyiZ9PeW8QKmrCpUZyMd
s23d188NmyzxZvRtgtdYrcBpS/JrUHG8Ngxxugu1TmVi/WmAYRL6A72H66swXNR5
vadU4KoG6Z4IDpUMjIbnexYBSDTPe00CG2xD6HLs2jgGffT+vRuON3MINn9iQEo3
+jZ10nauJlDTVJdaFtEE8wjB2Q7QfLO9Jbfd3xI6/i/636+27SDgaKnfYN7yf67S
6LDSV65ENk3SxRndR/SEXAhmFw1ipqZmV7ySva1OzGRO9etQTFb9LyfBOkauWSWl
7BCnC7ONEFkjOfwWGu1RnsWHd5TBechapgAoUcefp1yt+ieh7i51nmfDaNLyxLEj
uqZBzfW6EllLcHpIfjDdtKzpRJhY++4l29GflOPaTHqJvasK8p+3+EyGEVCICEx0
qjKxVDH0ZdX6D2jwQWDdiH4IWGZXNi55nnyzRspriIDoPUKMjY8=
=A5F2
-----END PGP SIGNATURE-----
Merge tag 'rxrpc-fixes-20200618' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
David Howells says:
====================
rxrpc: Performance drop fix and other fixes
Here are three fixes for rxrpc:
(1) Fix a trace symbol mapping. It doesn't seem to let you map to "".
(2) Fix the handling of the remote receive window size when it increases
beyond the size we can support for our transmit window.
(3) Fix a performance drop caused by retransmitted packets being
accidentally marked as already ACK'd.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
2996cbd532
|
|
@ -400,7 +400,7 @@ enum rxrpc_tx_point {
|
|||
EM(rxrpc_cong_begin_retransmission, " Retrans") \
|
||||
EM(rxrpc_cong_cleared_nacks, " Cleared") \
|
||||
EM(rxrpc_cong_new_low_nack, " NewLowN") \
|
||||
EM(rxrpc_cong_no_change, "") \
|
||||
EM(rxrpc_cong_no_change, " -") \
|
||||
EM(rxrpc_cong_progress, " Progres") \
|
||||
EM(rxrpc_cong_retransmit_again, " ReTxAgn") \
|
||||
EM(rxrpc_cong_rtt_window_end, " RttWinE") \
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ static void rxrpc_resend(struct rxrpc_call *call, unsigned long now_j)
|
|||
* confuse things
|
||||
*/
|
||||
annotation &= ~RXRPC_TX_ANNO_MASK;
|
||||
annotation |= RXRPC_TX_ANNO_RESENT;
|
||||
annotation |= RXRPC_TX_ANNO_UNACK | RXRPC_TX_ANNO_RESENT;
|
||||
call->rxtx_annotations[ix] = annotation;
|
||||
|
||||
skb = call->rxtx_buffer[ix];
|
||||
|
|
|
|||
|
|
@ -722,13 +722,12 @@ static void rxrpc_input_ackinfo(struct rxrpc_call *call, struct sk_buff *skb,
|
|||
ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU),
|
||||
rwind, ntohl(ackinfo->jumbo_max));
|
||||
|
||||
if (rwind > RXRPC_RXTX_BUFF_SIZE - 1)
|
||||
rwind = RXRPC_RXTX_BUFF_SIZE - 1;
|
||||
if (call->tx_winsize != rwind) {
|
||||
if (rwind > RXRPC_RXTX_BUFF_SIZE - 1)
|
||||
rwind = RXRPC_RXTX_BUFF_SIZE - 1;
|
||||
if (rwind > call->tx_winsize)
|
||||
wake = true;
|
||||
trace_rxrpc_rx_rwind_change(call, sp->hdr.serial,
|
||||
ntohl(ackinfo->rwind), wake);
|
||||
trace_rxrpc_rx_rwind_change(call, sp->hdr.serial, rwind, wake);
|
||||
call->tx_winsize = rwind;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user