aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/trace/events/rpcrdma.h
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2020-03-20 14:33:05 -0400
committerChuck Lever <chuck.lever@oracle.com>2020-05-18 10:21:21 -0400
commit9d20063892624a98bab093725fae6999cfcb328e (patch)
tree75af638a1cc95aa5cd5a34bc137b99e5a69ebd3c /include/trace/events/rpcrdma.h
parentsvcrdma: Clean up handling of get_rw_ctx errors (diff)
downloadwireguard-linux-9d20063892624a98bab093725fae6999cfcb328e.tar.xz
wireguard-linux-9d20063892624a98bab093725fae6999cfcb328e.zip
svcrdma: Trace page overruns when constructing RDMA Reads
Clean up: Replace a dprintk call site with a tracepoint. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to '')
-rw-r--r--include/trace/events/rpcrdma.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h
index aca9d0f3d769..d6da6b8d521d 100644
--- a/include/trace/events/rpcrdma.h
+++ b/include/trace/events/rpcrdma.h
@@ -1637,6 +1637,34 @@ TRACE_EVENT(svcrdma_no_rwctx_err,
)
);
+TRACE_EVENT(svcrdma_page_overrun_err,
+ TP_PROTO(
+ const struct svcxprt_rdma *rdma,
+ const struct svc_rqst *rqst,
+ unsigned int pageno
+ ),
+
+ TP_ARGS(rdma, rqst, pageno),
+
+ TP_STRUCT__entry(
+ __field(unsigned int, pageno)
+ __field(u32, xid)
+ __string(device, rdma->sc_cm_id->device->name)
+ __string(addr, rdma->sc_xprt.xpt_remotebuf)
+ ),
+
+ TP_fast_assign(
+ __entry->pageno = pageno;
+ __entry->xid = __be32_to_cpu(rqst->rq_xid);
+ __assign_str(device, rdma->sc_cm_id->device->name);
+ __assign_str(addr, rdma->sc_xprt.xpt_remotebuf);
+ ),
+
+ TP_printk("addr=%s device=%s xid=0x%08x pageno=%u", __get_str(addr),
+ __get_str(device), __entry->xid, __entry->pageno
+ )
+);
+
TRACE_EVENT(svcrdma_send_pullup,
TP_PROTO(
unsigned int len