2 #define TRACE_SYSTEM sunrpc
4 #if !defined(_TRACE_SUNRPC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_SUNRPC_H
7 #include <linux/sunrpc/sched.h>
8 #include <linux/sunrpc/clnt.h>
9 #include <linux/tracepoint.h>
11 DECLARE_EVENT_CLASS(rpc_task_status
,
13 TP_PROTO(struct rpc_task
*task
),
18 __field(const struct rpc_task
*, task
)
19 __field(const struct rpc_clnt
*, clnt
)
25 __entry
->clnt
= task
->tk_client
;
26 __entry
->status
= task
->tk_status
;
29 TP_printk("task:%p@%p, status %d",__entry
->task
, __entry
->clnt
, __entry
->status
)
32 DEFINE_EVENT(rpc_task_status
, rpc_call_status
,
33 TP_PROTO(struct rpc_task
*task
),
38 DEFINE_EVENT(rpc_task_status
, rpc_bind_status
,
39 TP_PROTO(struct rpc_task
*task
),
44 TRACE_EVENT(rpc_connect_status
,
45 TP_PROTO(struct rpc_task
*task
, int status
),
47 TP_ARGS(task
, status
),
50 __field(const struct rpc_task
*, task
)
51 __field(const struct rpc_clnt
*, clnt
)
57 __entry
->clnt
= task
->tk_client
;
58 __entry
->status
= status
;
61 TP_printk("task:%p@%p, status %d",__entry
->task
, __entry
->clnt
, __entry
->status
)
64 DECLARE_EVENT_CLASS(rpc_task_running
,
66 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
68 TP_ARGS(clnt
, task
, action
),
71 __field(const struct rpc_clnt
*, clnt
)
72 __field(const struct rpc_task
*, task
)
73 __field(const void *, action
)
74 __field(unsigned long, runstate
)
76 __field(unsigned short, flags
)
82 __entry
->action
= action
;
83 __entry
->runstate
= task
->tk_runstate
;
84 __entry
->status
= task
->tk_status
;
85 __entry
->flags
= task
->tk_flags
;
88 TP_printk("task:%p@%p flags=%4.4x state=%4.4lx status=%d action=%pf",
98 DEFINE_EVENT(rpc_task_running
, rpc_task_begin
,
100 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
102 TP_ARGS(clnt
, task
, action
)
106 DEFINE_EVENT(rpc_task_running
, rpc_task_run_action
,
108 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
110 TP_ARGS(clnt
, task
, action
)
114 DEFINE_EVENT(rpc_task_running
, rpc_task_complete
,
116 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
118 TP_ARGS(clnt
, task
, action
)
122 DECLARE_EVENT_CLASS(rpc_task_queued
,
124 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
126 TP_ARGS(clnt
, task
, q
),
129 __field(const struct rpc_clnt
*, clnt
)
130 __field(const struct rpc_task
*, task
)
131 __field(unsigned long, timeout
)
132 __field(unsigned long, runstate
)
134 __field(unsigned short, flags
)
135 __string(q_name
, rpc_qname(q
))
139 __entry
->clnt
= clnt
;
140 __entry
->task
= task
;
141 __entry
->timeout
= task
->tk_timeout
;
142 __entry
->runstate
= task
->tk_runstate
;
143 __entry
->status
= task
->tk_status
;
144 __entry
->flags
= task
->tk_flags
;
145 __assign_str(q_name
, rpc_qname(q
));
148 TP_printk("task:%p@%p flags=%4.4x state=%4.4lx status=%d timeout=%lu queue=%s",
159 DEFINE_EVENT(rpc_task_queued
, rpc_task_sleep
,
161 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
163 TP_ARGS(clnt
, task
, q
)
167 DEFINE_EVENT(rpc_task_queued
, rpc_task_wakeup
,
169 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
171 TP_ARGS(clnt
, task
, q
)
175 #endif /* _TRACE_SUNRPC_H */
177 #include <trace/define_trace.h>