diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2016-03-04 17:28:53 +0100 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-03-14 19:56:08 +0100 |
commit | 2fa8f88d8892507ecff0126fbc67906740491d31 (patch) | |
tree | 99c829f5897348777b6d684a00e53f6cede42991 /fs/sync.c | |
parent | xprtrdma: Use an anonymous union in struct rpcrdma_mw (diff) | |
download | linux-2fa8f88d8892507ecff0126fbc67906740491d31.tar.xz linux-2fa8f88d8892507ecff0126fbc67906740491d31.zip |
xprtrdma: Use new CQ API for RPC-over-RDMA client send CQs
Calling ib_poll_cq() to sort through WCs during a completion is a
common pattern amongst RDMA consumers. Since commit 14d3a3b2498e
("IB: add a proper completion queue abstraction"), WC sorting can
be handled by the IB core.
By converting to this new API, xprtrdma is made a better neighbor to
other RDMA consumers, as it allows the core to schedule the delivery
of completions more fairly amongst all active consumers.
Because each ib_cqe carries a pointer to a completion method, the
core can now post its own operations on a consumer's QP, and handle
the completions itself, without changes to the consumer.
Send completions were previously handled entirely in the completion
upcall handler (ie, deferring to a process context is unneeded).
Thus IB_POLL_SOFTIRQ is a direct replacement for the current
xprtrdma send code path.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Devesh Sharma <devesh.sharma@broadcom.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/sync.c')
0 files changed, 0 insertions, 0 deletions