rxrpc: Trace client call connection
authorDavid Howells <dhowells@redhat.com>
Thu, 6 Apr 2017 09:12:00 +0000 (10:12 +0100)
committerDavid Howells <dhowells@redhat.com>
Thu, 6 Apr 2017 10:10:41 +0000 (11:10 +0100)
Add a tracepoint (rxrpc_connect_call) to log the combination of rxrpc_call
pointer, afs_call pointer/user data and wire call parameters to make it
easier to match the tracebuffer contents to captured network packets.

Signed-off-by: David Howells <dhowells@redhat.com>
include/trace/events/rxrpc.h
net/rxrpc/conn_client.c

index 15ba7387c243258e78038586c4b0176a4ffcdac5..29a3d53a401535ef1e602a2dd82d79d66bc68bea 100644 (file)
@@ -1162,6 +1162,32 @@ TRACE_EVENT(rxrpc_rx_eproto,
                      __entry->why)
            );
 
+TRACE_EVENT(rxrpc_connect_call,
+           TP_PROTO(struct rxrpc_call *call),
+
+           TP_ARGS(call),
+
+           TP_STRUCT__entry(
+                   __field(struct rxrpc_call *,        call            )
+                   __field(unsigned long,              user_call_ID    )
+                   __field(u32,                        cid             )
+                   __field(u32,                        call_id         )
+                            ),
+
+           TP_fast_assign(
+                   __entry->call = call;
+                   __entry->user_call_ID = call->user_call_ID;
+                   __entry->cid = call->cid;
+                   __entry->call_id = call->call_id;
+                          ),
+
+           TP_printk("c=%p u=%p %08x:%08x",
+                     __entry->call,
+                     (void *)__entry->user_call_ID,
+                     __entry->cid,
+                     __entry->call_id)
+           );
+
 #endif /* _TRACE_RXRPC_H */
 
 /* This part must be outside protection */
index c3be03e8d098213e4956bb644827865206470e19..e8dea0d49e7fedf2951616c1aed8e93ec693a1dd 100644 (file)
@@ -550,6 +550,7 @@ static void rxrpc_activate_one_channel(struct rxrpc_connection *conn,
        call->cid       = conn->proto.cid | channel;
        call->call_id   = call_id;
 
+       trace_rxrpc_connect_call(call);
        _net("CONNECT call %08x:%08x as call %d on conn %d",
             call->cid, call->call_id, call->debug_id, conn->debug_id);