1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM rpc
5 #if !defined(LTTNG_TRACE_RPC_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_RPC_H
8 #include <probes/lttng-tracepoint-event.h>
9 #include <linux/sunrpc/sched.h>
10 #include <linux/sunrpc/clnt.h>
12 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status
,
14 TP_PROTO(struct rpc_task
*task
),
19 ctf_integer_hex(const struct rpc_task
*, task
, task
)
20 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
21 ctf_integer(int, status
, task
->tk_status
)
25 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_call_status
,
26 TP_PROTO(struct rpc_task
*task
),
31 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_bind_status
,
32 TP_PROTO(struct rpc_task
*task
),
37 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
38 LTTNG_TRACEPOINT_EVENT(rpc_connect_status
,
39 TP_PROTO(const struct rpc_task
*task
),
44 ctf_integer_hex(const struct rpc_task
*, task
, task
)
45 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
46 ctf_integer(int, status
, task
->tk_status
)
50 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running
,
52 TP_PROTO(const struct rpc_task
*task
, const void *action
),
54 TP_ARGS(task
, action
),
57 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
58 ctf_integer_hex(const struct rpc_task
*, task
, task
)
59 ctf_integer_hex(const void *, action
, action
)
60 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
61 ctf_integer(int, status
, task
->tk_status
)
62 ctf_integer(unsigned short, flags
, task
->tk_flags
)
66 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_begin
,
68 TP_PROTO(const struct rpc_task
*task
, const void *action
),
73 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_run_action
,
75 TP_PROTO(const struct rpc_task
*task
, const void *action
),
80 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_complete
,
82 TP_PROTO(const struct rpc_task
*task
, const void *action
),
87 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued
,
89 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
94 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
95 ctf_integer_hex(const struct rpc_task
*, task
, task
)
96 ctf_integer(unsigned long, timeout
, task
->tk_timeout
)
97 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
98 ctf_integer(int, status
, task
->tk_status
)
99 ctf_integer(unsigned short, flags
, task
->tk_flags
)
100 ctf_string(q_name
, rpc_qname(q
))
104 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_sleep
,
106 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
111 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_wakeup
,
113 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
119 LTTNG_TRACEPOINT_EVENT(rpc_connect_status
,
120 TP_PROTO(struct rpc_task
*task
, int status
),
122 TP_ARGS(task
, status
),
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
)
131 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running
,
133 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
135 TP_ARGS(clnt
, task
, action
),
138 ctf_integer_hex(const struct rpc_clnt
*, clnt
, clnt
)
139 ctf_integer_hex(const struct rpc_task
*, task
, task
)
140 ctf_integer_hex(const void *, action
, action
)
141 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
142 ctf_integer(int, status
, task
->tk_status
)
143 ctf_integer(unsigned short, flags
, task
->tk_flags
)
147 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_begin
,
149 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
151 TP_ARGS(clnt
, task
, action
)
154 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_run_action
,
156 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
158 TP_ARGS(clnt
, task
, action
)
161 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_complete
,
163 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
165 TP_ARGS(clnt
, task
, action
)
168 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued
,
170 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
172 TP_ARGS(clnt
, task
, q
),
175 ctf_integer_hex(const struct rpc_clnt
*, clnt
, clnt
)
176 ctf_integer_hex(const struct rpc_task
*, task
, task
)
177 ctf_integer(unsigned long, timeout
, task
->tk_timeout
)
178 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
179 ctf_integer(int, status
, task
->tk_status
)
180 ctf_integer(unsigned short, flags
, task
->tk_flags
)
181 ctf_string(q_name
, rpc_qname(q
))
185 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_sleep
,
187 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
189 TP_ARGS(clnt
, task
, q
)
192 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_wakeup
,
194 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
196 TP_ARGS(clnt
, task
, q
)
200 #endif /* LTTNG_TRACE_RPC_H */
202 #include <probes/define_trace.h>
This page took 0.062495 seconds and 4 git commands to generate.