Fix: sunrpc: use signed integer for client id
[lttng-modules.git] / instrumentation / events / lttng-module / rpc.h
CommitLineData
b87700e3 1#undef TRACE_SYSTEM
9bbf98da 2#define TRACE_SYSTEM rpc
b87700e3 3
9bbf98da
MD
4#if !defined(LTTNG_TRACE_RPC_H) || defined(TRACE_HEADER_MULTI_READ)
5#define LTTNG_TRACE_RPC_H
b87700e3 6
6ec43db8 7#include <probes/lttng-tracepoint-event.h>
b87700e3
AG
8#include <linux/sunrpc/sched.h>
9#include <linux/sunrpc/clnt.h>
b87700e3 10
d11b5686
MJ
11#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
12LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
13
14 TP_PROTO(const struct rpc_task *task),
15
16 TP_ARGS(task),
17
18 TP_FIELDS(
19 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5 20 ctf_integer(int, client_id, task->tk_client->cl_clid)
d11b5686
MJ
21 ctf_integer(int, status, task->tk_status)
22 )
23)
24
25LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
26 TP_PROTO(const struct rpc_task *task),
27
28 TP_ARGS(task)
29)
30
31LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
32 TP_PROTO(const struct rpc_task *task),
33
34 TP_ARGS(task)
35)
36#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
89f0be35
MJ
37LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
38
39 TP_PROTO(struct rpc_task *task),
40
41 TP_ARGS(task),
42
43 TP_FIELDS(
44 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5 45 ctf_integer(int, client_id, task->tk_client->cl_clid)
89f0be35
MJ
46 ctf_integer(int, status, task->tk_status)
47 )
48)
d11b5686
MJ
49
50LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
51 TP_PROTO(struct rpc_task *task),
52
53 TP_ARGS(task)
54)
55
56LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
57 TP_PROTO(struct rpc_task *task),
58
59 TP_ARGS(task)
60)
89f0be35 61#else
3bc29f0a 62LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
b87700e3
AG
63
64 TP_PROTO(struct rpc_task *task),
65
66 TP_ARGS(task),
67
f127e61e 68 TP_FIELDS(
fa91fcac
MD
69 ctf_integer_hex(const struct rpc_task *, task, task)
70 ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
f127e61e
MD
71 ctf_integer(int, status, task->tk_status)
72 )
b87700e3
AG
73)
74
3bc29f0a 75LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
b87700e3
AG
76 TP_PROTO(struct rpc_task *task),
77
78 TP_ARGS(task)
79)
80
3bc29f0a 81LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
b87700e3
AG
82 TP_PROTO(struct rpc_task *task),
83
84 TP_ARGS(task)
85)
d11b5686 86#endif
b87700e3 87
d11b5686
MJ
88#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
89LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status,
90 TP_PROTO(const struct rpc_task *task),
91
92 TP_ARGS(task)
93)
94#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
0cc0962c
MJ
95LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
96 TP_PROTO(const struct rpc_task *task),
97
98 TP_ARGS(task),
99
100 TP_FIELDS(
89f0be35 101 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5 102 ctf_integer(int, client_id, task->tk_client->cl_clid)
0cc0962c
MJ
103 ctf_integer(int, status, task->tk_status)
104 )
105)
d11b5686
MJ
106#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
107LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
108 TP_PROTO(struct rpc_task *task, int status),
109
110 TP_ARGS(task, status),
111
112 TP_FIELDS(
113 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5 114 ctf_integer(int, client_id, task->tk_client->cl_clid)
d11b5686
MJ
115 ctf_integer(int, status, status)
116 )
117)
118#else
119LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
120 TP_PROTO(struct rpc_task *task, int status),
121
122 TP_ARGS(task, status),
123
124 TP_FIELDS(
125 ctf_integer_hex(const struct rpc_task *, task, task)
126 ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
127 ctf_integer(int, status, status)
128 )
129)
130#endif
0cc0962c 131
d11b5686 132#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
0cc0962c
MJ
133LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
134
135 TP_PROTO(const struct rpc_task *task, const void *action),
136
137 TP_ARGS(task, action),
138
139 TP_FIELDS(
89f0be35 140 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5
MD
141 ctf_integer(int, client_id, task->tk_client ?
142 task->tk_client->cl_clid : -1)
0cc0962c
MJ
143 ctf_integer_hex(const void *, action, action)
144 ctf_integer(unsigned long, runstate, task->tk_runstate)
145 ctf_integer(int, status, task->tk_status)
146 ctf_integer(unsigned short, flags, task->tk_flags)
147 )
148)
149
150LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
151
152 TP_PROTO(const struct rpc_task *task, const void *action),
153
154 TP_ARGS(task, action)
155)
156
157LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
158
159 TP_PROTO(const struct rpc_task *task, const void *action),
160
161 TP_ARGS(task, action)
162)
163
164LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
165
166 TP_PROTO(const struct rpc_task *task, const void *action),
167
168 TP_ARGS(task, action)
169)
170
171LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
172
173 TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
174
175 TP_ARGS(task, q),
176
177 TP_FIELDS(
89f0be35 178 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5 179 ctf_integer(int, client_id, task->tk_client ?
21709130 180 task->tk_client->cl_clid : -1)
0cc0962c
MJ
181 ctf_integer(unsigned long, timeout, task->tk_timeout)
182 ctf_integer(unsigned long, runstate, task->tk_runstate)
183 ctf_integer(int, status, task->tk_status)
184 ctf_integer(unsigned short, flags, task->tk_flags)
185 ctf_string(q_name, rpc_qname(q))
186 )
187)
188
189LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
190
191 TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
192
193 TP_ARGS(task, q)
194)
195
196LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
197
198 TP_PROTO(const struct rpc_task *task, const struct rpc_wait_queue *q),
199
200 TP_ARGS(task, q)
201)
202
89f0be35 203#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
89f0be35
MJ
204LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
205
206 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
207
208 TP_ARGS(clnt, task, action),
209
210 TP_FIELDS(
211 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5
MD
212 ctf_integer(int, client_id, task->tk_client ?
213 task->tk_client->cl_clid : -1)
89f0be35
MJ
214 ctf_integer_hex(const void *, action, action)
215 ctf_integer(unsigned long, runstate, task->tk_runstate)
216 ctf_integer(int, status, task->tk_status)
217 ctf_integer(unsigned short, flags, task->tk_flags)
218 )
219)
220
221LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
222
223 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
224
225 TP_ARGS(clnt, task, action)
226)
227
228LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
229
230 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
231
232 TP_ARGS(clnt, task, action)
233)
234
235LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
236
237 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
238
239 TP_ARGS(clnt, task, action)
240)
241
242LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
243
244 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
245
246 TP_ARGS(clnt, task, q),
247
248 TP_FIELDS(
249 ctf_integer(unsigned int, task_id, task->tk_pid)
47bf5fc5
MD
250 ctf_integer(int, client_id, task->tk_client ?
251 task->tk_client->cl_clid : -1)
89f0be35
MJ
252 ctf_integer(unsigned long, timeout, task->tk_timeout)
253 ctf_integer(unsigned long, runstate, task->tk_runstate)
254 ctf_integer(int, status, task->tk_status)
255 ctf_integer(unsigned short, flags, task->tk_flags)
256 ctf_string(q_name, rpc_qname(q))
257 )
258)
259
260LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
261
262 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
263
264 TP_ARGS(clnt, task, q)
265)
266
267LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
268
269 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
270
271 TP_ARGS(clnt, task, q)
272)
273
0cc0962c 274#else
3bc29f0a 275LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
b87700e3
AG
276
277 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
278
279 TP_ARGS(clnt, task, action),
280
f127e61e 281 TP_FIELDS(
fa91fcac
MD
282 ctf_integer_hex(const struct rpc_clnt *, clnt, clnt)
283 ctf_integer_hex(const struct rpc_task *, task, task)
284 ctf_integer_hex(const void *, action, action)
f127e61e
MD
285 ctf_integer(unsigned long, runstate, task->tk_runstate)
286 ctf_integer(int, status, task->tk_status)
287 ctf_integer(unsigned short, flags, task->tk_flags)
288 )
b87700e3
AG
289)
290
3bc29f0a 291LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
b87700e3
AG
292
293 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
294
295 TP_ARGS(clnt, task, action)
b87700e3
AG
296)
297
3bc29f0a 298LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
b87700e3
AG
299
300 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
301
302 TP_ARGS(clnt, task, action)
b87700e3
AG
303)
304
3bc29f0a 305LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
b87700e3
AG
306
307 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
308
309 TP_ARGS(clnt, task, action)
b87700e3
AG
310)
311
3bc29f0a 312LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
b87700e3
AG
313
314 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
315
316 TP_ARGS(clnt, task, q),
317
f127e61e 318 TP_FIELDS(
fa91fcac
MD
319 ctf_integer_hex(const struct rpc_clnt *, clnt, clnt)
320 ctf_integer_hex(const struct rpc_task *, task, task)
f127e61e
MD
321 ctf_integer(unsigned long, timeout, task->tk_timeout)
322 ctf_integer(unsigned long, runstate, task->tk_runstate)
323 ctf_integer(int, status, task->tk_status)
324 ctf_integer(unsigned short, flags, task->tk_flags)
325 ctf_string(q_name, rpc_qname(q))
326 )
b87700e3
AG
327)
328
3bc29f0a 329LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
b87700e3
AG
330
331 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
332
333 TP_ARGS(clnt, task, q)
b87700e3
AG
334)
335
3bc29f0a 336LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
b87700e3
AG
337
338 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
339
340 TP_ARGS(clnt, task, q)
b87700e3 341)
0cc0962c 342#endif
b87700e3 343
9bbf98da 344#endif /* LTTNG_TRACE_RPC_H */
b87700e3 345
6ec43db8 346#include <probes/define_trace.h>
This page took 0.047513 seconds and 4 git commands to generate.