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 539431a437d2 ("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
..
2014-07-12 18:45:49 -04:00
2014-11-24 17:31:46 -05:00
2014-11-24 17:31:46 -05:00
2014-11-24 17:31:46 -05:00
2014-11-24 17:31:46 -05:00
2012-11-04 14:43:41 -05:00
2015-04-15 15:06:56 -04:00
2014-06-11 15:46:13 -07:00
2015-02-03 11:06:38 -08:00
2015-01-23 10:29:12 -05:00
2014-11-24 17:31:46 -05:00
2012-04-15 12:44:40 -04:00
2015-04-23 15:16:27 -04:00