diff options
author | David Howells <dhowells@redhat.com> | 2018-07-23 18:18:37 +0200 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-08-01 14:28:23 +0200 |
commit | 4272d3034e69aea6e17085ba285d14f5824b430d (patch) | |
tree | 9c527595042424bea4e592d0a76079a06398b13a | |
parent | rxrpc: Fix ACK proposal tracepoint (diff) | |
download | linux-4272d3034e69aea6e17085ba285d14f5824b430d.tar.xz linux-4272d3034e69aea6e17085ba285d14f5824b430d.zip |
rxrpc: Trace socket notification
Trace notifications from the softirq side of the socket to the
process-context side.
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | include/trace/events/rxrpc.h | 20 | ||||
-rw-r--r-- | net/rxrpc/input.c | 4 |
2 files changed, 23 insertions, 1 deletions
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h index c1a800a6dee3..196587b8f204 100644 --- a/include/trace/events/rxrpc.h +++ b/include/trace/events/rxrpc.h @@ -1528,6 +1528,26 @@ TRACE_EVENT(rxrpc_call_reset, __entry->tx_seq, __entry->rx_seq) ); +TRACE_EVENT(rxrpc_notify_socket, + TP_PROTO(unsigned int debug_id, rxrpc_serial_t serial), + + TP_ARGS(debug_id, serial), + + TP_STRUCT__entry( + __field(unsigned int, debug_id ) + __field(rxrpc_serial_t, serial ) + ), + + TP_fast_assign( + __entry->debug_id = debug_id; + __entry->serial = serial; + ), + + TP_printk("c=%08x r=%08x", + __entry->debug_id, + __entry->serial) + ); + #endif /* _TRACE_RXRPC_H */ /* This part must be outside protection */ diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c index 8989d760b6b2..cfdc199c6351 100644 --- a/net/rxrpc/input.c +++ b/net/rxrpc/input.c @@ -597,8 +597,10 @@ ack: false, true, rxrpc_propose_ack_input_data); - if (sp->hdr.seq == READ_ONCE(call->rx_hard_ack) + 1) + if (sp->hdr.seq == READ_ONCE(call->rx_hard_ack) + 1) { + trace_rxrpc_notify_socket(call->debug_id, serial); rxrpc_notify_socket(call); + } _leave(" [queued]"); } |