summaryrefslogtreecommitdiffstats
path: root/include/trace/events/rxrpc.h
diff options
context:
space:
mode:
authorDavid Howells2016-09-17 11:49:13 +0200
committerDavid Howells2016-09-17 12:24:03 +0200
commita124fe3ee5d82f2c9a9b8818ed5cb9f61685f1d3 (patch)
tree460767b547c2b0c39388f857783f543a906a2889 /include/trace/events/rxrpc.h
parentrxrpc: Add connection tracepoint and client conn state tracepoint (diff)
downloadkernel-qcow2-linux-a124fe3ee5d82f2c9a9b8818ed5cb9f61685f1d3.tar.gz
kernel-qcow2-linux-a124fe3ee5d82f2c9a9b8818ed5cb9f61685f1d3.tar.xz
kernel-qcow2-linux-a124fe3ee5d82f2c9a9b8818ed5cb9f61685f1d3.zip
rxrpc: Add a tracepoint to follow the life of a packet in the Tx buffer
Add a tracepoint to follow the insertion of a packet into the transmit buffer, its transmission and its rotation out of the buffer. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/trace/events/rxrpc.h')
-rw-r--r--include/trace/events/rxrpc.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index c0c496c83f31..ffc74b3e5b76 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -208,6 +208,32 @@ TRACE_EVENT(rxrpc_abort,
__entry->abort_code, __entry->error, __entry->why)
);
+TRACE_EVENT(rxrpc_transmit,
+ TP_PROTO(struct rxrpc_call *call, enum rxrpc_transmit_trace why),
+
+ TP_ARGS(call, why),
+
+ TP_STRUCT__entry(
+ __field(struct rxrpc_call *, call )
+ __field(enum rxrpc_transmit_trace, why )
+ __field(rxrpc_seq_t, tx_hard_ack )
+ __field(rxrpc_seq_t, tx_top )
+ ),
+
+ TP_fast_assign(
+ __entry->call = call;
+ __entry->why = why;
+ __entry->tx_hard_ack = call->tx_hard_ack;
+ __entry->tx_top = call->tx_top;
+ ),
+
+ TP_printk("c=%p %s f=%08x n=%u",
+ __entry->call,
+ rxrpc_transmit_traces[__entry->why],
+ __entry->tx_hard_ack + 1,
+ __entry->tx_top - __entry->tx_hard_ack)
+ );
+
#endif /* _TRACE_RXRPC_H */
/* This part must be outside protection */