<div dir="ltr">As Sergey say in original ticket, It patch change system tunable without any visible effects.<div>So user will continue to think it uses a max sends XX when system have change it to some other value.</div><div>Let's change CDEBUG(D_NET to warning, or rework a patch.</div><div>It patch needs because someone may set max sends over HW card limitation, so good fix will take config from card and adjust max sends without a loop.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 9, 2016 at 5:53 PM, James Simmons <span dir="ltr"><<a href="mailto:jsimmons@infradead.org" target="_blank">jsimmons@infradead.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Dmitry Eremin <<a href="mailto:dmitry.eremin@intel.com">dmitry.eremin@intel.com</a>><br>
<br>
Decrease cap.max_send_wr until it is accepted by rdma_create_qp()<br>
<br>
Signed-off-by: Dmitry Eremin <<a href="mailto:dmitry.eremin@intel.com">dmitry.eremin@intel.com</a>><br>
Intel-bug-id: <a href="https://jira.hpdd.intel.com/browse/LU-7124" rel="noreferrer" target="_blank">https://jira.hpdd.intel.com/browse/LU-7124</a><br>
Reviewed-on: <a href="http://review.whamcloud.com/18347" rel="noreferrer" target="_blank">http://review.whamcloud.com/18347</a><br>
Reviewed-by: Olaf Weber <<a href="mailto:olaf@sgi.com">olaf@sgi.com</a>><br>
Reviewed-by: Doug Oucharek <<a href="mailto:doug.s.oucharek@intel.com">doug.s.oucharek@intel.com</a>><br>
Reviewed-by: Oleg Drokin <<a href="mailto:oleg.drokin@intel.com">oleg.drokin@intel.com</a>><br>
Signed-off-by: James Simmons <<a href="mailto:jsimmons@infradead.org">jsimmons@infradead.org</a>><br>
---<br>
 .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c    |   11 ++++++++++-<br>
 1 files changed, 10 insertions(+), 1 deletions(-)<br>
<br>
diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c<br>
index d99b4fa..bc179a2 100644<br>
--- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c<br>
+++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c<br>
@@ -768,7 +768,12 @@ kib_conn_t *kiblnd_create_conn(kib_peer_t *peer, struct rdma_cm_id *cmid,<br>
<br>
        conn->ibc_sched = sched;<br>
<br>
-       rc = rdma_create_qp(cmid, conn->ibc_hdev->ibh_pd, init_qp_attr);<br>
+       do {<br>
+               rc = rdma_create_qp(cmid, conn->ibc_hdev->ibh_pd, init_qp_attr);<br>
+               if (!rc || init_qp_attr->cap.max_send_wr < 16)<br>
+                       break;<br>
+       } while (rc);<br>
+<br>
        if (rc) {<br>
                CERROR("Can't create QP: %d, send_wr: %d, recv_wr: %d\n",<br>
                       rc, init_qp_attr->cap.max_send_wr,<br>
@@ -776,6 +781,10 @@ kib_conn_t *kiblnd_create_conn(kib_peer_t *peer, struct rdma_cm_id *cmid,<br>
                goto failed_2;<br>
        }<br>
<br>
+       if (init_qp_attr->cap.max_send_wr != IBLND_SEND_WRS(conn))<br>
+               CDEBUG(D_NET, "original send wr %d, created with %d\n",<br>
+                      IBLND_SEND_WRS(conn), init_qp_attr->cap.max_send_wr);<br>
+<br>
        LIBCFS_FREE(init_qp_attr, sizeof(*init_qp_attr));<br>
<br>
        /* 1 ref for caller and each rxmsg */<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.1<br>
<br>
_______________________________________________<br>
lustre-devel mailing list<br>
<a href="mailto:lustre-devel@lists.lustre.org">lustre-devel@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org" rel="noreferrer" target="_blank">http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Alexey Lyashkov <strong>·</strong> Technical lead for a Morpheus team<br>
Seagate Technology, LLC<br>
<a href="http://www.seagate.com" target="_blank">www.seagate.com</a><br><div><a href="http://www.lustre.org" target="_blank">www.lustre.org</a></div></div></div>
</div>