rxrpc: Use the tx-phase skb flag to simplify tracing
Use the previously-added transmit-phase skbuff private flag to simplify the socket buffer tracing a bit. Which phase the skbuff comes from can now be divined from the skb rather than having to be guessed from the call state. We can also reduce the number of rxrpc_skb_trace values by eliminating the difference between Tx and Rx in the symbols. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -23,20 +23,15 @@
|
||||
#define __RXRPC_DECLARE_TRACE_ENUMS_ONCE_ONLY
|
||||
|
||||
enum rxrpc_skb_trace {
|
||||
rxrpc_skb_rx_cleaned,
|
||||
rxrpc_skb_rx_freed,
|
||||
rxrpc_skb_rx_got,
|
||||
rxrpc_skb_rx_lost,
|
||||
rxrpc_skb_rx_purged,
|
||||
rxrpc_skb_rx_received,
|
||||
rxrpc_skb_rx_rotated,
|
||||
rxrpc_skb_rx_seen,
|
||||
rxrpc_skb_tx_cleaned,
|
||||
rxrpc_skb_tx_freed,
|
||||
rxrpc_skb_tx_got,
|
||||
rxrpc_skb_tx_new,
|
||||
rxrpc_skb_tx_rotated,
|
||||
rxrpc_skb_tx_seen,
|
||||
rxrpc_skb_cleaned,
|
||||
rxrpc_skb_freed,
|
||||
rxrpc_skb_got,
|
||||
rxrpc_skb_lost,
|
||||
rxrpc_skb_new,
|
||||
rxrpc_skb_purged,
|
||||
rxrpc_skb_received,
|
||||
rxrpc_skb_rotated,
|
||||
rxrpc_skb_seen,
|
||||
};
|
||||
|
||||
enum rxrpc_local_trace {
|
||||
@@ -228,20 +223,15 @@ enum rxrpc_tx_point {
|
||||
* Declare tracing information enums and their string mappings for display.
|
||||
*/
|
||||
#define rxrpc_skb_traces \
|
||||
EM(rxrpc_skb_rx_cleaned, "Rx CLN") \
|
||||
EM(rxrpc_skb_rx_freed, "Rx FRE") \
|
||||
EM(rxrpc_skb_rx_got, "Rx GOT") \
|
||||
EM(rxrpc_skb_rx_lost, "Rx *L*") \
|
||||
EM(rxrpc_skb_rx_purged, "Rx PUR") \
|
||||
EM(rxrpc_skb_rx_received, "Rx RCV") \
|
||||
EM(rxrpc_skb_rx_rotated, "Rx ROT") \
|
||||
EM(rxrpc_skb_rx_seen, "Rx SEE") \
|
||||
EM(rxrpc_skb_tx_cleaned, "Tx CLN") \
|
||||
EM(rxrpc_skb_tx_freed, "Tx FRE") \
|
||||
EM(rxrpc_skb_tx_got, "Tx GOT") \
|
||||
EM(rxrpc_skb_tx_new, "Tx NEW") \
|
||||
EM(rxrpc_skb_tx_rotated, "Tx ROT") \
|
||||
E_(rxrpc_skb_tx_seen, "Tx SEE")
|
||||
EM(rxrpc_skb_cleaned, "CLN") \
|
||||
EM(rxrpc_skb_freed, "FRE") \
|
||||
EM(rxrpc_skb_got, "GOT") \
|
||||
EM(rxrpc_skb_lost, "*L*") \
|
||||
EM(rxrpc_skb_new, "NEW") \
|
||||
EM(rxrpc_skb_purged, "PUR") \
|
||||
EM(rxrpc_skb_received, "RCV") \
|
||||
EM(rxrpc_skb_rotated, "ROT") \
|
||||
E_(rxrpc_skb_seen, "SEE")
|
||||
|
||||
#define rxrpc_local_traces \
|
||||
EM(rxrpc_local_got, "GOT") \
|
||||
@@ -650,6 +640,7 @@ TRACE_EVENT(rxrpc_skb,
|
||||
TP_STRUCT__entry(
|
||||
__field(struct sk_buff *, skb )
|
||||
__field(enum rxrpc_skb_trace, op )
|
||||
__field(u8, flags )
|
||||
__field(int, usage )
|
||||
__field(int, mod_count )
|
||||
__field(const void *, where )
|
||||
@@ -657,14 +648,16 @@ TRACE_EVENT(rxrpc_skb,
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->skb = skb;
|
||||
__entry->flags = rxrpc_skb(skb)->rx_flags;
|
||||
__entry->op = op;
|
||||
__entry->usage = usage;
|
||||
__entry->mod_count = mod_count;
|
||||
__entry->where = where;
|
||||
),
|
||||
|
||||
TP_printk("s=%p %s u=%d m=%d p=%pSR",
|
||||
TP_printk("s=%p %cx %s u=%d m=%d p=%pSR",
|
||||
__entry->skb,
|
||||
__entry->flags & RXRPC_SKB_TX_BUFFER ? 'T' : 'R',
|
||||
__print_symbolic(__entry->op, rxrpc_skb_traces),
|
||||
__entry->usage,
|
||||
__entry->mod_count,
|
||||
|
Reference in New Issue
Block a user