From: Chuck Lever <chuck.lever@oracle.com> To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Subject: [PATCH v2 1/8] xprtrdma: Avoid Receive Queue wrapping Date: Fri, 02 Apr 2021 11:30:18 -0400 [thread overview] Message-ID: <161737741848.2012531.4888281916982707053.stgit@manet.1015granger.net> (raw) In-Reply-To: <161737723751.2012531.17740046594972271239.stgit@manet.1015granger.net> 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> --- net/sunrpc/xprtrdma/frwr_ops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/sunrpc/xprtrdma/frwr_ops.c b/net/sunrpc/xprtrdma/frwr_ops.c index 766a1048a48a..132df9b59ab4 100644 --- a/net/sunrpc/xprtrdma/frwr_ops.c +++ b/net/sunrpc/xprtrdma/frwr_ops.c @@ -257,6 +257,7 @@ int frwr_query_device(struct rpcrdma_ep *ep, const struct ib_device *device) ep->re_attr.cap.max_send_wr += 1; /* for ib_drain_sq */ ep->re_attr.cap.max_recv_wr = ep->re_max_requests; ep->re_attr.cap.max_recv_wr += RPCRDMA_BACKWARD_WRS; + ep->re_attr.cap.max_recv_wr += RPCRDMA_MAX_RECV_BATCH; ep->re_attr.cap.max_recv_wr += 1; /* for ib_drain_rq */ ep->re_max_rdma_segs =
next prev parent reply other threads:[~2021-04-02 15:30 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-02 15:30 [PATCH v2 0/8] xprtrdma Receive Queue fixes Chuck Lever 2021-04-02 15:30 ` Chuck Lever [this message] 2021-04-02 15:30 ` [PATCH v2 2/8] xprtrdma: Do not refresh Receive Queue while it is draining Chuck Lever 2021-04-02 15:30 ` [PATCH v2 3/8] xprtrdma: Put flushed Receives on free list instead of destroying them Chuck Lever 2021-04-02 15:30 ` [PATCH v2 4/8] xprtrdma: Improve locking around rpcrdma_rep destruction Chuck Lever 2021-04-02 15:30 ` [PATCH v2 5/8] xprtrdma: Improve commentary around rpcrdma_reps_unmap() Chuck Lever 2021-04-02 15:30 ` [PATCH v2 6/8] xprtrdma: Improve locking around rpcrdma_rep creation Chuck Lever 2021-04-02 15:30 ` [PATCH v2 7/8] xprtrdma: Fix cwnd update ordering Chuck Lever 2021-04-02 15:31 ` [PATCH v2 8/8] xprtrdma: Delete rpcrdma_recv_buffer_put() Chuck Lever
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=161737741848.2012531.4888281916982707053.stgit@manet.1015granger.net \ --to=chuck.lever@oracle.com \ --cc=linux-nfs@vger.kernel.org \ --cc=linux-rdma@vger.kernel.org \ --subject='Re: [PATCH v2 1/8] xprtrdma: Avoid Receive Queue wrapping' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.