summaryrefslogtreecommitdiffstats
path: root/include/trace/events/rxrpc.h
diff options
context:
space:
mode:
authorDavid Howells2016-09-23 14:58:55 +0200
committerDavid Howells2016-09-23 16:49:19 +0200
commitc6672e3fe4a641bf302d6309ab4d5ee55648e758 (patch)
treef82db3e6572fae4c20d0e83edd5e119928e75243 /include/trace/events/rxrpc.h
parentrxrpc: Add tracepoint for ACK proposal (diff)
downloadkernel-qcow2-linux-c6672e3fe4a641bf302d6309ab4d5ee55648e758.tar.gz
kernel-qcow2-linux-c6672e3fe4a641bf302d6309ab4d5ee55648e758.tar.xz
kernel-qcow2-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 'include/trace/events/rxrpc.h')
-rw-r--r--include/trace/events/rxrpc.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index d67a8c6b085a..56475497043d 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -543,6 +543,33 @@ TRACE_EVENT(rxrpc_propose_ack,
rxrpc_propose_ack_outcomes[__entry->outcome])
);
+TRACE_EVENT(rxrpc_retransmit,
+ TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t seq, u8 annotation,
+ s64 expiry),
+
+ TP_ARGS(call, seq, annotation, expiry),
+
+ TP_STRUCT__entry(
+ __field(struct rxrpc_call *, call )
+ __field(rxrpc_seq_t, seq )
+ __field(u8, annotation )
+ __field(s64, expiry )
+ ),
+
+ TP_fast_assign(
+ __entry->call = call;
+ __entry->seq = seq;
+ __entry->annotation = annotation;
+ __entry->expiry = expiry;
+ ),
+
+ TP_printk("c=%p q=%x a=%02x xp=%lld",
+ __entry->call,
+ __entry->seq,
+ __entry->annotation,
+ __entry->expiry)
+ );
+
#endif /* _TRACE_RXRPC_H */
/* This part must be outside protection */