mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
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: Jeff Layton <jlayton@kernel.org> Acked-by: Tom Talpey <tom@talpey.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
@@ -2112,6 +2112,14 @@ DEFINE_POST_CHUNK_EVENT(read);
|
|||||||
DEFINE_POST_CHUNK_EVENT(write);
|
DEFINE_POST_CHUNK_EVENT(write);
|
||||||
DEFINE_POST_CHUNK_EVENT(reply);
|
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,
|
TRACE_EVENT(svcrdma_wc_read,
|
||||||
TP_PROTO(
|
TP_PROTO(
|
||||||
const struct ib_wc *wc,
|
const struct ib_wc *wc,
|
||||||
|
@@ -191,6 +191,8 @@ static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc,
|
|||||||
struct svc_rdma_rw_ctxt *ctxt;
|
struct svc_rdma_rw_ctxt *ctxt;
|
||||||
LLIST_HEAD(free);
|
LLIST_HEAD(free);
|
||||||
|
|
||||||
|
trace_svcrdma_cc_release(&cc->cc_cid, cc->cc_sqecount);
|
||||||
|
|
||||||
first = last = NULL;
|
first = last = NULL;
|
||||||
while ((ctxt = svc_rdma_next_ctxt(&cc->cc_rwctxts)) != NULL) {
|
while ((ctxt = svc_rdma_next_ctxt(&cc->cc_rwctxts)) != NULL) {
|
||||||
list_del(&ctxt->rw_list);
|
list_del(&ctxt->rw_list);
|
||||||
|
Reference in New Issue
Block a user