xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue
authorChuck Lever <chuck.lever@oracle.com>
Wed, 19 Dec 2018 15:58:29 +0000 (10:58 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 2 Jan 2019 17:05:16 +0000 (12:05 -0500)
commit6d2d0ee27c7a12371a0ca51a5db414204901228c
tree4dcab040d2dec42c080a0f4cdfb59fac8bb5e1d4
parent6ceea36890a01aa626ce08487eecc5fb43e749b1
xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue

To address a connection-close ordering problem, we need the ability
to drain the RPC completions running on rpcrdma_receive_wq for just
one transport. Give each transport its own RPC completion workqueue,
and drain that workqueue when disconnecting the transport.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtrdma/verbs.c
net/sunrpc/xprtrdma/xprt_rdma.h