aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/asoc.h25
-rw-r--r--include/trace/events/ext4.h17
-rw-r--r--include/trace/events/host1x.h27
-rw-r--r--include/trace/events/rcu.h4
-rw-r--r--include/trace/events/sched.h9
-rw-r--r--include/trace/events/scsi.h2
-rw-r--r--include/trace/events/sunrpc.h268
-rw-r--r--include/trace/events/target.h2
-rw-r--r--include/trace/ftrace.h8
9 files changed, 302 insertions, 60 deletions
diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h
index b04ee7e5a466..88cf39d96d0f 100644
--- a/include/trace/events/asoc.h
+++ b/include/trace/events/asoc.h
@@ -288,31 +288,6 @@ TRACE_EVENT(snd_soc_jack_notify,
288 TP_printk("jack=%s %x", __get_str(name), (int)__entry->val) 288 TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
289); 289);
290 290
291TRACE_EVENT(snd_soc_cache_sync,
292
293 TP_PROTO(struct snd_soc_codec *codec, const char *type,
294 const char *status),
295
296 TP_ARGS(codec, type, status),
297
298 TP_STRUCT__entry(
299 __string( name, codec->component.name)
300 __string( status, status )
301 __string( type, type )
302 __field( int, id )
303 ),
304
305 TP_fast_assign(
306 __assign_str(name, codec->component.name);
307 __assign_str(status, status);
308 __assign_str(type, type);
309 __entry->id = codec->component.id;
310 ),
311
312 TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
313 (int)__entry->id, __get_str(type), __get_str(status))
314);
315
316#endif /* _TRACE_ASOC_H */ 291#endif /* _TRACE_ASOC_H */
317 292
318/* This part must be outside protection */ 293/* This part must be outside protection */
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index ff4bd1b35246..6cfb841fea7c 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -43,15 +43,13 @@ struct extent_status;
43 { EXT4_GET_BLOCKS_METADATA_NOFAIL, "METADATA_NOFAIL" }, \ 43 { EXT4_GET_BLOCKS_METADATA_NOFAIL, "METADATA_NOFAIL" }, \
44 { EXT4_GET_BLOCKS_NO_NORMALIZE, "NO_NORMALIZE" }, \ 44 { EXT4_GET_BLOCKS_NO_NORMALIZE, "NO_NORMALIZE" }, \
45 { EXT4_GET_BLOCKS_KEEP_SIZE, "KEEP_SIZE" }, \ 45 { EXT4_GET_BLOCKS_KEEP_SIZE, "KEEP_SIZE" }, \
46 { EXT4_GET_BLOCKS_NO_LOCK, "NO_LOCK" }, \ 46 { EXT4_GET_BLOCKS_NO_LOCK, "NO_LOCK" })
47 { EXT4_GET_BLOCKS_NO_PUT_HOLE, "NO_PUT_HOLE" })
48 47
49#define show_mflags(flags) __print_flags(flags, "", \ 48#define show_mflags(flags) __print_flags(flags, "", \
50 { EXT4_MAP_NEW, "N" }, \ 49 { EXT4_MAP_NEW, "N" }, \
51 { EXT4_MAP_MAPPED, "M" }, \ 50 { EXT4_MAP_MAPPED, "M" }, \
52 { EXT4_MAP_UNWRITTEN, "U" }, \ 51 { EXT4_MAP_UNWRITTEN, "U" }, \
53 { EXT4_MAP_BOUNDARY, "B" }, \ 52 { EXT4_MAP_BOUNDARY, "B" })
54 { EXT4_MAP_FROM_CLUSTER, "C" })
55 53
56#define show_free_flags(flags) __print_flags(flags, "|", \ 54#define show_free_flags(flags) __print_flags(flags, "|", \
57 { EXT4_FREE_BLOCKS_METADATA, "METADATA" }, \ 55 { EXT4_FREE_BLOCKS_METADATA, "METADATA" }, \
@@ -2452,15 +2450,14 @@ TRACE_EVENT(ext4_collapse_range,
2452 2450
2453TRACE_EVENT(ext4_es_shrink, 2451TRACE_EVENT(ext4_es_shrink,
2454 TP_PROTO(struct super_block *sb, int nr_shrunk, u64 scan_time, 2452 TP_PROTO(struct super_block *sb, int nr_shrunk, u64 scan_time,
2455 int skip_precached, int nr_skipped, int retried), 2453 int nr_skipped, int retried),
2456 2454
2457 TP_ARGS(sb, nr_shrunk, scan_time, skip_precached, nr_skipped, retried), 2455 TP_ARGS(sb, nr_shrunk, scan_time, nr_skipped, retried),
2458 2456
2459 TP_STRUCT__entry( 2457 TP_STRUCT__entry(
2460 __field( dev_t, dev ) 2458 __field( dev_t, dev )
2461 __field( int, nr_shrunk ) 2459 __field( int, nr_shrunk )
2462 __field( unsigned long long, scan_time ) 2460 __field( unsigned long long, scan_time )
2463 __field( int, skip_precached )
2464 __field( int, nr_skipped ) 2461 __field( int, nr_skipped )
2465 __field( int, retried ) 2462 __field( int, retried )
2466 ), 2463 ),
@@ -2469,16 +2466,14 @@ TRACE_EVENT(ext4_es_shrink,
2469 __entry->dev = sb->s_dev; 2466 __entry->dev = sb->s_dev;
2470 __entry->nr_shrunk = nr_shrunk; 2467 __entry->nr_shrunk = nr_shrunk;
2471 __entry->scan_time = div_u64(scan_time, 1000); 2468 __entry->scan_time = div_u64(scan_time, 1000);
2472 __entry->skip_precached = skip_precached;
2473 __entry->nr_skipped = nr_skipped; 2469 __entry->nr_skipped = nr_skipped;
2474 __entry->retried = retried; 2470 __entry->retried = retried;
2475 ), 2471 ),
2476 2472
2477 TP_printk("dev %d,%d nr_shrunk %d, scan_time %llu skip_precached %d " 2473 TP_printk("dev %d,%d nr_shrunk %d, scan_time %llu "
2478 "nr_skipped %d retried %d", 2474 "nr_skipped %d retried %d",
2479 MAJOR(__entry->dev), MINOR(__entry->dev), __entry->nr_shrunk, 2475 MAJOR(__entry->dev), MINOR(__entry->dev), __entry->nr_shrunk,
2480 __entry->scan_time, __entry->skip_precached, 2476 __entry->scan_time, __entry->nr_skipped, __entry->retried)
2481 __entry->nr_skipped, __entry->retried)
2482); 2477);
2483 2478
2484#endif /* _TRACE_EXT4_H */ 2479#endif /* _TRACE_EXT4_H */
diff --git a/include/trace/events/host1x.h b/include/trace/events/host1x.h
index 94db6a2c3540..63116362543c 100644
--- a/include/trace/events/host1x.h
+++ b/include/trace/events/host1x.h
@@ -29,6 +29,8 @@
29#include <linux/ktime.h> 29#include <linux/ktime.h>
30#include <linux/tracepoint.h> 30#include <linux/tracepoint.h>
31 31
32struct host1x_bo;
33
32DECLARE_EVENT_CLASS(host1x, 34DECLARE_EVENT_CLASS(host1x,
33 TP_PROTO(const char *name), 35 TP_PROTO(const char *name),
34 TP_ARGS(name), 36 TP_ARGS(name),
@@ -79,14 +81,14 @@ TRACE_EVENT(host1x_cdma_push,
79); 81);
80 82
81TRACE_EVENT(host1x_cdma_push_gather, 83TRACE_EVENT(host1x_cdma_push_gather,
82 TP_PROTO(const char *name, u32 mem_id, 84 TP_PROTO(const char *name, struct host1x_bo *bo,
83 u32 words, u32 offset, void *cmdbuf), 85 u32 words, u32 offset, void *cmdbuf),
84 86
85 TP_ARGS(name, mem_id, words, offset, cmdbuf), 87 TP_ARGS(name, bo, words, offset, cmdbuf),
86 88
87 TP_STRUCT__entry( 89 TP_STRUCT__entry(
88 __field(const char *, name) 90 __field(const char *, name)
89 __field(u32, mem_id) 91 __field(struct host1x_bo *, bo)
90 __field(u32, words) 92 __field(u32, words)
91 __field(u32, offset) 93 __field(u32, offset)
92 __field(bool, cmdbuf) 94 __field(bool, cmdbuf)
@@ -100,13 +102,13 @@ TRACE_EVENT(host1x_cdma_push_gather,
100 } 102 }
101 __entry->cmdbuf = cmdbuf; 103 __entry->cmdbuf = cmdbuf;
102 __entry->name = name; 104 __entry->name = name;
103 __entry->mem_id = mem_id; 105 __entry->bo = bo;
104 __entry->words = words; 106 __entry->words = words;
105 __entry->offset = offset; 107 __entry->offset = offset;
106 ), 108 ),
107 109
108 TP_printk("name=%s, mem_id=%08x, words=%u, offset=%d, contents=[%s]", 110 TP_printk("name=%s, bo=%p, words=%u, offset=%d, contents=[%s]",
109 __entry->name, __entry->mem_id, 111 __entry->name, __entry->bo,
110 __entry->words, __entry->offset, 112 __entry->words, __entry->offset,
111 __print_hex(__get_dynamic_array(cmdbuf), 113 __print_hex(__get_dynamic_array(cmdbuf),
112 __entry->cmdbuf ? __entry->words * 4 : 0)) 114 __entry->cmdbuf ? __entry->words * 4 : 0))
@@ -221,12 +223,13 @@ TRACE_EVENT(host1x_syncpt_load_min,
221); 223);
222 224
223TRACE_EVENT(host1x_syncpt_wait_check, 225TRACE_EVENT(host1x_syncpt_wait_check,
224 TP_PROTO(void *mem_id, u32 offset, u32 syncpt_id, u32 thresh, u32 min), 226 TP_PROTO(struct host1x_bo *bo, u32 offset, u32 syncpt_id, u32 thresh,
227 u32 min),
225 228
226 TP_ARGS(mem_id, offset, syncpt_id, thresh, min), 229 TP_ARGS(bo, offset, syncpt_id, thresh, min),
227 230
228 TP_STRUCT__entry( 231 TP_STRUCT__entry(
229 __field(void *, mem_id) 232 __field(struct host1x_bo *, bo)
230 __field(u32, offset) 233 __field(u32, offset)
231 __field(u32, syncpt_id) 234 __field(u32, syncpt_id)
232 __field(u32, thresh) 235 __field(u32, thresh)
@@ -234,15 +237,15 @@ TRACE_EVENT(host1x_syncpt_wait_check,
234 ), 237 ),
235 238
236 TP_fast_assign( 239 TP_fast_assign(
237 __entry->mem_id = mem_id; 240 __entry->bo = bo;
238 __entry->offset = offset; 241 __entry->offset = offset;
239 __entry->syncpt_id = syncpt_id; 242 __entry->syncpt_id = syncpt_id;
240 __entry->thresh = thresh; 243 __entry->thresh = thresh;
241 __entry->min = min; 244 __entry->min = min;
242 ), 245 ),
243 246
244 TP_printk("mem_id=%p, offset=%05x, id=%d, thresh=%d, current=%d", 247 TP_printk("bo=%p, offset=%05x, id=%d, thresh=%d, current=%d",
245 __entry->mem_id, __entry->offset, 248 __entry->bo, __entry->offset,
246 __entry->syncpt_id, __entry->thresh, 249 __entry->syncpt_id, __entry->thresh,
247 __entry->min) 250 __entry->min)
248); 251);
diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
index e335e7d8c6c2..c78e88ce5ea3 100644
--- a/include/trace/events/rcu.h
+++ b/include/trace/events/rcu.h
@@ -36,7 +36,7 @@ TRACE_EVENT(rcu_utilization,
36 36
37#ifdef CONFIG_RCU_TRACE 37#ifdef CONFIG_RCU_TRACE
38 38
39#if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) 39#if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU)
40 40
41/* 41/*
42 * Tracepoint for grace-period events. Takes a string identifying the 42 * Tracepoint for grace-period events. Takes a string identifying the
@@ -345,7 +345,7 @@ TRACE_EVENT(rcu_fqs,
345 __entry->cpu, __entry->qsevent) 345 __entry->cpu, __entry->qsevent)
346); 346);
347 347
348#endif /* #if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) */ 348#endif /* #if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU) */
349 349
350/* 350/*
351 * Tracepoint for dyntick-idle entry/exit events. These take a string 351 * Tracepoint for dyntick-idle entry/exit events. These take a string
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
index 0a68d5ae584e..30fedaf3e56a 100644
--- a/include/trace/events/sched.h
+++ b/include/trace/events/sched.h
@@ -97,16 +97,19 @@ static inline long __trace_sched_switch_state(struct task_struct *p)
97 long state = p->state; 97 long state = p->state;
98 98
99#ifdef CONFIG_PREEMPT 99#ifdef CONFIG_PREEMPT
100#ifdef CONFIG_SCHED_DEBUG
101 BUG_ON(p != current);
102#endif /* CONFIG_SCHED_DEBUG */
100 /* 103 /*
101 * For all intents and purposes a preempted task is a running task. 104 * For all intents and purposes a preempted task is a running task.
102 */ 105 */
103 if (task_preempt_count(p) & PREEMPT_ACTIVE) 106 if (preempt_count() & PREEMPT_ACTIVE)
104 state = TASK_RUNNING | TASK_STATE_MAX; 107 state = TASK_RUNNING | TASK_STATE_MAX;
105#endif 108#endif /* CONFIG_PREEMPT */
106 109
107 return state; 110 return state;
108} 111}
109#endif 112#endif /* CREATE_TRACE_POINTS */
110 113
111/* 114/*
112 * Tracepoint for task switches, performed by the scheduler: 115 * Tracepoint for task switches, performed by the scheduler:
diff --git a/include/trace/events/scsi.h b/include/trace/events/scsi.h
index db6c93510f74..079bd10a01b4 100644
--- a/include/trace/events/scsi.h
+++ b/include/trace/events/scsi.h
@@ -94,7 +94,7 @@
94 scsi_opcode_name(WRITE_16), \ 94 scsi_opcode_name(WRITE_16), \
95 scsi_opcode_name(VERIFY_16), \ 95 scsi_opcode_name(VERIFY_16), \
96 scsi_opcode_name(WRITE_SAME_16), \ 96 scsi_opcode_name(WRITE_SAME_16), \
97 scsi_opcode_name(SERVICE_ACTION_IN), \ 97 scsi_opcode_name(SERVICE_ACTION_IN_16), \
98 scsi_opcode_name(SAI_READ_CAPACITY_16), \ 98 scsi_opcode_name(SAI_READ_CAPACITY_16), \
99 scsi_opcode_name(SAI_GET_LBA_STATUS), \ 99 scsi_opcode_name(SAI_GET_LBA_STATUS), \
100 scsi_opcode_name(MI_REPORT_TARGET_PGS), \ 100 scsi_opcode_name(MI_REPORT_TARGET_PGS), \
diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h
index 1fef3e6e9436..b9c1dc6c825a 100644
--- a/include/trace/events/sunrpc.h
+++ b/include/trace/events/sunrpc.h
@@ -6,6 +6,9 @@
6 6
7#include <linux/sunrpc/sched.h> 7#include <linux/sunrpc/sched.h>
8#include <linux/sunrpc/clnt.h> 8#include <linux/sunrpc/clnt.h>
9#include <linux/sunrpc/svc.h>
10#include <linux/sunrpc/xprtsock.h>
11#include <linux/sunrpc/svc_xprt.h>
9#include <net/tcp_states.h> 12#include <net/tcp_states.h>
10#include <linux/net.h> 13#include <linux/net.h>
11#include <linux/tracepoint.h> 14#include <linux/tracepoint.h>
@@ -306,6 +309,271 @@ DEFINE_RPC_SOCKET_EVENT_DONE(rpc_socket_reset_connection);
306DEFINE_RPC_SOCKET_EVENT(rpc_socket_close); 309DEFINE_RPC_SOCKET_EVENT(rpc_socket_close);
307DEFINE_RPC_SOCKET_EVENT(rpc_socket_shutdown); 310DEFINE_RPC_SOCKET_EVENT(rpc_socket_shutdown);
308 311
312DECLARE_EVENT_CLASS(rpc_xprt_event,
313 TP_PROTO(struct rpc_xprt *xprt, __be32 xid, int status),
314
315 TP_ARGS(xprt, xid, status),
316
317 TP_STRUCT__entry(
318 __field(__be32, xid)
319 __field(int, status)
320 __string(addr, xprt->address_strings[RPC_DISPLAY_ADDR])
321 __string(port, xprt->address_strings[RPC_DISPLAY_PORT])
322 ),
323
324 TP_fast_assign(
325 __entry->xid = xid;
326 __entry->status = status;
327 __assign_str(addr, xprt->address_strings[RPC_DISPLAY_ADDR]);
328 __assign_str(port, xprt->address_strings[RPC_DISPLAY_PORT]);
329 ),
330
331 TP_printk("peer=[%s]:%s xid=0x%x status=%d", __get_str(addr),
332 __get_str(port), be32_to_cpu(__entry->xid),
333 __entry->status)
334);
335
336DEFINE_EVENT(rpc_xprt_event, xprt_lookup_rqst,
337 TP_PROTO(struct rpc_xprt *xprt, __be32 xid, int status),
338 TP_ARGS(xprt, xid, status));
339
340DEFINE_EVENT(rpc_xprt_event, xprt_transmit,
341 TP_PROTO(struct rpc_xprt *xprt, __be32 xid, int status),
342 TP_ARGS(xprt, xid, status));
343
344DEFINE_EVENT(rpc_xprt_event, xprt_complete_rqst,
345 TP_PROTO(struct rpc_xprt *xprt, __be32 xid, int status),
346 TP_ARGS(xprt, xid, status));
347
348TRACE_EVENT(xs_tcp_data_ready,
349 TP_PROTO(struct rpc_xprt *xprt, int err, unsigned int total),
350
351 TP_ARGS(xprt, err, total),
352
353 TP_STRUCT__entry(
354 __field(int, err)
355 __field(unsigned int, total)
356 __string(addr, xprt ? xprt->address_strings[RPC_DISPLAY_ADDR] :
357 "(null)")
358 __string(port, xprt ? xprt->address_strings[RPC_DISPLAY_PORT] :
359 "(null)")
360 ),
361
362 TP_fast_assign(
363 __entry->err = err;
364 __entry->total = total;
365 __assign_str(addr, xprt ?
366 xprt->address_strings[RPC_DISPLAY_ADDR] : "(null)");
367 __assign_str(port, xprt ?
368 xprt->address_strings[RPC_DISPLAY_PORT] : "(null)");
369 ),
370
371 TP_printk("peer=[%s]:%s err=%d total=%u", __get_str(addr),
372 __get_str(port), __entry->err, __entry->total)
373);
374
375#define rpc_show_sock_xprt_flags(flags) \
376 __print_flags(flags, "|", \
377 { TCP_RCV_LAST_FRAG, "TCP_RCV_LAST_FRAG" }, \
378 { TCP_RCV_COPY_FRAGHDR, "TCP_RCV_COPY_FRAGHDR" }, \
379 { TCP_RCV_COPY_XID, "TCP_RCV_COPY_XID" }, \
380 { TCP_RCV_COPY_DATA, "TCP_RCV_COPY_DATA" }, \
381 { TCP_RCV_READ_CALLDIR, "TCP_RCV_READ_CALLDIR" }, \
382 { TCP_RCV_COPY_CALLDIR, "TCP_RCV_COPY_CALLDIR" }, \
383 { TCP_RPC_REPLY, "TCP_RPC_REPLY" })
384
385TRACE_EVENT(xs_tcp_data_recv,
386 TP_PROTO(struct sock_xprt *xs),
387
388 TP_ARGS(xs),
389
390 TP_STRUCT__entry(
391 __string(addr, xs->xprt.address_strings[RPC_DISPLAY_ADDR])
392 __string(port, xs->xprt.address_strings[RPC_DISPLAY_PORT])
393 __field(__be32, xid)
394 __field(unsigned long, flags)
395 __field(unsigned long, copied)
396 __field(unsigned int, reclen)
397 __field(unsigned long, offset)
398 ),
399
400 TP_fast_assign(
401 __assign_str(addr, xs->xprt.address_strings[RPC_DISPLAY_ADDR]);
402 __assign_str(port, xs->xprt.address_strings[RPC_DISPLAY_PORT]);
403 __entry->xid = xs->tcp_xid;
404 __entry->flags = xs->tcp_flags;
405 __entry->copied = xs->tcp_copied;
406 __entry->reclen = xs->tcp_reclen;
407 __entry->offset = xs->tcp_offset;
408 ),
409
410 TP_printk("peer=[%s]:%s xid=0x%x flags=%s copied=%lu reclen=%u offset=%lu",
411 __get_str(addr), __get_str(port), be32_to_cpu(__entry->xid),
412 rpc_show_sock_xprt_flags(__entry->flags),
413 __entry->copied, __entry->reclen, __entry->offset)
414);
415
416#define show_rqstp_flags(flags) \
417 __print_flags(flags, "|", \
418 { (1UL << RQ_SECURE), "RQ_SECURE"}, \
419 { (1UL << RQ_LOCAL), "RQ_LOCAL"}, \
420 { (1UL << RQ_USEDEFERRAL), "RQ_USEDEFERRAL"}, \
421 { (1UL << RQ_DROPME), "RQ_DROPME"}, \
422 { (1UL << RQ_SPLICE_OK), "RQ_SPLICE_OK"}, \
423 { (1UL << RQ_VICTIM), "RQ_VICTIM"}, \
424 { (1UL << RQ_BUSY), "RQ_BUSY"})
425
426TRACE_EVENT(svc_recv,
427 TP_PROTO(struct svc_rqst *rqst, int status),
428
429 TP_ARGS(rqst, status),
430
431 TP_STRUCT__entry(
432 __field(struct sockaddr *, addr)
433 __field(__be32, xid)
434 __field(int, status)
435 __field(unsigned long, flags)
436 ),
437
438 TP_fast_assign(
439 __entry->addr = (struct sockaddr *)&rqst->rq_addr;
440 __entry->xid = status > 0 ? rqst->rq_xid : 0;
441 __entry->status = status;
442 __entry->flags = rqst->rq_flags;
443 ),
444
445 TP_printk("addr=%pIScp xid=0x%x status=%d flags=%s", __entry->addr,
446 be32_to_cpu(__entry->xid), __entry->status,
447 show_rqstp_flags(__entry->flags))
448);
449
450DECLARE_EVENT_CLASS(svc_rqst_status,
451
452 TP_PROTO(struct svc_rqst *rqst, int status),
453
454 TP_ARGS(rqst, status),
455
456 TP_STRUCT__entry(
457 __field(struct sockaddr *, addr)
458 __field(__be32, xid)
459 __field(int, dropme)
460 __field(int, status)
461 __field(unsigned long, flags)
462 ),
463
464 TP_fast_assign(
465 __entry->addr = (struct sockaddr *)&rqst->rq_addr;
466 __entry->xid = rqst->rq_xid;
467 __entry->status = status;
468 __entry->flags = rqst->rq_flags;
469 ),
470
471 TP_printk("addr=%pIScp rq_xid=0x%x status=%d flags=%s",
472 __entry->addr, be32_to_cpu(__entry->xid),
473 __entry->status, show_rqstp_flags(__entry->flags))
474);
475
476DEFINE_EVENT(svc_rqst_status, svc_process,
477 TP_PROTO(struct svc_rqst *rqst, int status),
478 TP_ARGS(rqst, status));
479
480DEFINE_EVENT(svc_rqst_status, svc_send,
481 TP_PROTO(struct svc_rqst *rqst, int status),
482 TP_ARGS(rqst, status));
483
484#define show_svc_xprt_flags(flags) \
485 __print_flags(flags, "|", \
486 { (1UL << XPT_BUSY), "XPT_BUSY"}, \
487 { (1UL << XPT_CONN), "XPT_CONN"}, \
488 { (1UL << XPT_CLOSE), "XPT_CLOSE"}, \
489 { (1UL << XPT_DATA), "XPT_DATA"}, \
490 { (1UL << XPT_TEMP), "XPT_TEMP"}, \
491 { (1UL << XPT_DEAD), "XPT_DEAD"}, \
492 { (1UL << XPT_CHNGBUF), "XPT_CHNGBUF"}, \
493 { (1UL << XPT_DEFERRED), "XPT_DEFERRED"}, \
494 { (1UL << XPT_OLD), "XPT_OLD"}, \
495 { (1UL << XPT_LISTENER), "XPT_LISTENER"}, \
496 { (1UL << XPT_CACHE_AUTH), "XPT_CACHE_AUTH"}, \
497 { (1UL << XPT_LOCAL), "XPT_LOCAL"})
498
499TRACE_EVENT(svc_xprt_do_enqueue,
500 TP_PROTO(struct svc_xprt *xprt, struct svc_rqst *rqst),
501
502 TP_ARGS(xprt, rqst),
503
504 TP_STRUCT__entry(
505 __field(struct svc_xprt *, xprt)
506 __field(struct svc_rqst *, rqst)
507 ),
508
509 TP_fast_assign(
510 __entry->xprt = xprt;
511 __entry->rqst = rqst;
512 ),
513
514 TP_printk("xprt=0x%p addr=%pIScp pid=%d flags=%s", __entry->xprt,
515 (struct sockaddr *)&__entry->xprt->xpt_remote,
516 __entry->rqst ? __entry->rqst->rq_task->pid : 0,
517 show_svc_xprt_flags(__entry->xprt->xpt_flags))
518);
519
520TRACE_EVENT(svc_xprt_dequeue,
521 TP_PROTO(struct svc_xprt *xprt),
522
523 TP_ARGS(xprt),
524
525 TP_STRUCT__entry(
526 __field(struct svc_xprt *, xprt)
527 __field_struct(struct sockaddr_storage, ss)
528 __field(unsigned long, flags)
529 ),
530
531 TP_fast_assign(
532 __entry->xprt = xprt,
533 xprt ? memcpy(&__entry->ss, &xprt->xpt_remote, sizeof(__entry->ss)) : memset(&__entry->ss, 0, sizeof(__entry->ss));
534 __entry->flags = xprt ? xprt->xpt_flags : 0;
535 ),
536
537 TP_printk("xprt=0x%p addr=%pIScp flags=%s", __entry->xprt,
538 (struct sockaddr *)&__entry->ss,
539 show_svc_xprt_flags(__entry->flags))
540);
541
542TRACE_EVENT(svc_wake_up,
543 TP_PROTO(int pid),
544
545 TP_ARGS(pid),
546
547 TP_STRUCT__entry(
548 __field(int, pid)
549 ),
550
551 TP_fast_assign(
552 __entry->pid = pid;
553 ),
554
555 TP_printk("pid=%d", __entry->pid)
556);
557
558TRACE_EVENT(svc_handle_xprt,
559 TP_PROTO(struct svc_xprt *xprt, int len),
560
561 TP_ARGS(xprt, len),
562
563 TP_STRUCT__entry(
564 __field(struct svc_xprt *, xprt)
565 __field(int, len)
566 ),
567
568 TP_fast_assign(
569 __entry->xprt = xprt;
570 __entry->len = len;
571 ),
572
573 TP_printk("xprt=0x%p addr=%pIScp len=%d flags=%s", __entry->xprt,
574 (struct sockaddr *)&__entry->xprt->xpt_remote, __entry->len,
575 show_svc_xprt_flags(__entry->xprt->xpt_flags))
576);
309#endif /* _TRACE_SUNRPC_H */ 577#endif /* _TRACE_SUNRPC_H */
310 578
311#include <trace/define_trace.h> 579#include <trace/define_trace.h>
diff --git a/include/trace/events/target.h b/include/trace/events/target.h
index da9cc0f05c93..45403443dd82 100644
--- a/include/trace/events/target.h
+++ b/include/trace/events/target.h
@@ -96,7 +96,7 @@
96 scsi_opcode_name(WRITE_16), \ 96 scsi_opcode_name(WRITE_16), \
97 scsi_opcode_name(VERIFY_16), \ 97 scsi_opcode_name(VERIFY_16), \
98 scsi_opcode_name(WRITE_SAME_16), \ 98 scsi_opcode_name(WRITE_SAME_16), \
99 scsi_opcode_name(SERVICE_ACTION_IN), \ 99 scsi_opcode_name(SERVICE_ACTION_IN_16), \
100 scsi_opcode_name(SAI_READ_CAPACITY_16), \ 100 scsi_opcode_name(SAI_READ_CAPACITY_16), \
101 scsi_opcode_name(SAI_GET_LBA_STATUS), \ 101 scsi_opcode_name(SAI_GET_LBA_STATUS), \
102 scsi_opcode_name(MI_REPORT_TARGET_PGS), \ 102 scsi_opcode_name(MI_REPORT_TARGET_PGS), \
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 26b4f2e13275..139b5067345b 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -277,14 +277,12 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags, \
277 field = (typeof(field))iter->ent; \ 277 field = (typeof(field))iter->ent; \
278 \ 278 \
279 ret = ftrace_raw_output_prep(iter, trace_event); \ 279 ret = ftrace_raw_output_prep(iter, trace_event); \
280 if (ret) \ 280 if (ret != TRACE_TYPE_HANDLED) \
281 return ret; \ 281 return ret; \
282 \ 282 \
283 ret = trace_seq_printf(s, print); \ 283 trace_seq_printf(s, print); \
284 if (!ret) \
285 return TRACE_TYPE_PARTIAL_LINE; \
286 \ 284 \
287 return TRACE_TYPE_HANDLED; \ 285 return trace_handle_return(s); \
288} \ 286} \
289static struct trace_event_functions ftrace_event_type_funcs_##call = { \ 287static struct trace_event_functions ftrace_event_type_funcs_##call = { \
290 .trace = ftrace_raw_output_##call, \ 288 .trace = ftrace_raw_output_##call, \