xprtrdma: Serialize credit accounting again
authorChuck Lever <chuck.lever@oracle.com>
Fri, 4 Mar 2016 16:28:27 +0000 (11:28 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 14 Mar 2016 18:56:01 +0000 (14:56 -0400)
commit23826c7aeac7e333bfee6f10a3407a23c58b6147
treeeeb5fe145b13b537658bb346e6dd958eaeb5e6d6
parent59aa1f9a3cce388b4d7d842d6963df11d92a407e
xprtrdma: Serialize credit accounting again

Commit fe97b47cd623 ("xprtrdma: Use workqueue to process RPC/RDMA
replies") replaced the reply tasklet with a workqueue that allows
RPC replies to be processed in parallel. Thus the credit values in
RPC-over-RDMA replies can be applied in a different order than in
which the server sent them.

To fix this, revert commit eba8ff660b2d ("xprtrdma: Move credit
update to RPC reply handler"). Reverting is done by hand to
accommodate code changes that have occurred since then.

Fixes: fe97b47cd623 ("xprtrdma: Use workqueue to process . . .")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/rpc_rdma.c
net/sunrpc/xprtrdma/verbs.c
net/sunrpc/xprtrdma/xprt_rdma.h