xprtrdma: Reduce per-transport MR allocation
Reduce resource consumption per-transport to make way for increasing the credit limit and maximum r/wsize. Pre-allocate fewer MRs. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Steve Wise <swise@opengridcomputing.com> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Reviewed-by: Devesh Sharma <devesh.sharma@avagotech.com> Tested-By: Devesh Sharma <devesh.sharma@avagotech.com> Reviewed-by: Doug Ledford <dledford@redhat.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
acb9da7a57
commit
40c6ed0c8a
|
@ -69,8 +69,10 @@ fmr_op_init(struct rpcrdma_xprt *r_xprt)
|
|||
INIT_LIST_HEAD(&buf->rb_mws);
|
||||
INIT_LIST_HEAD(&buf->rb_all);
|
||||
|
||||
i = (buf->rb_max_requests + 1) * RPCRDMA_MAX_SEGS;
|
||||
dprintk("RPC: %s: initializing %d FMRs\n", __func__, i);
|
||||
i = max_t(int, RPCRDMA_MAX_DATA_SEGS / RPCRDMA_MAX_FMR_SGES, 1);
|
||||
i += 2; /* head + tail */
|
||||
i *= buf->rb_max_requests; /* one set for each RPC slot */
|
||||
dprintk("RPC: %s: initalizing %d FMRs\n", __func__, i);
|
||||
|
||||
rc = -ENOMEM;
|
||||
while (i--) {
|
||||
|
|
|
@ -270,8 +270,10 @@ frwr_op_init(struct rpcrdma_xprt *r_xprt)
|
|||
INIT_LIST_HEAD(&buf->rb_mws);
|
||||
INIT_LIST_HEAD(&buf->rb_all);
|
||||
|
||||
i = (buf->rb_max_requests + 1) * RPCRDMA_MAX_SEGS;
|
||||
dprintk("RPC: %s: initializing %d FRMRs\n", __func__, i);
|
||||
i = max_t(int, RPCRDMA_MAX_DATA_SEGS / depth, 1);
|
||||
i += 2; /* head + tail */
|
||||
i *= buf->rb_max_requests; /* one set for each RPC slot */
|
||||
dprintk("RPC: %s: initalizing %d FRMRs\n", __func__, i);
|
||||
|
||||
while (i--) {
|
||||
struct rpcrdma_mw *r;
|
||||
|
|
Loading…
Reference in New Issue