Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec71eb9a authored by David Howells's avatar David Howells
Browse files

rxrpc: Add a tracepoint to log received ACK packets



Add a tracepoint to log information from received ACK packets.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent a124fe3e
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -234,6 +234,32 @@ TRACE_EVENT(rxrpc_transmit,
		      __entry->tx_top - __entry->tx_hard_ack)
	    );

TRACE_EVENT(rxrpc_rx_ack,
	    TP_PROTO(struct rxrpc_call *call, rxrpc_seq_t first, u8 reason, u8 n_acks),

	    TP_ARGS(call, first, reason, n_acks),

	    TP_STRUCT__entry(
		    __field(struct rxrpc_call *,	call		)
		    __field(rxrpc_seq_t,		first		)
		    __field(u8,				reason		)
		    __field(u8,				n_acks		)
			     ),

	    TP_fast_assign(
		    __entry->call = call;
		    __entry->first = first;
		    __entry->reason = reason;
		    __entry->n_acks = n_acks;
			   ),

	    TP_printk("c=%p %s f=%08x n=%u",
		      __entry->call,
		      rxrpc_acks(__entry->reason),
		      __entry->first,
		      __entry->n_acks)
	    );

#endif /* _TRACE_RXRPC_H */

/* This part must be outside protection */
+2 −0
Original line number Diff line number Diff line
@@ -440,6 +440,8 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb,
	hard_ack = first_soft_ack - 1;
	nr_acks = buf.ack.nAcks;

	trace_rxrpc_rx_ack(call, first_soft_ack, buf.ack.reason, nr_acks);

	_proto("Rx ACK %%%u { m=%hu f=#%u p=#%u s=%%%u r=%s n=%u }",
	       sp->hdr.serial,
	       ntohs(buf.ack.maxSkew),