1df844fd4SDavid Howells /* AF_RXRPC tracepoints 2df844fd4SDavid Howells * 3df844fd4SDavid Howells * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. 4df844fd4SDavid Howells * Written by David Howells (dhowells@redhat.com) 5df844fd4SDavid Howells * 6df844fd4SDavid Howells * This program is free software; you can redistribute it and/or 7df844fd4SDavid Howells * modify it under the terms of the GNU General Public Licence 8df844fd4SDavid Howells * as published by the Free Software Foundation; either version 9df844fd4SDavid Howells * 2 of the Licence, or (at your option) any later version. 10df844fd4SDavid Howells */ 11df844fd4SDavid Howells #undef TRACE_SYSTEM 12df844fd4SDavid Howells #define TRACE_SYSTEM rxrpc 13df844fd4SDavid Howells 14df844fd4SDavid Howells #if !defined(_TRACE_RXRPC_H) || defined(TRACE_HEADER_MULTI_READ) 15df844fd4SDavid Howells #define _TRACE_RXRPC_H 16df844fd4SDavid Howells 17df844fd4SDavid Howells #include <linux/tracepoint.h> 18df844fd4SDavid Howells 19*e34d4234SDavid Howells TRACE_EVENT(rxrpc_call, 20*e34d4234SDavid Howells TP_PROTO(struct rxrpc_call *call, int op, int usage, int nskb, 21*e34d4234SDavid Howells const void *where, const void *aux), 22*e34d4234SDavid Howells 23*e34d4234SDavid Howells TP_ARGS(call, op, usage, nskb, where, aux), 24*e34d4234SDavid Howells 25*e34d4234SDavid Howells TP_STRUCT__entry( 26*e34d4234SDavid Howells __field(struct rxrpc_call *, call ) 27*e34d4234SDavid Howells __field(int, op ) 28*e34d4234SDavid Howells __field(int, usage ) 29*e34d4234SDavid Howells __field(int, nskb ) 30*e34d4234SDavid Howells __field(const void *, where ) 31*e34d4234SDavid Howells __field(const void *, aux ) 32*e34d4234SDavid Howells ), 33*e34d4234SDavid Howells 34*e34d4234SDavid Howells TP_fast_assign( 35*e34d4234SDavid Howells __entry->call = call; 36*e34d4234SDavid Howells __entry->op = op; 37*e34d4234SDavid Howells __entry->usage = usage; 38*e34d4234SDavid Howells __entry->nskb = nskb; 39*e34d4234SDavid Howells __entry->where = where; 40*e34d4234SDavid Howells __entry->aux = aux; 41*e34d4234SDavid Howells ), 42*e34d4234SDavid Howells 43*e34d4234SDavid Howells TP_printk("c=%p %s u=%d s=%d p=%pSR a=%p", 44*e34d4234SDavid Howells __entry->call, 45*e34d4234SDavid Howells (__entry->op == 0 ? "NWc" : 46*e34d4234SDavid Howells __entry->op == 1 ? "NWs" : 47*e34d4234SDavid Howells __entry->op == 2 ? "SEE" : 48*e34d4234SDavid Howells __entry->op == 3 ? "GET" : 49*e34d4234SDavid Howells __entry->op == 4 ? "Gsb" : 50*e34d4234SDavid Howells __entry->op == 5 ? "PUT" : 51*e34d4234SDavid Howells "Psb"), 52*e34d4234SDavid Howells __entry->usage, 53*e34d4234SDavid Howells __entry->nskb, 54*e34d4234SDavid Howells __entry->where, 55*e34d4234SDavid Howells __entry->aux) 56*e34d4234SDavid Howells ); 57*e34d4234SDavid Howells 58df844fd4SDavid Howells TRACE_EVENT(rxrpc_skb, 59df844fd4SDavid Howells TP_PROTO(struct sk_buff *skb, int op, int usage, int mod_count, 60df844fd4SDavid Howells const void *where), 61df844fd4SDavid Howells 62df844fd4SDavid Howells TP_ARGS(skb, op, usage, mod_count, where), 63df844fd4SDavid Howells 64df844fd4SDavid Howells TP_STRUCT__entry( 65df844fd4SDavid Howells __field(struct sk_buff *, skb ) 66df844fd4SDavid Howells __field(int, op ) 67df844fd4SDavid Howells __field(int, usage ) 68df844fd4SDavid Howells __field(int, mod_count ) 69df844fd4SDavid Howells __field(const void *, where ) 70df844fd4SDavid Howells ), 71df844fd4SDavid Howells 72df844fd4SDavid Howells TP_fast_assign( 73df844fd4SDavid Howells __entry->skb = skb; 74df844fd4SDavid Howells __entry->op = op; 75df844fd4SDavid Howells __entry->usage = usage; 76df844fd4SDavid Howells __entry->mod_count = mod_count; 77df844fd4SDavid Howells __entry->where = where; 78df844fd4SDavid Howells ), 79df844fd4SDavid Howells 80df844fd4SDavid Howells TP_printk("s=%p %s u=%d m=%d p=%pSR", 81df844fd4SDavid Howells __entry->skb, 82df844fd4SDavid Howells (__entry->op == 0 ? "NEW" : 83df844fd4SDavid Howells __entry->op == 1 ? "SEE" : 84df844fd4SDavid Howells __entry->op == 2 ? "GET" : 85df844fd4SDavid Howells __entry->op == 3 ? "FRE" : 86df844fd4SDavid Howells "PUR"), 87df844fd4SDavid Howells __entry->usage, 88df844fd4SDavid Howells __entry->mod_count, 89df844fd4SDavid Howells __entry->where) 90df844fd4SDavid Howells ); 91df844fd4SDavid Howells 92df844fd4SDavid Howells #endif /* _TRACE_RXRPC_H */ 93df844fd4SDavid Howells 94df844fd4SDavid Howells /* This part must be outside protection */ 95df844fd4SDavid Howells #include <trace/define_trace.h> 96