Skip to content

Commit f54c870

Browse files
chuckleveramschuma-ntap
authored andcommitted
xprtrdma: Replace dprintk() in rpcrdma_update_connect_private()
Clean up: Use a single trace point to record each connection's negotiated inline thresholds and the computed maximum byte size of transport headers. Signed-off-by: Chuck Lever <[email protected]> Signed-off-by: Anna Schumaker <[email protected]>
1 parent d4957f0 commit f54c870

File tree

3 files changed

+46
-15
lines changed

3 files changed

+46
-15
lines changed

include/trace/events/rpcrdma.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,42 @@ TRACE_EVENT(xprtrdma_cm_event,
371371
)
372372
);
373373

374+
TRACE_EVENT(xprtrdma_inline_thresh,
375+
TP_PROTO(
376+
const struct rpcrdma_xprt *r_xprt
377+
),
378+
379+
TP_ARGS(r_xprt),
380+
381+
TP_STRUCT__entry(
382+
__field(const void *, r_xprt)
383+
__field(unsigned int, inline_send)
384+
__field(unsigned int, inline_recv)
385+
__field(unsigned int, max_send)
386+
__field(unsigned int, max_recv)
387+
__string(addr, rpcrdma_addrstr(r_xprt))
388+
__string(port, rpcrdma_portstr(r_xprt))
389+
),
390+
391+
TP_fast_assign(
392+
const struct rpcrdma_ep *ep = &r_xprt->rx_ep;
393+
394+
__entry->r_xprt = r_xprt;
395+
__entry->inline_send = ep->rep_inline_send;
396+
__entry->inline_recv = ep->rep_inline_recv;
397+
__entry->max_send = ep->rep_max_inline_send;
398+
__entry->max_recv = ep->rep_max_inline_recv;
399+
__assign_str(addr, rpcrdma_addrstr(r_xprt));
400+
__assign_str(port, rpcrdma_portstr(r_xprt));
401+
),
402+
403+
TP_printk("peer=[%s]:%s r_xprt=%p neg send/recv=%u/%u, calc send/recv=%u/%u",
404+
__get_str(addr), __get_str(port), __entry->r_xprt,
405+
__entry->inline_send, __entry->inline_recv,
406+
__entry->max_send, __entry->max_recv
407+
)
408+
);
409+
374410
DEFINE_CONN_EVENT(connect);
375411
DEFINE_CONN_EVENT(disconnect);
376412

net/sunrpc/xprtrdma/rpc_rdma.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,6 @@ static unsigned int rpcrdma_max_call_header_size(unsigned int maxsegs)
7878
size += rpcrdma_segment_maxsz * sizeof(__be32);
7979
size += sizeof(__be32); /* list discriminator */
8080

81-
dprintk("RPC: %s: max call header size = %u\n",
82-
__func__, size);
8381
return size;
8482
}
8583

@@ -100,8 +98,6 @@ static unsigned int rpcrdma_max_reply_header_size(unsigned int maxsegs)
10098
size += maxsegs * rpcrdma_segment_maxsz * sizeof(__be32);
10199
size += sizeof(__be32); /* list discriminator */
102100

103-
dprintk("RPC: %s: max reply header size = %u\n",
104-
__func__, size);
105101
return size;
106102
}
107103

net/sunrpc/xprtrdma/verbs.c

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,11 @@ rpcrdma_wc_receive(struct ib_cq *cq, struct ib_wc *wc)
177177
rpcrdma_recv_buffer_put(rep);
178178
}
179179

180-
static void
181-
rpcrdma_update_connect_private(struct rpcrdma_xprt *r_xprt,
182-
struct rdma_conn_param *param)
180+
static void rpcrdma_update_cm_private(struct rpcrdma_xprt *r_xprt,
181+
struct rdma_conn_param *param)
183182
{
184183
const struct rpcrdma_connect_private *pmsg = param->private_data;
184+
struct rpcrdma_ep *ep = &r_xprt->rx_ep;
185185
unsigned int rsize, wsize;
186186

187187
/* Default settings for RPC-over-RDMA Version One */
@@ -197,13 +197,11 @@ rpcrdma_update_connect_private(struct rpcrdma_xprt *r_xprt,
197197
wsize = rpcrdma_decode_buffer_size(pmsg->cp_recv_size);
198198
}
199199

200-
if (rsize < r_xprt->rx_ep.rep_inline_recv)
201-
r_xprt->rx_ep.rep_inline_recv = rsize;
202-
if (wsize < r_xprt->rx_ep.rep_inline_send)
203-
r_xprt->rx_ep.rep_inline_send = wsize;
204-
dprintk("RPC: %s: max send %u, max recv %u\n", __func__,
205-
r_xprt->rx_ep.rep_inline_send,
206-
r_xprt->rx_ep.rep_inline_recv);
200+
if (rsize < ep->rep_inline_recv)
201+
ep->rep_inline_recv = rsize;
202+
if (wsize < ep->rep_inline_send)
203+
ep->rep_inline_send = wsize;
204+
207205
rpcrdma_set_max_header_sizes(r_xprt);
208206
}
209207

@@ -257,7 +255,8 @@ rpcrdma_cm_event_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
257255
case RDMA_CM_EVENT_ESTABLISHED:
258256
++xprt->connect_cookie;
259257
ep->rep_connected = 1;
260-
rpcrdma_update_connect_private(r_xprt, &event->param.conn);
258+
rpcrdma_update_cm_private(r_xprt, &event->param.conn);
259+
trace_xprtrdma_inline_thresh(r_xprt);
261260
wake_up_all(&ep->rep_connect_wait);
262261
break;
263262
case RDMA_CM_EVENT_CONNECT_ERROR:

0 commit comments

Comments
 (0)