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

SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field

For certain special cases, RPC-related tracepoints record a -1 as
the task ID or the client ID. It's ugly for a trace event to display
4 billion in these cases.

To help keep SUNRPC tracepoints consistent, create a macro that
defines the print format specifiers for tk_pid and cl_clid. At some
point in the future we might try tk_pid with a wider range of values
than 0..64K so this makes it easier to make that change.

RPC tracepoints now look like this:

<...>-1276 [009] 149.720358: rpc_clnt_new: client=00000005 peer=[192.168.2.55]:20049 program=nfs server=klimt.ib

<...>-1342 [004] 149.921234: rpc_xdr_recvfrom: task:0000001a@00000005 head=[0xff1242d9ab6dc01c,144] page=0 tail=[(nil),0] len=144
<...>-1342 [004] 149.921235: xprt_release_cong: task:0000001a@00000005 snd_task:ffffffff cong=256 cwnd=16384
<...>-1342 [004] 149.921235: xprt_put_cong: task:0000001a@00000005 snd_task:ffffffff cong=0 cwnd=16384

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>

authored by

Chuck Lever and committed by
Trond Myklebust
b4776a34 7a3d524c

+108 -59
+5 -4
fs/nfs/nfs4trace.h
··· 9 9 #define _TRACE_NFS4_H 10 10 11 11 #include <linux/tracepoint.h> 12 + #include <trace/events/sunrpc_base.h> 12 13 13 14 TRACE_DEFINE_ENUM(EPERM); 14 15 TRACE_DEFINE_ENUM(ENOENT); ··· 695 694 __entry->expected = expected; 696 695 ), 697 696 698 - TP_printk( 699 - "task:%u@%d xid=0x%08x operation=%u, expected=%u", 697 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 698 + " xid=0x%08x operation=%u, expected=%u", 700 699 __entry->task_id, __entry->client_id, __entry->xid, 701 700 __entry->op, __entry->expected 702 701 ) ··· 730 729 __entry->error = error; 731 730 ), 732 731 733 - TP_printk( 734 - "task:%u@%d xid=0x%08x error=%ld (%s) operation=%u", 732 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 733 + " xid=0x%08x error=%ld (%s) operation=%u", 735 734 __entry->task_id, __entry->client_id, __entry->xid, 736 735 -__entry->error, show_nfsv4_errors(__entry->error), 737 736 __entry->op
+4 -2
fs/nfs/nfstrace.h
··· 11 11 #include <linux/tracepoint.h> 12 12 #include <linux/iversion.h> 13 13 14 + #include <trace/events/sunrpc_base.h> 15 + 14 16 #define nfs_show_file_type(ftype) \ 15 17 __print_symbolic(ftype, \ 16 18 { DT_UNKNOWN, "UNKNOWN" }, \ ··· 1411 1409 __assign_str(procedure, task->tk_msg.rpc_proc->p_name); 1412 1410 ), 1413 1411 1414 - TP_printk( 1415 - "task:%u@%d xid=0x%08x %sv%d %s error=%ld (%s)", 1412 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1413 + " xid=0x%08x %sv%d %s error=%ld (%s)", 1416 1414 __entry->task_id, __entry->client_id, __entry->xid, 1417 1415 __get_str(program), __entry->version, 1418 1416 __get_str(procedure), -__entry->error,
+12 -6
include/trace/events/rpcgss.h
··· 13 13 14 14 #include <linux/tracepoint.h> 15 15 16 + #include <trace/events/sunrpc_base.h> 17 + 16 18 /** 17 19 ** GSS-API related trace events 18 20 **/ ··· 101 99 __entry->maj_stat = maj_stat; 102 100 ), 103 101 104 - TP_printk("task:%u@%u maj_stat=%s", 102 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " maj_stat=%s", 105 103 __entry->task_id, __entry->client_id, 106 104 __entry->maj_stat == 0 ? 107 105 "GSS_S_COMPLETE" : show_gss_status(__entry->maj_stat)) ··· 334 332 __entry->client_id = task->tk_client->cl_clid; 335 333 ), 336 334 337 - TP_printk("task:%u@%u", __entry->task_id, __entry->client_id) 335 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER, 336 + __entry->task_id, __entry->client_id) 338 337 ); 339 338 340 339 TRACE_EVENT(rpcgss_bad_seqno, ··· 361 358 __entry->received = received; 362 359 ), 363 360 364 - TP_printk("task:%u@%u expected seqno %u, received seqno %u", 361 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 362 + " expected seqno %u, received seqno %u", 365 363 __entry->task_id, __entry->client_id, 366 364 __entry->expected, __entry->received) 367 365 ); ··· 390 386 __entry->seqno = rqst->rq_seqno; 391 387 ), 392 388 393 - TP_printk("task:%u@%u xid=0x%08x seqno=%u", 389 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x seqno=%u", 394 390 __entry->task_id, __entry->client_id, 395 391 __entry->xid, __entry->seqno) 396 392 ); ··· 422 418 __entry->ret = ret; 423 419 ), 424 420 425 - TP_printk("task:%u@%u xid=0x%08x rq_seqno=%u seq_xmit=%u reencode %sneeded", 421 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 422 + " xid=0x%08x rq_seqno=%u seq_xmit=%u reencode %sneeded", 426 423 __entry->task_id, __entry->client_id, 427 424 __entry->xid, __entry->seqno, __entry->seq_xmit, 428 425 __entry->ret ? "" : "un") ··· 457 452 __entry->verfsize = auth->au_verfsize; 458 453 ), 459 454 460 - TP_printk("task:%u@%u xid=0x%08x auth=%p rslack=%u ralign=%u verfsize=%u\n", 455 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 456 + " xid=0x%08x auth=%p rslack=%u ralign=%u verfsize=%u\n", 461 457 __entry->task_id, __entry->client_id, __entry->xid, 462 458 __entry->auth, __entry->rslack, __entry->ralign, 463 459 __entry->verfsize)
+24 -18
include/trace/events/rpcrdma.h
··· 14 14 #include <linux/sunrpc/rpc_rdma_cid.h> 15 15 #include <linux/tracepoint.h> 16 16 #include <rdma/ib_cm.h> 17 + 17 18 #include <trace/events/rdma.h> 19 + #include <trace/events/sunrpc_base.h> 18 20 19 21 /** 20 22 ** Event classes ··· 281 279 __entry->nsegs = nsegs; 282 280 ), 283 281 284 - TP_printk("task:%u@%u pos=%u %u@0x%016llx:0x%08x (%s)", 282 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 283 + " pos=%u %u@0x%016llx:0x%08x (%s)", 285 284 __entry->task_id, __entry->client_id, 286 285 __entry->pos, __entry->length, 287 286 (unsigned long long)__entry->offset, __entry->handle, ··· 329 326 __entry->nsegs = nsegs; 330 327 ), 331 328 332 - TP_printk("task:%u@%u %u@0x%016llx:0x%08x (%s)", 329 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 330 + " %u@0x%016llx:0x%08x (%s)", 333 331 __entry->task_id, __entry->client_id, 334 332 __entry->length, (unsigned long long)__entry->offset, 335 333 __entry->handle, ··· 397 393 __entry->dir = mr->mr_dir; 398 394 ), 399 395 400 - TP_printk("task:%u@%u mr.id=%u nents=%d %u@0x%016llx:0x%08x (%s)", 396 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 397 + " mr.id=%u nents=%d %u@0x%016llx:0x%08x (%s)", 401 398 __entry->task_id, __entry->client_id, 402 399 __entry->mr_id, __entry->nents, __entry->length, 403 400 (unsigned long long)__entry->offset, __entry->handle, ··· 641 636 __assign_str(port, rpcrdma_portstr(r_xprt)); 642 637 ), 643 638 644 - TP_printk("peer=[%s]:%s task:%u@%u", 645 - __get_str(addr), __get_str(port), 646 - __entry->task_id, __entry->client_id 639 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " peer=[%s]:%s", 640 + __entry->task_id, __entry->client_id, 641 + __get_str(addr), __get_str(port) 647 642 ) 648 643 ); 649 644 ··· 705 700 __entry->wtype = wtype; 706 701 ), 707 702 708 - TP_printk("task:%u@%u xid=0x%08x: hdr=%u xdr=%u/%u/%u %s/%s", 703 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 704 + " xid=0x%08x hdr=%u xdr=%u/%u/%u %s/%s", 709 705 __entry->task_id, __entry->client_id, __entry->xid, 710 706 __entry->hdrlen, 711 707 __entry->headlen, __entry->pagelen, __entry->taillen, ··· 736 730 __entry->ret = ret; 737 731 ), 738 732 739 - TP_printk("task:%u@%u xid=0x%08x: ret=%d", 733 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x ret=%d", 740 734 __entry->task_id, __entry->client_id, __entry->xid, 741 735 __entry->ret 742 736 ) ··· 763 757 __entry->ret = ret; 764 758 ), 765 759 766 - TP_printk("task:%u@%u xid=0x%08x: ret=%d", 760 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x ret=%d", 767 761 __entry->task_id, __entry->client_id, __entry->xid, 768 762 __entry->ret 769 763 ) ··· 798 792 __entry->signaled = req->rl_wr.send_flags & IB_SEND_SIGNALED; 799 793 ), 800 794 801 - TP_printk("task:%u@%u cq.id=%u cid=%d (%d SGE%s) %s", 795 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " cq.id=%u cid=%d (%d SGE%s) %s", 802 796 __entry->task_id, __entry->client_id, 803 797 __entry->cq_id, __entry->completion_id, 804 798 __entry->num_sge, (__entry->num_sge == 1 ? "" : "s"), ··· 833 827 __entry->rc = rc; 834 828 ), 835 829 836 - TP_printk("task:%u@%u cq.id=%u rc=%d", 830 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " cq.id=%u rc=%d", 837 831 __entry->task_id, __entry->client_id, 838 832 __entry->cq_id, __entry->rc 839 833 ) ··· 945 939 __entry->status = status; 946 940 ), 947 941 948 - TP_printk("task:%u@%u status=%d", 942 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " status=%d", 949 943 __entry->task_id, __entry->client_id, __entry->status 950 944 ) 951 945 ); ··· 1133 1127 __entry->credits = credits; 1134 1128 ), 1135 1129 1136 - TP_printk("task:%u@%u xid=0x%08x credits=%u", 1130 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x credits=%u", 1137 1131 __entry->task_id, __entry->client_id, __entry->xid, 1138 1132 __entry->credits 1139 1133 ) ··· 1169 1163 __entry->max = be32_to_cpup(max); 1170 1164 ), 1171 1165 1172 - TP_printk("task:%u@%u xid=0x%08x versions=[%u, %u]", 1166 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x versions=[%u, %u]", 1173 1167 __entry->task_id, __entry->client_id, __entry->xid, 1174 1168 __entry->min, __entry->max 1175 1169 ) ··· 1194 1188 __entry->xid = be32_to_cpu(rqst->rq_xid); 1195 1189 ), 1196 1190 1197 - TP_printk("task:%u@%u xid=0x%08x", 1191 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x", 1198 1192 __entry->task_id, __entry->client_id, __entry->xid 1199 1193 ) 1200 1194 ); ··· 1220 1214 __entry->procedure = be32_to_cpup(procedure); 1221 1215 ), 1222 1216 1223 - TP_printk("task:%u@%u xid=0x%08x procedure=%u", 1217 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x procedure=%u", 1224 1218 __entry->task_id, __entry->client_id, __entry->xid, 1225 1219 __entry->procedure 1226 1220 ) ··· 1252 1246 __entry->taillen = rqst->rq_rcv_buf.tail[0].iov_len; 1253 1247 ), 1254 1248 1255 - TP_printk("task:%u@%u fixup=%lu xdr=%zu/%u/%zu", 1249 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " fixup=%lu xdr=%zu/%u/%zu", 1256 1250 __entry->task_id, __entry->client_id, __entry->fixup, 1257 1251 __entry->headlen, __entry->pagelen, __entry->taillen 1258 1252 ) ··· 1302 1296 __entry->client_id = task->tk_client->cl_clid; 1303 1297 ), 1304 1298 1305 - TP_printk("task:%u@%u", 1299 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER, 1306 1300 __entry->task_id, __entry->client_id 1307 1301 ) 1308 1302 );
+45 -29
include/trace/events/sunrpc.h
··· 14 14 #include <linux/net.h> 15 15 #include <linux/tracepoint.h> 16 16 17 + #include <trace/events/sunrpc_base.h> 18 + 17 19 TRACE_DEFINE_ENUM(SOCK_STREAM); 18 20 TRACE_DEFINE_ENUM(SOCK_DGRAM); 19 21 TRACE_DEFINE_ENUM(SOCK_RAW); ··· 80 78 __entry->msg_len = xdr->len; 81 79 ), 82 80 83 - TP_printk("task:%u@%u head=[%p,%zu] page=%u tail=[%p,%zu] len=%u", 81 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 82 + " head=[%p,%zu] page=%u tail=[%p,%zu] len=%u", 84 83 __entry->task_id, __entry->client_id, 85 84 __entry->head_base, __entry->head_len, __entry->page_len, 86 85 __entry->tail_base, __entry->tail_len, __entry->msg_len ··· 117 114 __entry->client_id = clnt->cl_clid; 118 115 ), 119 116 120 - TP_printk("clid=%u", __entry->client_id) 117 + TP_printk("client=" SUNRPC_TRACE_CLID_SPECIFIER, __entry->client_id) 121 118 ); 122 119 123 120 #define DEFINE_RPC_CLNT_EVENT(name) \ ··· 161 158 __assign_str(server, server); 162 159 ), 163 160 164 - TP_printk("client=%u peer=[%s]:%s program=%s server=%s", 161 + TP_printk("client=" SUNRPC_TRACE_CLID_SPECIFIER 162 + " peer=[%s]:%s program=%s server=%s", 165 163 __entry->client_id, __get_str(addr), __get_str(port), 166 164 __get_str(program), __get_str(server)) 167 165 ); ··· 210 206 __entry->error = error; 211 207 ), 212 208 213 - TP_printk("client=%u error=%d", __entry->client_id, __entry->error) 209 + TP_printk("client=" SUNRPC_TRACE_CLID_SPECIFIER " error=%d", 210 + __entry->client_id, __entry->error) 214 211 ); 215 212 216 213 ··· 253 248 __entry->status = task->tk_status; 254 249 ), 255 250 256 - TP_printk("task:%u@%u status=%d", 251 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " status=%d", 257 252 __entry->task_id, __entry->client_id, 258 253 __entry->status) 259 254 ); ··· 293 288 __assign_str(procname, rpc_proc_name(task)); 294 289 ), 295 290 296 - TP_printk("task:%u@%u %sv%d %s (%ssync)", 291 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " %sv%d %s (%ssync)", 297 292 __entry->task_id, __entry->client_id, 298 293 __get_str(progname), __entry->version, 299 294 __get_str(procname), __entry->async ? "a": "" ··· 353 348 __entry->flags = task->tk_flags; 354 349 ), 355 350 356 - TP_printk("task:%u@%d flags=%s runstate=%s status=%d action=%ps", 351 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 352 + " flags=%s runstate=%s status=%d action=%ps", 357 353 __entry->task_id, __entry->client_id, 358 354 rpc_show_task_flags(__entry->flags), 359 355 rpc_show_runstate(__entry->runstate), ··· 406 400 __assign_str(q_name, rpc_qname(q)); 407 401 ), 408 402 409 - TP_printk("task:%u@%d flags=%s runstate=%s status=%d timeout=%lu queue=%s", 403 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 404 + " flags=%s runstate=%s status=%d timeout=%lu queue=%s", 410 405 __entry->task_id, __entry->client_id, 411 406 rpc_show_task_flags(__entry->flags), 412 407 rpc_show_runstate(__entry->runstate), ··· 443 436 __entry->client_id = task->tk_client->cl_clid; 444 437 ), 445 438 446 - TP_printk("task:%u@%u", 439 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER, 447 440 __entry->task_id, __entry->client_id) 448 441 ); 449 442 ··· 485 478 __assign_str(servername, task->tk_xprt->servername); 486 479 ), 487 480 488 - TP_printk("task:%u@%d server=%s xid=0x%08x %sv%d %s", 481 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 482 + " server=%s xid=0x%08x %sv%d %s", 489 483 __entry->task_id, __entry->client_id, __get_str(servername), 490 484 __entry->xid, __get_str(progname), __entry->version, 491 485 __get_str(procname)) ··· 546 538 __entry->status = status; 547 539 ), 548 540 549 - TP_printk("task:%u@%u callsize=%zu recvsize=%zu status=%d", 541 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 542 + " callsize=%zu recvsize=%zu status=%d", 550 543 __entry->task_id, __entry->client_id, 551 544 __entry->callsize, __entry->recvsize, __entry->status 552 545 ) ··· 576 567 __entry->rpc_status = rpc_status; 577 568 ), 578 569 579 - TP_printk("task:%u@%u tk_status=%d rpc_status=%d", 570 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 571 + " tk_status=%d rpc_status=%d", 580 572 __entry->task_id, __entry->client_id, 581 573 __entry->tk_status, __entry->rpc_status) 582 574 ); ··· 617 607 __entry->execute = ktime_to_us(execute); 618 608 ), 619 609 620 - TP_printk("task:%u@%d xid=0x%08x %sv%d %s backlog=%lu rtt=%lu execute=%lu", 610 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 611 + " xid=0x%08x %sv%d %s backlog=%lu rtt=%lu execute=%lu", 621 612 __entry->task_id, __entry->client_id, __entry->xid, 622 613 __get_str(progname), __entry->version, __get_str(procname), 623 614 __entry->backlog, __entry->rtt, __entry->execute) ··· 662 651 __entry->version = task->tk_client->cl_vers; 663 652 __assign_str(procedure, task->tk_msg.rpc_proc->p_name); 664 653 } else { 665 - __entry->task_id = 0; 666 - __entry->client_id = 0; 654 + __entry->task_id = -1; 655 + __entry->client_id = -1; 667 656 __assign_str(progname, "unknown"); 668 657 __entry->version = 0; 669 658 __assign_str(procedure, "unknown"); ··· 679 668 __entry->len = xdr->buf->len; 680 669 ), 681 670 682 - TP_printk( 683 - "task:%u@%u %sv%d %s requested=%zu p=%p end=%p xdr=[%p,%zu]/%u/[%p,%zu]/%u\n", 671 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 672 + " %sv%d %s requested=%zu p=%p end=%p xdr=[%p,%zu]/%u/[%p,%zu]/%u\n", 684 673 __entry->task_id, __entry->client_id, 685 674 __get_str(progname), __entry->version, __get_str(procedure), 686 675 __entry->requested, __entry->p, __entry->end, ··· 738 727 __entry->len = xdr->buf->len; 739 728 ), 740 729 741 - TP_printk( 742 - "task:%u@%u %sv%d %s offset=%zu copied=%u xdr=[%p,%zu]/%u/[%p,%zu]/%u\n", 730 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 731 + " %sv%d %s offset=%zu copied=%u xdr=[%p,%zu]/%u/[%p,%zu]/%u\n", 743 732 __entry->task_id, __entry->client_id, 744 733 __get_str(progname), __entry->version, __get_str(procedure), 745 734 __entry->offset, __entry->copied, ··· 928 917 __entry->remaining = rqst->rq_slen - transport->xmit.offset; 929 918 ), 930 919 931 - TP_printk("task:%u@%u total=%u remaining=%u", 920 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 921 + " total=%u remaining=%u", 932 922 __entry->task_id, __entry->client_id, 933 923 __entry->total, __entry->remaining 934 924 ) ··· 1054 1042 __entry->status = status; 1055 1043 ), 1056 1044 1057 - TP_printk( 1058 - "task:%u@%u xid=0x%08x seqno=%u status=%d", 1045 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1046 + " xid=0x%08x seqno=%u status=%d", 1059 1047 __entry->task_id, __entry->client_id, __entry->xid, 1060 1048 __entry->seqno, __entry->status) 1061 1049 ); ··· 1094 1082 __assign_str(procname, rpc_proc_name(task)); 1095 1083 ), 1096 1084 1097 - TP_printk( 1098 - "task:%u@%u xid=0x%08x %sv%d %s ntrans=%d timeout=%lu", 1085 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1086 + " xid=0x%08x %sv%d %s ntrans=%d timeout=%lu", 1099 1087 __entry->task_id, __entry->client_id, __entry->xid, 1100 1088 __get_str(progname), __entry->version, __get_str(procname), 1101 1089 __entry->ntrans, __entry->timeout ··· 1149 1137 xprt->snd_task->tk_pid : -1; 1150 1138 ), 1151 1139 1152 - TP_printk("task:%u@%u snd_task:%u", 1140 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1141 + " snd_task:" SUNRPC_TRACE_PID_SPECIFIER, 1153 1142 __entry->task_id, __entry->client_id, 1154 1143 __entry->snd_task_id) 1155 1144 ); ··· 1198 1185 __entry->wait = test_bit(XPRT_CWND_WAIT, &xprt->state); 1199 1186 ), 1200 1187 1201 - TP_printk("task:%u@%u snd_task:%u cong=%lu cwnd=%lu%s", 1188 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1189 + " snd_task:" SUNRPC_TRACE_PID_SPECIFIER 1190 + " cong=%lu cwnd=%lu%s", 1202 1191 __entry->task_id, __entry->client_id, 1203 1192 __entry->snd_task_id, __entry->cong, __entry->cwnd, 1204 1193 __entry->wait ? " (wait)" : "") ··· 1238 1223 __entry->xid = be32_to_cpu(rqst->rq_xid); 1239 1224 ), 1240 1225 1241 - TP_printk("task:%u@%u xid=0x%08x", 1226 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x", 1242 1227 __entry->task_id, __entry->client_id, __entry->xid 1243 1228 ) 1244 1229 ); ··· 1327 1312 __assign_str(servername, task->tk_xprt->servername); 1328 1313 ), 1329 1314 1330 - TP_printk("task:%u@%u server=%s program=%u version=%u protocol=%d bind_version=%u", 1315 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER 1316 + " server=%s program=%u version=%u protocol=%d bind_version=%u", 1331 1317 __entry->task_id, __entry->client_id, __get_str(servername), 1332 1318 __entry->program, __entry->version, __entry->protocol, 1333 1319 __entry->bind_version ··· 1358 1342 __entry->port = port; 1359 1343 ), 1360 1344 1361 - TP_printk("task:%u@%u status=%d port=%u", 1345 + TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " status=%d port=%u", 1362 1346 __entry->task_id, __entry->client_id, 1363 1347 __entry->status, __entry->port 1364 1348 )
+18
include/trace/events/sunrpc_base.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* 3 + * Copyright (c) 2021 Oracle and/or its affiliates. 4 + * 5 + * Common types and format specifiers for sunrpc. 6 + */ 7 + 8 + #if !defined(_TRACE_SUNRPC_BASE_H) 9 + #define _TRACE_SUNRPC_BASE_H 10 + 11 + #include <linux/tracepoint.h> 12 + 13 + #define SUNRPC_TRACE_PID_SPECIFIER "%08x" 14 + #define SUNRPC_TRACE_CLID_SPECIFIER "%08x" 15 + #define SUNRPC_TRACE_TASK_SPECIFIER \ 16 + "task:" SUNRPC_TRACE_PID_SPECIFIER "@" SUNRPC_TRACE_CLID_SPECIFIER 17 + 18 + #endif /* _TRACE_SUNRPC_BASE_H */