xref: /openbmc/linux/include/trace/events/afs.h (revision 8e8d7f13b6d5a93b3d2cf9a4ceaaf923809fd5ac)
1*8e8d7f13SDavid Howells /* AFS tracepoints
2*8e8d7f13SDavid Howells  *
3*8e8d7f13SDavid Howells  * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
4*8e8d7f13SDavid Howells  * Written by David Howells (dhowells@redhat.com)
5*8e8d7f13SDavid Howells  *
6*8e8d7f13SDavid Howells  * This program is free software; you can redistribute it and/or
7*8e8d7f13SDavid Howells  * modify it under the terms of the GNU General Public Licence
8*8e8d7f13SDavid Howells  * as published by the Free Software Foundation; either version
9*8e8d7f13SDavid Howells  * 2 of the Licence, or (at your option) any later version.
10*8e8d7f13SDavid Howells  */
11*8e8d7f13SDavid Howells #undef TRACE_SYSTEM
12*8e8d7f13SDavid Howells #define TRACE_SYSTEM afs
13*8e8d7f13SDavid Howells 
14*8e8d7f13SDavid Howells #if !defined(_TRACE_AFS_H) || defined(TRACE_HEADER_MULTI_READ)
15*8e8d7f13SDavid Howells #define _TRACE_AFS_H
16*8e8d7f13SDavid Howells 
17*8e8d7f13SDavid Howells #include <linux/tracepoint.h>
18*8e8d7f13SDavid Howells 
19*8e8d7f13SDavid Howells TRACE_EVENT(afs_recv_data,
20*8e8d7f13SDavid Howells 	    TP_PROTO(struct afs_call *call, unsigned count, unsigned offset,
21*8e8d7f13SDavid Howells 		     bool want_more, int ret),
22*8e8d7f13SDavid Howells 
23*8e8d7f13SDavid Howells 	    TP_ARGS(call, count, offset, want_more, ret),
24*8e8d7f13SDavid Howells 
25*8e8d7f13SDavid Howells 	    TP_STRUCT__entry(
26*8e8d7f13SDavid Howells 		    __field(struct rxrpc_call *,	rxcall		)
27*8e8d7f13SDavid Howells 		    __field(struct afs_call *,		call		)
28*8e8d7f13SDavid Howells 		    __field(enum afs_call_state,	state		)
29*8e8d7f13SDavid Howells 		    __field(unsigned int,		count		)
30*8e8d7f13SDavid Howells 		    __field(unsigned int,		offset		)
31*8e8d7f13SDavid Howells 		    __field(unsigned short,		unmarshall	)
32*8e8d7f13SDavid Howells 		    __field(bool,			want_more	)
33*8e8d7f13SDavid Howells 		    __field(int,			ret		)
34*8e8d7f13SDavid Howells 			     ),
35*8e8d7f13SDavid Howells 
36*8e8d7f13SDavid Howells 	    TP_fast_assign(
37*8e8d7f13SDavid Howells 		    __entry->rxcall	= call->rxcall;
38*8e8d7f13SDavid Howells 		    __entry->call	= call;
39*8e8d7f13SDavid Howells 		    __entry->state	= call->state;
40*8e8d7f13SDavid Howells 		    __entry->unmarshall	= call->unmarshall;
41*8e8d7f13SDavid Howells 		    __entry->count	= count;
42*8e8d7f13SDavid Howells 		    __entry->offset	= offset;
43*8e8d7f13SDavid Howells 		    __entry->want_more	= want_more;
44*8e8d7f13SDavid Howells 		    __entry->ret	= ret;
45*8e8d7f13SDavid Howells 			   ),
46*8e8d7f13SDavid Howells 
47*8e8d7f13SDavid Howells 	    TP_printk("c=%p ac=%p s=%u u=%u %u/%u wm=%u ret=%d",
48*8e8d7f13SDavid Howells 		      __entry->rxcall,
49*8e8d7f13SDavid Howells 		      __entry->call,
50*8e8d7f13SDavid Howells 		      __entry->state, __entry->unmarshall,
51*8e8d7f13SDavid Howells 		      __entry->offset, __entry->count,
52*8e8d7f13SDavid Howells 		      __entry->want_more, __entry->ret)
53*8e8d7f13SDavid Howells 	    );
54*8e8d7f13SDavid Howells 
55*8e8d7f13SDavid Howells TRACE_EVENT(afs_notify_call,
56*8e8d7f13SDavid Howells 	    TP_PROTO(struct rxrpc_call *rxcall, struct afs_call *call),
57*8e8d7f13SDavid Howells 
58*8e8d7f13SDavid Howells 	    TP_ARGS(rxcall, call),
59*8e8d7f13SDavid Howells 
60*8e8d7f13SDavid Howells 	    TP_STRUCT__entry(
61*8e8d7f13SDavid Howells 		    __field(struct rxrpc_call *,	rxcall		)
62*8e8d7f13SDavid Howells 		    __field(struct afs_call *,		call		)
63*8e8d7f13SDavid Howells 		    __field(enum afs_call_state,	state		)
64*8e8d7f13SDavid Howells 		    __field(unsigned short,		unmarshall	)
65*8e8d7f13SDavid Howells 			     ),
66*8e8d7f13SDavid Howells 
67*8e8d7f13SDavid Howells 	    TP_fast_assign(
68*8e8d7f13SDavid Howells 		    __entry->rxcall	= rxcall;
69*8e8d7f13SDavid Howells 		    __entry->call	= call;
70*8e8d7f13SDavid Howells 		    __entry->state	= call->state;
71*8e8d7f13SDavid Howells 		    __entry->unmarshall	= call->unmarshall;
72*8e8d7f13SDavid Howells 			   ),
73*8e8d7f13SDavid Howells 
74*8e8d7f13SDavid Howells 	    TP_printk("c=%p ac=%p s=%u u=%u",
75*8e8d7f13SDavid Howells 		      __entry->rxcall,
76*8e8d7f13SDavid Howells 		      __entry->call,
77*8e8d7f13SDavid Howells 		      __entry->state, __entry->unmarshall)
78*8e8d7f13SDavid Howells 	    );
79*8e8d7f13SDavid Howells 
80*8e8d7f13SDavid Howells TRACE_EVENT(afs_cb_call,
81*8e8d7f13SDavid Howells 	    TP_PROTO(struct afs_call *call),
82*8e8d7f13SDavid Howells 
83*8e8d7f13SDavid Howells 	    TP_ARGS(call),
84*8e8d7f13SDavid Howells 
85*8e8d7f13SDavid Howells 	    TP_STRUCT__entry(
86*8e8d7f13SDavid Howells 		    __field(struct rxrpc_call *,	rxcall		)
87*8e8d7f13SDavid Howells 		    __field(struct afs_call *,		call		)
88*8e8d7f13SDavid Howells 		    __field(const char *,		name		)
89*8e8d7f13SDavid Howells 		    __field(u32,			op		)
90*8e8d7f13SDavid Howells 			     ),
91*8e8d7f13SDavid Howells 
92*8e8d7f13SDavid Howells 	    TP_fast_assign(
93*8e8d7f13SDavid Howells 		    __entry->rxcall	= call->rxcall;
94*8e8d7f13SDavid Howells 		    __entry->call	= call;
95*8e8d7f13SDavid Howells 		    __entry->name	= call->type->name;
96*8e8d7f13SDavid Howells 		    __entry->op		= call->operation_ID;
97*8e8d7f13SDavid Howells 			   ),
98*8e8d7f13SDavid Howells 
99*8e8d7f13SDavid Howells 	    TP_printk("c=%p ac=%p %s o=%u",
100*8e8d7f13SDavid Howells 		      __entry->rxcall,
101*8e8d7f13SDavid Howells 		      __entry->call,
102*8e8d7f13SDavid Howells 		      __entry->name,
103*8e8d7f13SDavid Howells 		      __entry->op)
104*8e8d7f13SDavid Howells 	    );
105*8e8d7f13SDavid Howells 
106*8e8d7f13SDavid Howells #endif /* _TRACE_AFS_H */
107*8e8d7f13SDavid Howells 
108*8e8d7f13SDavid Howells /* This part must be outside protection */
109*8e8d7f13SDavid Howells #include <trace/define_trace.h>
110