linux_dsm_epyc7002/net/sunrpc/xprtrdma
Chuck Lever c14d86e591 xprtrdma: Acquire MRs in rpcrdma_register_external()
Acquiring 64 MRs in rpcrdma_buffer_get() while holding the buffer
pool lock is expensive, and unnecessary because most modern adapters
can transfer 100s of KBs of payload using just a single MR.

Instead, acquire MRs one-at-a-time as chunks are registered, and
return them to rb_mws immediately during deregistration.

Note: commit 539431a437 ("xprtrdma: Don't invalidate FRMRs if
registration fails") is reverted: There is now a valid case where
registration can fail (with -ENOMEM) but the QP is still in RTS.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.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>
2015-06-12 13:10:37 -04:00
..
fmr_ops.c xprtrdma: Acquire FMRs in rpcrdma_fmr_register_external() 2015-06-12 13:10:36 -04:00
frwr_ops.c xprtrdma: Acquire MRs in rpcrdma_register_external() 2015-06-12 13:10:37 -04:00
Makefile xprtrdma: Add vector of ops for each memory registration strategy 2015-03-31 09:52:52 -04:00
physical_ops.c xprtrdma: Use ib_device pointer safely 2015-06-12 13:10:36 -04:00
rpc_rdma.c xprtrdma: Acquire MRs in rpcrdma_register_external() 2015-06-12 13:10:37 -04:00
svc_rdma_marshal.c svcrdma: Clean up read chunk counting 2015-01-15 15:01:44 -05:00
svc_rdma_recvfrom.c svcrdma: Handle additional inline content 2015-01-15 15:01:49 -05:00
svc_rdma_sendto.c svcrdma: Find rmsgp more reliably 2015-01-15 15:01:45 -05:00
svc_rdma_transport.c svcrdma: Plant reader function in struct svcxprt_rdma 2015-01-15 15:01:46 -05:00
svc_rdma.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
transport.c xprtrdma: Introduce an FRMR recovery workqueue 2015-06-12 13:10:36 -04:00
verbs.c xprtrdma: Acquire MRs in rpcrdma_register_external() 2015-06-12 13:10:37 -04:00
xprt_rdma.h xprtrdma: Introduce an FRMR recovery workqueue 2015-06-12 13:10:36 -04:00