summaryrefslogtreecommitdiffstats
path: root/net/rxrpc
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-09-23 13:58:55 +0100
committerDavid Howells <dhowells@redhat.com>2016-09-23 15:49:19 +0100
commitc6672e3fe4a641bf302d6309ab4d5ee55648e758 (patch)
treef82db3e6572fae4c20d0e83edd5e119928e75243 /net/rxrpc
parent9c7ad434441da6b5d4ac878cac368fbdaec99b56 (diff)
downloadlinux-c6672e3fe4a641bf302d6309ab4d5ee55648e758.tar.gz
linux-c6672e3fe4a641bf302d6309ab4d5ee55648e758.tar.bz2
linux-c6672e3fe4a641bf302d6309ab4d5ee55648e758.zip
rxrpc: Add a tracepoint to log which packets will be retransmitted
Add a tracepoint to log in rxrpc_resend() which packets will be retransmitted. Note that if a positive ACK comes in whilst we have dropped the lock to retransmit another packet, the actual retransmission may not happen, though some of the effects will (such as altering the congestion management). Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc')
-rw-r--r--net/rxrpc/call_event.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/call_event.c b/net/rxrpc/call_event.c
index fd5b11339ffb..a78a92fe5d77 100644
--- a/net/rxrpc/call_event.c
+++ b/net/rxrpc/call_event.c
@@ -196,6 +196,8 @@ static void rxrpc_resend(struct rxrpc_call *call)
/* Okay, we need to retransmit a packet. */
call->rxtx_annotations[ix] = RXRPC_TX_ANNO_RETRANS | annotation;
+ trace_rxrpc_retransmit(call, seq, annotation | anno_type,
+ ktime_to_ns(ktime_sub(skb->tstamp, max_age)));
}
resend_at = ktime_sub(ktime_add_ms(oldest, rxrpc_resend_timeout), now);