xprtrdma: Avoid Receive Queue wrapping
authorChuck Lever <chuck.lever@oracle.com>
Mon, 19 Apr 2021 18:02:03 +0000 (14:02 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 08:29:42 +0000 (10:29 +0200)
commit6276265c31a70fa88a8c1317e09f2e01d4d9c339
tree1d991a415c39ca1aa85f04f068bdacde2d53afde
parent8a6f204ac8413c9a9760e5c249885a256e6df44f
xprtrdma: Avoid Receive Queue wrapping

[ Upstream commit 32e6b68167f1d446111c973d57e6f52aee11897a ]

Commit e340c2d6ef2a ("xprtrdma: Reduce the doorbell rate (Receive)")
increased the number of Receive WRs that are posted by the client,
but did not increase the size of the Receive Queue allocated during
transport set-up.

This is usually not an issue because RPCRDMA_BACKWARD_WRS is defined
as (32) when SUNRPC_BACKCHANNEL is defined. In cases where it isn't,
there is a real risk of Receive Queue wrapping.

Fixes: e340c2d6ef2a ("xprtrdma: Reduce the doorbell rate (Receive)")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sunrpc/xprtrdma/frwr_ops.c