From: Devesh Sharma <devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 2/5] libbnxt_re: fix wqe size for the 0-len posting
Date: Fri, 12 May 2017 06:24:23 -0400 [thread overview]
Message-ID: <1494584666-11064-3-git-send-email-devesh.sharma@broadcom.com> (raw)
In-Reply-To: <1494584666-11064-1-git-send-email-devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
From: Somnath Kotur <somnath.kotur-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
rstream does not include any SGEs in the traffic it generates
with zero length. In this case wqe preparation logic is
calculating WQE-size=2. This is resulting WQE_FORMAT_ERROR
when h/w is processing the wqe. Our h/w requires host to supply
WQE Size with room for atleast one SGE. Thus, this patch is
increasing the wqe-size by 1 whenever wr->num_sges are zero.
Signed-off-by: Somnath Kotur <somnath.kotur-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Signed-off-by: Devesh Sharma <devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
---
providers/bnxt_re/verbs.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/providers/bnxt_re/verbs.c b/providers/bnxt_re/verbs.c
index 35eb12d..7cf0b86 100644
--- a/providers/bnxt_re/verbs.c
+++ b/providers/bnxt_re/verbs.c
@@ -1081,6 +1081,11 @@ static int bnxt_re_build_send_sqe(struct bnxt_re_qp *qp, void *wqe,
} else {
qesize = wr->num_sge;
}
+ /* HW requires wqe size has room for atleast one sge even if none was
+ * supplied by application
+ */
+ if (!wr->num_sge)
+ qesize++;
qesize += (bnxt_re_get_sqe_hdr_sz() >> 4);
hdrval |= (qesize & BNXT_RE_HDR_WS_MASK) << BNXT_RE_HDR_WS_SHIFT;
hdr->rsv_ws_fl_wt |= htole32(hdrval);
@@ -1259,6 +1264,11 @@ static int bnxt_re_build_rqe(struct bnxt_re_qp *qp, struct ibv_recv_wr *wr,
len = bnxt_re_build_sge(sge, wr->sg_list, wr->num_sge, false);
wqe_sz = wr->num_sge + (bnxt_re_get_rqe_hdr_sz() >> 4); /* 16B align */
+ /* HW requires wqe size has room for atleast one sge even if none was
+ * supplied by application
+ */
+ if (!wr->num_sge)
+ wqe_sz++;
hdrval = BNXT_RE_WR_OPCD_RECV;
hdrval |= ((wqe_sz & BNXT_RE_HDR_WS_MASK) << BNXT_RE_HDR_WS_SHIFT);
hdr->rsv_ws_fl_wt = htole32(hdrval);
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-05-12 10:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-12 10:24 [PATCH 0/5] libbnxt_re: Critical bug fix series Devesh Sharma
[not found] ` <1494584666-11064-1-git-send-email-devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-05-12 10:24 ` [PATCH 1/5] libbnxt_re: sq needs to be augmented by 128B Devesh Sharma
2017-05-12 10:24 ` Devesh Sharma [this message]
2017-05-12 10:24 ` [PATCH 3/5] libbnxt_re: move rts to rts after a threshold Devesh Sharma
2017-05-12 10:24 ` [PATCH 4/5] libbnxt_re: unmap DB page during uninit ucontext Devesh Sharma
2017-05-12 10:24 ` [PATCH 5/5] libbnxt_re: reset head and tail when moving to RST Devesh Sharma
[not found] ` <1494584666-11064-6-git-send-email-devesh.sharma-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-05-12 16:08 ` Jason Gunthorpe
2017-05-13 10:49 ` [PATCH 0/5] libbnxt_re: Critical bug fix series Leon Romanovsky
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=1494584666-11064-3-git-send-email-devesh.sharma@broadcom.com \
--to=devesh.sharma-dy08kvg/lbpwk0htik3j/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.