Loading include/trace/events/rxrpc.h +33 −0 Original line number Diff line number Diff line Loading @@ -290,6 +290,39 @@ TRACE_EVENT(rxrpc_tx_ack, __entry->n_acks) ); TRACE_EVENT(rxrpc_receive, TP_PROTO(struct rxrpc_call *call, enum rxrpc_receive_trace why, rxrpc_serial_t serial, rxrpc_seq_t seq), TP_ARGS(call, why, serial, seq), TP_STRUCT__entry( __field(struct rxrpc_call *, call ) __field(enum rxrpc_receive_trace, why ) __field(rxrpc_serial_t, serial ) __field(rxrpc_seq_t, seq ) __field(rxrpc_seq_t, hard_ack ) __field(rxrpc_seq_t, top ) ), TP_fast_assign( __entry->call = call; __entry->why = why; __entry->serial = serial; __entry->seq = seq; __entry->hard_ack = call->rx_hard_ack; __entry->top = call->rx_top; ), TP_printk("c=%p %s r=%08x q=%08x w=%08x-%08x", __entry->call, rxrpc_receive_traces[__entry->why], __entry->serial, __entry->seq, __entry->hard_ack, __entry->top) ); #endif /* _TRACE_RXRPC_H */ /* This part must be outside protection */ Loading net/rxrpc/ar-internal.h +12 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,18 @@ enum rxrpc_transmit_trace { extern const char rxrpc_transmit_traces[rxrpc_transmit__nr_trace][4]; enum rxrpc_receive_trace { rxrpc_receive_incoming, rxrpc_receive_queue, rxrpc_receive_queue_last, rxrpc_receive_front, rxrpc_receive_rotate, rxrpc_receive_end, rxrpc_receive__nr_trace }; extern const char rxrpc_receive_traces[rxrpc_receive__nr_trace][4]; extern const char *const rxrpc_pkts[]; extern const char *rxrpc_acks(u8 reason); Loading net/rxrpc/call_accept.c +3 −0 Original line number Diff line number Diff line Loading @@ -367,6 +367,9 @@ struct rxrpc_call *rxrpc_new_incoming_call(struct rxrpc_local *local, goto out; } trace_rxrpc_receive(call, rxrpc_receive_incoming, sp->hdr.serial, sp->hdr.seq); /* Make the call live. */ rxrpc_incoming_call(rx, call, skb); conn = call->conn; Loading net/rxrpc/input.c +5 −1 Original line number Diff line number Diff line Loading @@ -284,8 +284,12 @@ static void rxrpc_input_data(struct rxrpc_call *call, struct sk_buff *skb, call->rxtx_buffer[ix] = skb; if (after(seq, call->rx_top)) smp_store_release(&call->rx_top, seq); if (flags & RXRPC_LAST_PACKET) if (flags & RXRPC_LAST_PACKET) { set_bit(RXRPC_CALL_RX_LAST, &call->flags); trace_rxrpc_receive(call, rxrpc_receive_queue_last, serial, seq); } else { trace_rxrpc_receive(call, rxrpc_receive_queue, serial, seq); } queued = true; if (after_eq(seq, call->rx_expect_next)) { Loading net/rxrpc/misc.c +9 −0 Original line number Diff line number Diff line Loading @@ -141,3 +141,12 @@ const char rxrpc_transmit_traces[rxrpc_transmit__nr_trace][4] = { [rxrpc_transmit_rotate] = "ROT", [rxrpc_transmit_end] = "END", }; const char rxrpc_receive_traces[rxrpc_receive__nr_trace][4] = { [rxrpc_receive_incoming] = "INC", [rxrpc_receive_queue] = "QUE", [rxrpc_receive_queue_last] = "QLS", [rxrpc_receive_front] = "FRN", [rxrpc_receive_rotate] = "ROT", [rxrpc_receive_end] = "END", }; Loading
include/trace/events/rxrpc.h +33 −0 Original line number Diff line number Diff line Loading @@ -290,6 +290,39 @@ TRACE_EVENT(rxrpc_tx_ack, __entry->n_acks) ); TRACE_EVENT(rxrpc_receive, TP_PROTO(struct rxrpc_call *call, enum rxrpc_receive_trace why, rxrpc_serial_t serial, rxrpc_seq_t seq), TP_ARGS(call, why, serial, seq), TP_STRUCT__entry( __field(struct rxrpc_call *, call ) __field(enum rxrpc_receive_trace, why ) __field(rxrpc_serial_t, serial ) __field(rxrpc_seq_t, seq ) __field(rxrpc_seq_t, hard_ack ) __field(rxrpc_seq_t, top ) ), TP_fast_assign( __entry->call = call; __entry->why = why; __entry->serial = serial; __entry->seq = seq; __entry->hard_ack = call->rx_hard_ack; __entry->top = call->rx_top; ), TP_printk("c=%p %s r=%08x q=%08x w=%08x-%08x", __entry->call, rxrpc_receive_traces[__entry->why], __entry->serial, __entry->seq, __entry->hard_ack, __entry->top) ); #endif /* _TRACE_RXRPC_H */ /* This part must be outside protection */ Loading
net/rxrpc/ar-internal.h +12 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,18 @@ enum rxrpc_transmit_trace { extern const char rxrpc_transmit_traces[rxrpc_transmit__nr_trace][4]; enum rxrpc_receive_trace { rxrpc_receive_incoming, rxrpc_receive_queue, rxrpc_receive_queue_last, rxrpc_receive_front, rxrpc_receive_rotate, rxrpc_receive_end, rxrpc_receive__nr_trace }; extern const char rxrpc_receive_traces[rxrpc_receive__nr_trace][4]; extern const char *const rxrpc_pkts[]; extern const char *rxrpc_acks(u8 reason); Loading
net/rxrpc/call_accept.c +3 −0 Original line number Diff line number Diff line Loading @@ -367,6 +367,9 @@ struct rxrpc_call *rxrpc_new_incoming_call(struct rxrpc_local *local, goto out; } trace_rxrpc_receive(call, rxrpc_receive_incoming, sp->hdr.serial, sp->hdr.seq); /* Make the call live. */ rxrpc_incoming_call(rx, call, skb); conn = call->conn; Loading
net/rxrpc/input.c +5 −1 Original line number Diff line number Diff line Loading @@ -284,8 +284,12 @@ static void rxrpc_input_data(struct rxrpc_call *call, struct sk_buff *skb, call->rxtx_buffer[ix] = skb; if (after(seq, call->rx_top)) smp_store_release(&call->rx_top, seq); if (flags & RXRPC_LAST_PACKET) if (flags & RXRPC_LAST_PACKET) { set_bit(RXRPC_CALL_RX_LAST, &call->flags); trace_rxrpc_receive(call, rxrpc_receive_queue_last, serial, seq); } else { trace_rxrpc_receive(call, rxrpc_receive_queue, serial, seq); } queued = true; if (after_eq(seq, call->rx_expect_next)) { Loading
net/rxrpc/misc.c +9 −0 Original line number Diff line number Diff line Loading @@ -141,3 +141,12 @@ const char rxrpc_transmit_traces[rxrpc_transmit__nr_trace][4] = { [rxrpc_transmit_rotate] = "ROT", [rxrpc_transmit_end] = "END", }; const char rxrpc_receive_traces[rxrpc_receive__nr_trace][4] = { [rxrpc_receive_incoming] = "INC", [rxrpc_receive_queue] = "QUE", [rxrpc_receive_queue_last] = "QLS", [rxrpc_receive_front] = "FRN", [rxrpc_receive_rotate] = "ROT", [rxrpc_receive_end] = "END", };