Skip to content

Commit d4957f0

Browse files
chuckleveramschuma-ntap
authored andcommitted
xprtrdma: Refine trace_xprtrdma_fixup
Slightly reduce overhead and display more useful information. Signed-off-by: Chuck Lever <[email protected]> Signed-off-by: Anna Schumaker <[email protected]>
1 parent 7b020f1 commit d4957f0

File tree

2 files changed

+15
-50
lines changed

2 files changed

+15
-50
lines changed

include/trace/events/rpcrdma.h

Lines changed: 13 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,66 +1084,32 @@ DEFINE_REPLY_EVENT(xprtrdma_reply_hdr);
10841084
TRACE_EVENT(xprtrdma_fixup,
10851085
TP_PROTO(
10861086
const struct rpc_rqst *rqst,
1087-
int len,
1088-
int hdrlen
1087+
unsigned long fixup
10891088
),
10901089

1091-
TP_ARGS(rqst, len, hdrlen),
1090+
TP_ARGS(rqst, fixup),
10921091

10931092
TP_STRUCT__entry(
10941093
__field(unsigned int, task_id)
10951094
__field(unsigned int, client_id)
1096-
__field(const void *, base)
1097-
__field(int, len)
1098-
__field(int, hdrlen)
1099-
),
1100-
1101-
TP_fast_assign(
1102-
__entry->task_id = rqst->rq_task->tk_pid;
1103-
__entry->client_id = rqst->rq_task->tk_client->cl_clid;
1104-
__entry->base = rqst->rq_rcv_buf.head[0].iov_base;
1105-
__entry->len = len;
1106-
__entry->hdrlen = hdrlen;
1107-
),
1108-
1109-
TP_printk("task:%u@%u base=%p len=%d hdrlen=%d",
1110-
__entry->task_id, __entry->client_id,
1111-
__entry->base, __entry->len, __entry->hdrlen
1112-
)
1113-
);
1114-
1115-
TRACE_EVENT(xprtrdma_fixup_pg,
1116-
TP_PROTO(
1117-
const struct rpc_rqst *rqst,
1118-
int pageno,
1119-
const void *pos,
1120-
int len,
1121-
int curlen
1122-
),
1123-
1124-
TP_ARGS(rqst, pageno, pos, len, curlen),
1125-
1126-
TP_STRUCT__entry(
1127-
__field(unsigned int, task_id)
1128-
__field(unsigned int, client_id)
1129-
__field(const void *, pos)
1130-
__field(int, pageno)
1131-
__field(int, len)
1132-
__field(int, curlen)
1095+
__field(unsigned long, fixup)
1096+
__field(size_t, headlen)
1097+
__field(unsigned int, pagelen)
1098+
__field(size_t, taillen)
11331099
),
11341100

11351101
TP_fast_assign(
11361102
__entry->task_id = rqst->rq_task->tk_pid;
11371103
__entry->client_id = rqst->rq_task->tk_client->cl_clid;
1138-
__entry->pos = pos;
1139-
__entry->pageno = pageno;
1140-
__entry->len = len;
1141-
__entry->curlen = curlen;
1104+
__entry->fixup = fixup;
1105+
__entry->headlen = rqst->rq_rcv_buf.head[0].iov_len;
1106+
__entry->pagelen = rqst->rq_rcv_buf.page_len;
1107+
__entry->taillen = rqst->rq_rcv_buf.tail[0].iov_len;
11421108
),
11431109

1144-
TP_printk("task:%u@%u pageno=%d pos=%p len=%d curlen=%d",
1145-
__entry->task_id, __entry->client_id,
1146-
__entry->pageno, __entry->pos, __entry->len, __entry->curlen
1110+
TP_printk("task:%u@%u fixup=%lu xdr=%zu/%u/%zu",
1111+
__entry->task_id, __entry->client_id, __entry->fixup,
1112+
__entry->headlen, __entry->pagelen, __entry->taillen
11471113
)
11481114
);
11491115

net/sunrpc/xprtrdma/rpc_rdma.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,6 @@ rpcrdma_inline_fixup(struct rpc_rqst *rqst, char *srcp, int copy_len, int pad)
10861086
curlen = rqst->rq_rcv_buf.head[0].iov_len;
10871087
if (curlen > copy_len)
10881088
curlen = copy_len;
1089-
trace_xprtrdma_fixup(rqst, copy_len, curlen);
10901089
srcp += curlen;
10911090
copy_len -= curlen;
10921091

@@ -1106,8 +1105,6 @@ rpcrdma_inline_fixup(struct rpc_rqst *rqst, char *srcp, int copy_len, int pad)
11061105
if (curlen > pagelist_len)
11071106
curlen = pagelist_len;
11081107

1109-
trace_xprtrdma_fixup_pg(rqst, i, srcp,
1110-
copy_len, curlen);
11111108
destp = kmap_atomic(ppages[i]);
11121109
memcpy(destp + page_base, srcp, curlen);
11131110
flush_dcache_page(ppages[i]);
@@ -1139,6 +1136,8 @@ rpcrdma_inline_fixup(struct rpc_rqst *rqst, char *srcp, int copy_len, int pad)
11391136
rqst->rq_private_buf.tail[0].iov_base = srcp;
11401137
}
11411138

1139+
if (fixup_copy_count)
1140+
trace_xprtrdma_fixup(rqst, fixup_copy_count);
11421141
return fixup_copy_count;
11431142
}
11441143

0 commit comments

Comments
 (0)