mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
rxrpc: Add a reason indicator to the tx_ack tracepoint
Record the reason for the transmission of an ACK in the rxrpc_tx_ack tracepoint, and not just in the rxrpc_propose_ack tracepoint. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
372d12d191
commit
b509934094
3 changed files with 12 additions and 6 deletions
|
|
@ -375,6 +375,7 @@
|
|||
EM(rxrpc_propose_ack_processing_op, "ProcOp ") \
|
||||
EM(rxrpc_propose_ack_respond_to_ack, "Rsp2Ack") \
|
||||
EM(rxrpc_propose_ack_respond_to_ping, "Rsp2Png") \
|
||||
EM(rxrpc_propose_ack_retransmit, "Retrans") \
|
||||
EM(rxrpc_propose_ack_retry_tx, "RetryTx") \
|
||||
EM(rxrpc_propose_ack_rotate_rx, "RxAck ") \
|
||||
EM(rxrpc_propose_ack_rx_idle, "RxIdle ") \
|
||||
|
|
@ -1267,9 +1268,10 @@ TRACE_EVENT(rxrpc_tx_data,
|
|||
TRACE_EVENT(rxrpc_tx_ack,
|
||||
TP_PROTO(unsigned int call, rxrpc_serial_t serial,
|
||||
rxrpc_seq_t ack_first, rxrpc_serial_t ack_serial,
|
||||
u8 reason, u8 n_acks, u16 rwind),
|
||||
u8 reason, u8 n_acks, u16 rwind,
|
||||
enum rxrpc_propose_ack_trace trace),
|
||||
|
||||
TP_ARGS(call, serial, ack_first, ack_serial, reason, n_acks, rwind),
|
||||
TP_ARGS(call, serial, ack_first, ack_serial, reason, n_acks, rwind, trace),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, call)
|
||||
|
|
@ -1279,6 +1281,7 @@ TRACE_EVENT(rxrpc_tx_ack,
|
|||
__field(u8, reason)
|
||||
__field(u8, n_acks)
|
||||
__field(u16, rwind)
|
||||
__field(enum rxrpc_propose_ack_trace, trace)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
|
|
@ -1289,16 +1292,18 @@ TRACE_EVENT(rxrpc_tx_ack,
|
|||
__entry->reason = reason;
|
||||
__entry->n_acks = n_acks;
|
||||
__entry->rwind = rwind;
|
||||
__entry->trace = trace;
|
||||
),
|
||||
|
||||
TP_printk(" c=%08x ACK %08x %s f=%08x r=%08x n=%u rw=%u",
|
||||
TP_printk(" c=%08x ACK %08x %s f=%08x r=%08x n=%u rw=%u %s",
|
||||
__entry->call,
|
||||
__entry->serial,
|
||||
__print_symbolic(__entry->reason, rxrpc_ack_names),
|
||||
__entry->ack_first,
|
||||
__entry->ack_serial,
|
||||
__entry->n_acks,
|
||||
__entry->rwind)
|
||||
__entry->rwind,
|
||||
__print_symbolic(__entry->trace, rxrpc_propose_ack_traces))
|
||||
);
|
||||
|
||||
TRACE_EVENT(rxrpc_receive,
|
||||
|
|
|
|||
|
|
@ -177,7 +177,8 @@ void rxrpc_conn_retransmit_call(struct rxrpc_connection *conn,
|
|||
trace_rxrpc_tx_ack(chan->call_debug_id, serial,
|
||||
ntohl(pkt.ack.firstPacket),
|
||||
ntohl(pkt.ack.serial),
|
||||
pkt.ack.reason, 0, rxrpc_rx_window_size);
|
||||
pkt.ack.reason, 0, rxrpc_rx_window_size,
|
||||
rxrpc_propose_ack_retransmit);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ static void rxrpc_send_ack_packet(struct rxrpc_call *call, int nr_kv, size_t len
|
|||
trace_rxrpc_tx_ack(call->debug_id, serial,
|
||||
ntohl(ack->firstPacket),
|
||||
ntohl(ack->serial), ack->reason, ack->nAcks,
|
||||
ntohl(trailer->rwind));
|
||||
ntohl(trailer->rwind), why);
|
||||
|
||||
rxrpc_inc_stat(call->rxnet, stat_tx_ack_send);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue