rxrpc: Trace resend
Add a tracepoint to trace packet resend events and to dump the Tx annotation buffer for added illumination. Signed-off-by: David Howells <dhowells@rdhat.com>
This commit is contained in:
parent
5d22d47b9e
commit
827efed6a6
|
@ -420,6 +420,7 @@ rxrpc_rtt_rx_traces;
|
|||
rxrpc_timer_traces;
|
||||
rxrpc_propose_ack_traces;
|
||||
rxrpc_propose_ack_outcomes;
|
||||
rxrpc_congest_modes;
|
||||
rxrpc_congest_changes;
|
||||
|
||||
/*
|
||||
|
@ -1229,6 +1230,29 @@ TRACE_EVENT(rxrpc_connect_call,
|
|||
__entry->call_id)
|
||||
);
|
||||
|
||||
TRACE_EVENT(rxrpc_resend,
|
||||
TP_PROTO(struct rxrpc_call *call, int ix),
|
||||
|
||||
TP_ARGS(call, ix),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(struct rxrpc_call *, call )
|
||||
__field(int, ix )
|
||||
__array(u8, anno, 64 )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->call = call;
|
||||
__entry->ix = ix;
|
||||
memcpy(__entry->anno, call->rxtx_annotations, 64);
|
||||
),
|
||||
|
||||
TP_printk("c=%p ix=%u a=%64phN",
|
||||
__entry->call,
|
||||
__entry->ix,
|
||||
__entry->anno)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_RXRPC_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
|
|
@ -195,6 +195,7 @@ static void rxrpc_resend(struct rxrpc_call *call, unsigned long now_j)
|
|||
* the packets in the Tx buffer we're going to resend and what the new
|
||||
* resend timeout will be.
|
||||
*/
|
||||
trace_rxrpc_resend(call, (cursor + 1) & RXRPC_RXTX_BUFF_MASK);
|
||||
oldest = now;
|
||||
for (seq = cursor + 1; before_eq(seq, top); seq++) {
|
||||
ix = seq & RXRPC_RXTX_BUFF_MASK;
|
||||
|
|
Loading…
Reference in New Issue