diff options
Diffstat (limited to 'include/trace/events')
-rw-r--r-- | include/trace/events/host1x.h | 27 | ||||
-rw-r--r-- | include/trace/events/module.h | 2 | ||||
-rw-r--r-- | include/trace/events/sunrpc.h | 120 |
3 files changed, 130 insertions, 19 deletions
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 | ||
32 | struct host1x_bo; | ||
33 | |||
32 | DECLARE_EVENT_CLASS(host1x, | 34 | DECLARE_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 | ||
81 | TRACE_EVENT(host1x_cdma_push_gather, | 83 | TRACE_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 | ||
223 | TRACE_EVENT(host1x_syncpt_wait_check, | 225 | TRACE_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/module.h b/include/trace/events/module.h index 7c5cbfe3fc49..81c4c183d348 100644 --- a/include/trace/events/module.h +++ b/include/trace/events/module.h | |||
@@ -80,7 +80,7 @@ DECLARE_EVENT_CLASS(module_refcnt, | |||
80 | 80 | ||
81 | TP_fast_assign( | 81 | TP_fast_assign( |
82 | __entry->ip = ip; | 82 | __entry->ip = ip; |
83 | __entry->refcnt = __this_cpu_read(mod->refptr->incs) - __this_cpu_read(mod->refptr->decs); | 83 | __entry->refcnt = atomic_read(&mod->refcnt); |
84 | __assign_str(name, mod->name); | 84 | __assign_str(name, mod->name); |
85 | ), | 85 | ), |
86 | 86 | ||
diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index 171ca4ff6d99..b9c1dc6c825a 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/sunrpc/clnt.h> | 8 | #include <linux/sunrpc/clnt.h> |
9 | #include <linux/sunrpc/svc.h> | 9 | #include <linux/sunrpc/svc.h> |
10 | #include <linux/sunrpc/xprtsock.h> | 10 | #include <linux/sunrpc/xprtsock.h> |
11 | #include <linux/sunrpc/svc_xprt.h> | ||
11 | #include <net/tcp_states.h> | 12 | #include <net/tcp_states.h> |
12 | #include <linux/net.h> | 13 | #include <linux/net.h> |
13 | #include <linux/tracepoint.h> | 14 | #include <linux/tracepoint.h> |
@@ -412,6 +413,16 @@ TRACE_EVENT(xs_tcp_data_recv, | |||
412 | __entry->copied, __entry->reclen, __entry->offset) | 413 | __entry->copied, __entry->reclen, __entry->offset) |
413 | ); | 414 | ); |
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 | |||
415 | TRACE_EVENT(svc_recv, | 426 | TRACE_EVENT(svc_recv, |
416 | TP_PROTO(struct svc_rqst *rqst, int status), | 427 | TP_PROTO(struct svc_rqst *rqst, int status), |
417 | 428 | ||
@@ -421,16 +432,19 @@ TRACE_EVENT(svc_recv, | |||
421 | __field(struct sockaddr *, addr) | 432 | __field(struct sockaddr *, addr) |
422 | __field(__be32, xid) | 433 | __field(__be32, xid) |
423 | __field(int, status) | 434 | __field(int, status) |
435 | __field(unsigned long, flags) | ||
424 | ), | 436 | ), |
425 | 437 | ||
426 | TP_fast_assign( | 438 | TP_fast_assign( |
427 | __entry->addr = (struct sockaddr *)&rqst->rq_addr; | 439 | __entry->addr = (struct sockaddr *)&rqst->rq_addr; |
428 | __entry->xid = status > 0 ? rqst->rq_xid : 0; | 440 | __entry->xid = status > 0 ? rqst->rq_xid : 0; |
429 | __entry->status = status; | 441 | __entry->status = status; |
442 | __entry->flags = rqst->rq_flags; | ||
430 | ), | 443 | ), |
431 | 444 | ||
432 | TP_printk("addr=%pIScp xid=0x%x status=%d", __entry->addr, | 445 | TP_printk("addr=%pIScp xid=0x%x status=%d flags=%s", __entry->addr, |
433 | be32_to_cpu(__entry->xid), __entry->status) | 446 | be32_to_cpu(__entry->xid), __entry->status, |
447 | show_rqstp_flags(__entry->flags)) | ||
434 | ); | 448 | ); |
435 | 449 | ||
436 | DECLARE_EVENT_CLASS(svc_rqst_status, | 450 | DECLARE_EVENT_CLASS(svc_rqst_status, |
@@ -444,18 +458,19 @@ DECLARE_EVENT_CLASS(svc_rqst_status, | |||
444 | __field(__be32, xid) | 458 | __field(__be32, xid) |
445 | __field(int, dropme) | 459 | __field(int, dropme) |
446 | __field(int, status) | 460 | __field(int, status) |
461 | __field(unsigned long, flags) | ||
447 | ), | 462 | ), |
448 | 463 | ||
449 | TP_fast_assign( | 464 | TP_fast_assign( |
450 | __entry->addr = (struct sockaddr *)&rqst->rq_addr; | 465 | __entry->addr = (struct sockaddr *)&rqst->rq_addr; |
451 | __entry->xid = rqst->rq_xid; | 466 | __entry->xid = rqst->rq_xid; |
452 | __entry->dropme = (int)rqst->rq_dropme; | ||
453 | __entry->status = status; | 467 | __entry->status = status; |
468 | __entry->flags = rqst->rq_flags; | ||
454 | ), | 469 | ), |
455 | 470 | ||
456 | TP_printk("addr=%pIScp rq_xid=0x%x dropme=%d status=%d", | 471 | TP_printk("addr=%pIScp rq_xid=0x%x status=%d flags=%s", |
457 | __entry->addr, be32_to_cpu(__entry->xid), __entry->dropme, | 472 | __entry->addr, be32_to_cpu(__entry->xid), |
458 | __entry->status) | 473 | __entry->status, show_rqstp_flags(__entry->flags)) |
459 | ); | 474 | ); |
460 | 475 | ||
461 | DEFINE_EVENT(svc_rqst_status, svc_process, | 476 | DEFINE_EVENT(svc_rqst_status, svc_process, |
@@ -466,6 +481,99 @@ DEFINE_EVENT(svc_rqst_status, svc_send, | |||
466 | TP_PROTO(struct svc_rqst *rqst, int status), | 481 | TP_PROTO(struct svc_rqst *rqst, int status), |
467 | TP_ARGS(rqst, status)); | 482 | TP_ARGS(rqst, status)); |
468 | 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 | |||
499 | TRACE_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 | |||
520 | TRACE_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 | |||
542 | TRACE_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 | |||
558 | TRACE_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 | ); | ||
469 | #endif /* _TRACE_SUNRPC_H */ | 577 | #endif /* _TRACE_SUNRPC_H */ |
470 | 578 | ||
471 | #include <trace/define_trace.h> | 579 | #include <trace/define_trace.h> |