Commit a23c76e9 authored by Chuck Lever's avatar Chuck Lever
Browse files

svcrdma: trace cc_release calls



This event brackets the svcrdma_post_* trace points. If this trace
event is enabled but does not appear as expected, that indicates a
chunk_ctxt leak.

Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Acked-by: default avatarTom Talpey <tom@talpey.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 91f8ce28
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2112,6 +2112,14 @@ DEFINE_POST_CHUNK_EVENT(read);
DEFINE_POST_CHUNK_EVENT(write);
DEFINE_POST_CHUNK_EVENT(reply);

DEFINE_EVENT(svcrdma_post_chunk_class, svcrdma_cc_release,
	TP_PROTO(
		const struct rpc_rdma_cid *cid,
		int sqecount
	),
	TP_ARGS(cid, sqecount)
);

TRACE_EVENT(svcrdma_wc_read,
	TP_PROTO(
		const struct ib_wc *wc,
+2 −0
Original line number Diff line number Diff line
@@ -191,6 +191,8 @@ static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc,
	struct svc_rdma_rw_ctxt *ctxt;
	LLIST_HEAD(free);

	trace_svcrdma_cc_release(&cc->cc_cid, cc->cc_sqecount);

	first = last = NULL;
	while ((ctxt = svc_rdma_next_ctxt(&cc->cc_rwctxts)) != NULL) {
		list_del(&ctxt->rw_list);