diff options
author | David Howells <dhowells@redhat.com> | 2022-11-11 13:47:35 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2022-12-01 13:36:42 +0000 |
commit | 32cf8edb079a6a687a2b5dba39a813a0bbd0ddf9 (patch) | |
tree | acbf8a435043daa16df69c2d9f2fd3ea769cc788 /net/rxrpc/call_event.c | |
parent | 3dd9c8b5f09fd24652729a3da5c5efa3ec2c4590 (diff) | |
download | lwn-32cf8edb079a6a687a2b5dba39a813a0bbd0ddf9.tar.gz lwn-32cf8edb079a6a687a2b5dba39a813a0bbd0ddf9.zip |
rxrpc: Trace/count transmission underflows and cwnd resets
Add a tracepoint to log when a cwnd reset occurs due to lack of
transmission on a call.
Add stat counters to count transmission underflows (ie. when we have tx
window space, but sendmsg doesn't manage to keep up), cwnd resets and
transmission failures.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Diffstat (limited to 'net/rxrpc/call_event.c')
-rw-r--r-- | net/rxrpc/call_event.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/rxrpc/call_event.c b/net/rxrpc/call_event.c index 18591f9ecc6a..9f1e490ab976 100644 --- a/net/rxrpc/call_event.c +++ b/net/rxrpc/call_event.c @@ -317,8 +317,10 @@ static void rxrpc_transmit_some_data(struct rxrpc_call *call) case RXRPC_CALL_CLIENT_AWAIT_REPLY: if (!rxrpc_tx_window_has_space(call)) return; - if (list_empty(&call->tx_sendmsg)) + if (list_empty(&call->tx_sendmsg)) { + rxrpc_inc_stat(call->rxnet, stat_tx_data_underflow); return; + } rxrpc_decant_prepared_tx(call); break; default: |