SUNRPC: Replace dprintk() call site in xprt_prepare_transmit
authorChuck Lever <chuck.lever@oracle.com>
Wed, 8 Jul 2020 20:09:26 +0000 (16:09 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 21 Sep 2020 14:21:08 +0000 (10:21 -0400)
Generate a trace event when an RPC request is queued without being
sent immediately.

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

index 781277b..9746a72 100644 (file)
@@ -1093,6 +1093,7 @@ DECLARE_EVENT_CLASS(xprt_writelock_event,
 
 DEFINE_WRITELOCK_EVENT(reserve_xprt);
 DEFINE_WRITELOCK_EVENT(release_xprt);
+DEFINE_WRITELOCK_EVENT(transmit_queued);
 
 DECLARE_EVENT_CLASS(xprt_cong_event,
        TP_PROTO(
index 0e4659b..9da7c6e 100644 (file)
@@ -1408,9 +1408,9 @@ bool xprt_prepare_transmit(struct rpc_task *task)
        struct rpc_rqst *req = task->tk_rqstp;
        struct rpc_xprt *xprt = req->rq_xprt;
 
-       dprintk("RPC: %5u xprt_prepare_transmit\n", task->tk_pid);
-
        if (!xprt_lock_write(xprt, task)) {
+               trace_xprt_transmit_queued(xprt, task);
+
                /* Race breaker: someone may have transmitted us */
                if (!test_bit(RPC_TASK_NEED_XMIT, &task->tk_runstate))
                        rpc_wake_up_queued_task_set_status(&xprt->sending,