xprtrdma: Clean up trace_xprtrdma_nomrs()
authorChuck Lever <chuck.lever@oracle.com>
Mon, 9 Nov 2020 19:39:58 +0000 (14:39 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 11 Nov 2020 15:44:05 +0000 (10:44 -0500)
- Rename it following the "_err" suffix convention
- Replace display of kernel memory addresses
- Tie MR exhaustion to a peer IP address, similar to the createmrs
   tracepoint

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
include/trace/events/rpcrdma.h
net/sunrpc/xprtrdma/rpc_rdma.c

index 6bdbe11652702b684a91890333e69480b783924c..4fcda2a25bb8fd79517c492434c031268bd85d5a 100644 (file)
@@ -545,32 +545,33 @@ TRACE_EVENT(xprtrdma_mr_get,
        )
 );
 
-TRACE_EVENT(xprtrdma_nomrs,
+TRACE_EVENT(xprtrdma_nomrs_err,
        TP_PROTO(
+               const struct rpcrdma_xprt *r_xprt,
                const struct rpcrdma_req *req
        ),
 
-       TP_ARGS(req),
+       TP_ARGS(r_xprt, req),
 
        TP_STRUCT__entry(
-               __field(const void *, req)
                __field(unsigned int, task_id)
                __field(unsigned int, client_id)
-               __field(u32, xid)
+               __string(addr, rpcrdma_addrstr(r_xprt))
+               __string(port, rpcrdma_portstr(r_xprt))
        ),
 
        TP_fast_assign(
                const struct rpc_rqst *rqst = &req->rl_slot;
 
-               __entry->req = req;
                __entry->task_id = rqst->rq_task->tk_pid;
                __entry->client_id = rqst->rq_task->tk_client->cl_clid;
-               __entry->xid = be32_to_cpu(rqst->rq_xid);
+               __assign_str(addr, rpcrdma_addrstr(r_xprt));
+               __assign_str(port, rpcrdma_portstr(r_xprt));
        ),
 
-       TP_printk("task:%u@%u xid=0x%08x req=%p",
-               __entry->task_id, __entry->client_id, __entry->xid,
-               __entry->req
+       TP_printk("peer=[%s]:%s task:%u@%u",
+               __get_str(addr), __get_str(port),
+               __entry->task_id, __entry->client_id
        )
 );
 
index 8078559bdc316bc65be925066f648cc047d1ef0c..f27eb2322b38811455b58f14e70bb6d5fb74f6bb 100644 (file)
@@ -323,7 +323,7 @@ static struct rpcrdma_mr_seg *rpcrdma_mr_prepare(struct rpcrdma_xprt *r_xprt,
        return frwr_map(r_xprt, seg, nsegs, writing, req->rl_slot.rq_xid, *mr);
 
 out_getmr_err:
-       trace_xprtrdma_nomrs(req);
+       trace_xprtrdma_nomrs_err(r_xprt, req);
        xprt_wait_for_buffer_space(&r_xprt->rx_xprt);
        rpcrdma_mrs_refresh(r_xprt);
        return ERR_PTR(-EAGAIN);