rxrpc: Trace socket notification
authorDavid Howells <dhowells@redhat.com>
Mon, 23 Jul 2018 16:18:37 +0000 (17:18 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 1 Aug 2018 12:28:23 +0000 (13:28 +0100)
Trace notifications from the softirq side of the socket to the
process-context side.

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

index c1a800a6dee379335d5f39afc7efbeb8fe1d2c5b..196587b8f204de13da0529c3cce46b68df75b4ac 100644 (file)
@@ -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 */
index 8989d760b6b2ba554c0bf3ebaac49b2053413e66..cfdc199c63510255c1d8cd60baed3c5f66b93d28 100644 (file)
@@ -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]");
 }