Commit 09d2ba0c authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker

SUNRPC: Update debugging instrumentation in xprt_do_reserve()

Replace a dprintk() with a tracepoint. The tracepoint marks the
point where an RPC request is assigned an XID.

Additional clean up: Remove trace_xprt_enq_xmit, which reports much
the same thing. That tracepoint was added for debugging commit
918f3c1f ("SUNRPC: Improve latency for interactive tasks").
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 78069487
...@@ -1031,37 +1031,6 @@ TRACE_EVENT(xprt_transmit, ...@@ -1031,37 +1031,6 @@ TRACE_EVENT(xprt_transmit,
__entry->seqno, __entry->status) __entry->seqno, __entry->status)
); );
TRACE_EVENT(xprt_enq_xmit,
TP_PROTO(
const struct rpc_task *task,
int stage
),
TP_ARGS(task, stage),
TP_STRUCT__entry(
__field(unsigned int, task_id)
__field(unsigned int, client_id)
__field(u32, xid)
__field(u32, seqno)
__field(int, stage)
),
TP_fast_assign(
__entry->task_id = task->tk_pid;
__entry->client_id = task->tk_client ?
task->tk_client->cl_clid : -1;
__entry->xid = be32_to_cpu(task->tk_rqstp->rq_xid);
__entry->seqno = task->tk_rqstp->rq_seqno;
__entry->stage = stage;
),
TP_printk(
"task:%u@%u xid=0x%08x seqno=%u stage=%d",
__entry->task_id, __entry->client_id, __entry->xid,
__entry->seqno, __entry->stage)
);
TRACE_EVENT(xprt_ping, TRACE_EVENT(xprt_ping,
TP_PROTO(const struct rpc_xprt *xprt, int status), TP_PROTO(const struct rpc_xprt *xprt, int status),
...@@ -1176,6 +1145,30 @@ DEFINE_CONG_EVENT(release_cong); ...@@ -1176,6 +1145,30 @@ DEFINE_CONG_EVENT(release_cong);
DEFINE_CONG_EVENT(get_cong); DEFINE_CONG_EVENT(get_cong);
DEFINE_CONG_EVENT(put_cong); DEFINE_CONG_EVENT(put_cong);
TRACE_EVENT(xprt_reserve,
TP_PROTO(
const struct rpc_rqst *rqst
),
TP_ARGS(rqst),
TP_STRUCT__entry(
__field(unsigned int, task_id)
__field(unsigned int, client_id)
__field(u32, xid)
),
TP_fast_assign(
__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);
),
TP_printk("task:%u@%u xid=0x%08x",
__entry->task_id, __entry->client_id, __entry->xid
)
);
TRACE_EVENT(xs_stream_read_data, TRACE_EVENT(xs_stream_read_data,
TP_PROTO(struct rpc_xprt *xprt, ssize_t err, size_t total), TP_PROTO(struct rpc_xprt *xprt, ssize_t err, size_t total),
......
...@@ -1267,7 +1267,6 @@ xprt_request_enqueue_transmit(struct rpc_task *task) ...@@ -1267,7 +1267,6 @@ xprt_request_enqueue_transmit(struct rpc_task *task)
/* Note: req is added _before_ pos */ /* Note: req is added _before_ pos */
list_add_tail(&req->rq_xmit, &pos->rq_xmit); list_add_tail(&req->rq_xmit, &pos->rq_xmit);
INIT_LIST_HEAD(&req->rq_xmit2); INIT_LIST_HEAD(&req->rq_xmit2);
trace_xprt_enq_xmit(task, 1);
goto out; goto out;
} }
} else if (RPC_IS_SWAPPER(task)) { } else if (RPC_IS_SWAPPER(task)) {
...@@ -1279,7 +1278,6 @@ xprt_request_enqueue_transmit(struct rpc_task *task) ...@@ -1279,7 +1278,6 @@ xprt_request_enqueue_transmit(struct rpc_task *task)
/* Note: req is added _before_ pos */ /* Note: req is added _before_ pos */
list_add_tail(&req->rq_xmit, &pos->rq_xmit); list_add_tail(&req->rq_xmit, &pos->rq_xmit);
INIT_LIST_HEAD(&req->rq_xmit2); INIT_LIST_HEAD(&req->rq_xmit2);
trace_xprt_enq_xmit(task, 2);
goto out; goto out;
} }
} else if (!req->rq_seqno) { } else if (!req->rq_seqno) {
...@@ -1288,13 +1286,11 @@ xprt_request_enqueue_transmit(struct rpc_task *task) ...@@ -1288,13 +1286,11 @@ xprt_request_enqueue_transmit(struct rpc_task *task)
continue; continue;
list_add_tail(&req->rq_xmit2, &pos->rq_xmit2); list_add_tail(&req->rq_xmit2, &pos->rq_xmit2);
INIT_LIST_HEAD(&req->rq_xmit); INIT_LIST_HEAD(&req->rq_xmit);
trace_xprt_enq_xmit(task, 3);
goto out; goto out;
} }
} }
list_add_tail(&req->rq_xmit, &xprt->xmit_queue); list_add_tail(&req->rq_xmit, &xprt->xmit_queue);
INIT_LIST_HEAD(&req->rq_xmit2); INIT_LIST_HEAD(&req->rq_xmit2);
trace_xprt_enq_xmit(task, 4);
out: out:
set_bit(RPC_TASK_NEED_XMIT, &task->tk_runstate); set_bit(RPC_TASK_NEED_XMIT, &task->tk_runstate);
spin_unlock(&xprt->queue_lock); spin_unlock(&xprt->queue_lock);
...@@ -1745,8 +1741,8 @@ xprt_request_init(struct rpc_task *task) ...@@ -1745,8 +1741,8 @@ xprt_request_init(struct rpc_task *task)
req->rq_rcv_buf.bvec = NULL; req->rq_rcv_buf.bvec = NULL;
req->rq_release_snd_buf = NULL; req->rq_release_snd_buf = NULL;
xprt_init_majortimeo(task, req); xprt_init_majortimeo(task, req);
dprintk("RPC: %5u reserved req %p xid %08x\n", task->tk_pid,
req, ntohl(req->rq_xid)); trace_xprt_reserve(req);
} }
static void static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment