Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.6 177 lines 3.9 kB view raw
1#undef TRACE_SYSTEM 2#define TRACE_SYSTEM sunrpc 3 4#if !defined(_TRACE_SUNRPC_H) || defined(TRACE_HEADER_MULTI_READ) 5#define _TRACE_SUNRPC_H 6 7#include <linux/sunrpc/sched.h> 8#include <linux/sunrpc/clnt.h> 9#include <linux/tracepoint.h> 10 11DECLARE_EVENT_CLASS(rpc_task_status, 12 13 TP_PROTO(struct rpc_task *task), 14 15 TP_ARGS(task), 16 17 TP_STRUCT__entry( 18 __field(const struct rpc_task *, task) 19 __field(const struct rpc_clnt *, clnt) 20 __field(int, status) 21 ), 22 23 TP_fast_assign( 24 __entry->task = task; 25 __entry->clnt = task->tk_client; 26 __entry->status = task->tk_status; 27 ), 28 29 TP_printk("task:%p@%p, status %d",__entry->task, __entry->clnt, __entry->status) 30); 31 32DEFINE_EVENT(rpc_task_status, rpc_call_status, 33 TP_PROTO(struct rpc_task *task), 34 35 TP_ARGS(task) 36); 37 38DEFINE_EVENT(rpc_task_status, rpc_bind_status, 39 TP_PROTO(struct rpc_task *task), 40 41 TP_ARGS(task) 42); 43 44TRACE_EVENT(rpc_connect_status, 45 TP_PROTO(struct rpc_task *task, int status), 46 47 TP_ARGS(task, status), 48 49 TP_STRUCT__entry( 50 __field(const struct rpc_task *, task) 51 __field(const struct rpc_clnt *, clnt) 52 __field(int, status) 53 ), 54 55 TP_fast_assign( 56 __entry->task = task; 57 __entry->clnt = task->tk_client; 58 __entry->status = status; 59 ), 60 61 TP_printk("task:%p@%p, status %d",__entry->task, __entry->clnt, __entry->status) 62); 63 64DECLARE_EVENT_CLASS(rpc_task_running, 65 66 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), 67 68 TP_ARGS(clnt, task, action), 69 70 TP_STRUCT__entry( 71 __field(const struct rpc_clnt *, clnt) 72 __field(const struct rpc_task *, task) 73 __field(const void *, action) 74 __field(unsigned long, runstate) 75 __field(int, status) 76 __field(unsigned short, flags) 77 ), 78 79 TP_fast_assign( 80 __entry->clnt = clnt; 81 __entry->task = task; 82 __entry->action = action; 83 __entry->runstate = task->tk_runstate; 84 __entry->status = task->tk_status; 85 __entry->flags = task->tk_flags; 86 ), 87 88 TP_printk("task:%p@%p flags=%4.4x state=%4.4lx status=%d action=%pf", 89 __entry->task, 90 __entry->clnt, 91 __entry->flags, 92 __entry->runstate, 93 __entry->status, 94 __entry->action 95 ) 96); 97 98DEFINE_EVENT(rpc_task_running, rpc_task_begin, 99 100 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), 101 102 TP_ARGS(clnt, task, action) 103 104); 105 106DEFINE_EVENT(rpc_task_running, rpc_task_run_action, 107 108 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), 109 110 TP_ARGS(clnt, task, action) 111 112); 113 114DEFINE_EVENT(rpc_task_running, rpc_task_complete, 115 116 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action), 117 118 TP_ARGS(clnt, task, action) 119 120); 121 122DECLARE_EVENT_CLASS(rpc_task_queued, 123 124 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), 125 126 TP_ARGS(clnt, task, q), 127 128 TP_STRUCT__entry( 129 __field(const struct rpc_clnt *, clnt) 130 __field(const struct rpc_task *, task) 131 __field(unsigned long, timeout) 132 __field(unsigned long, runstate) 133 __field(int, status) 134 __field(unsigned short, flags) 135 __string(q_name, rpc_qname(q)) 136 ), 137 138 TP_fast_assign( 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)); 146 ), 147 148 TP_printk("task:%p@%p flags=%4.4x state=%4.4lx status=%d timeout=%lu queue=%s", 149 __entry->task, 150 __entry->clnt, 151 __entry->flags, 152 __entry->runstate, 153 __entry->status, 154 __entry->timeout, 155 __get_str(q_name) 156 ) 157); 158 159DEFINE_EVENT(rpc_task_queued, rpc_task_sleep, 160 161 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), 162 163 TP_ARGS(clnt, task, q) 164 165); 166 167DEFINE_EVENT(rpc_task_queued, rpc_task_wakeup, 168 169 TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q), 170 171 TP_ARGS(clnt, task, q) 172 173); 174 175#endif /* _TRACE_SUNRPC_H */ 176 177#include <trace/define_trace.h>