Skip to content

Commit

Permalink
rxrpc: Trace client call connection
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
dhowells committed Apr 6, 2017
1 parent 740586d commit 89ca694
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
26 changes: 26 additions & 0 deletions include/trace/events/rxrpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
1 change: 1 addition & 0 deletions net/rxrpc/conn_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit 89ca694

Please sign in to comment.