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:
@@ -420,6 +420,7 @@ rxrpc_rtt_rx_traces;
|
|||||||
rxrpc_timer_traces;
|
rxrpc_timer_traces;
|
||||||
rxrpc_propose_ack_traces;
|
rxrpc_propose_ack_traces;
|
||||||
rxrpc_propose_ack_outcomes;
|
rxrpc_propose_ack_outcomes;
|
||||||
|
rxrpc_congest_modes;
|
||||||
rxrpc_congest_changes;
|
rxrpc_congest_changes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1229,6 +1230,29 @@ TRACE_EVENT(rxrpc_connect_call,
|
|||||||
__entry->call_id)
|
__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 */
|
#endif /* _TRACE_RXRPC_H */
|
||||||
|
|
||||||
/* This part must be outside protection */
|
/* 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
|
* the packets in the Tx buffer we're going to resend and what the new
|
||||||
* resend timeout will be.
|
* resend timeout will be.
|
||||||
*/
|
*/
|
||||||
|
trace_rxrpc_resend(call, (cursor + 1) & RXRPC_RXTX_BUFF_MASK);
|
||||||
oldest = now;
|
oldest = now;
|
||||||
for (seq = cursor + 1; before_eq(seq, top); seq++) {
|
for (seq = cursor + 1; before_eq(seq, top); seq++) {
|
||||||
ix = seq & RXRPC_RXTX_BUFF_MASK;
|
ix = seq & RXRPC_RXTX_BUFF_MASK;
|
||||||
|
|||||||
Reference in New Issue
Block a user