rxrpc: Improve skb tracing
Improve sk_buff tracing within AF_RXRPC by the following means: (1) Use an enum to note the event type rather than plain integers and use an array of event names rather than a big multi ?: list. (2) Distinguish Rx from Tx packets and account them separately. This requires the call phase to be tracked so that we know what we might find in rxtx_buffer[]. (3) Add a parameter to rxrpc_{new,see,get,free}_skb() to indicate the event type. (4) A pair of 'rotate' events are added to indicate packets that are about to be rotated out of the Rx and Tx windows. (5) A pair of 'lost' events are added, along with rxrpc_lose_skb() for packet loss injection recording. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -102,6 +102,24 @@ const char *rxrpc_acks(u8 reason)
|
||||
return str[reason];
|
||||
}
|
||||
|
||||
const char rxrpc_skb_traces[rxrpc_skb__nr_trace][7] = {
|
||||
[rxrpc_skb_rx_cleaned] = "Rx CLN",
|
||||
[rxrpc_skb_rx_freed] = "Rx FRE",
|
||||
[rxrpc_skb_rx_got] = "Rx GOT",
|
||||
[rxrpc_skb_rx_lost] = "Rx *L*",
|
||||
[rxrpc_skb_rx_received] = "Rx RCV",
|
||||
[rxrpc_skb_rx_purged] = "Rx PUR",
|
||||
[rxrpc_skb_rx_rotated] = "Rx ROT",
|
||||
[rxrpc_skb_rx_seen] = "Rx SEE",
|
||||
[rxrpc_skb_tx_cleaned] = "Tx CLN",
|
||||
[rxrpc_skb_tx_freed] = "Tx FRE",
|
||||
[rxrpc_skb_tx_got] = "Tx GOT",
|
||||
[rxrpc_skb_tx_lost] = "Tx *L*",
|
||||
[rxrpc_skb_tx_new] = "Tx NEW",
|
||||
[rxrpc_skb_tx_rotated] = "Tx ROT",
|
||||
[rxrpc_skb_tx_seen] = "Tx SEE",
|
||||
};
|
||||
|
||||
const char rxrpc_conn_traces[rxrpc_conn__nr_trace][4] = {
|
||||
[rxrpc_conn_new_client] = "NWc",
|
||||
[rxrpc_conn_new_service] = "NWs",
|
||||
|
Reference in New Issue
Block a user