RDMA/srpt: Increase max_send_sge
authorBart Van Assche <bvanassche@acm.org>
Mon, 25 May 2020 17:22:12 +0000 (10:22 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 29 May 2020 17:49:55 +0000 (14:49 -0300)
The ib_srpt driver limits max_send_sge to 16. Since that is a workaround
for an mlx4 bug that has been fixed, increase max_send_sge. See also
commit f95ccffc715b ("IB/mlx4: Use 4K pages for kernel QP's WQE buffer").

Link: https://lore.kernel.org/r/20200525172212.14413-5-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/ulp/srpt/ib_srpt.c
drivers/infiniband/ulp/srpt/ib_srpt.h

index 84f80f35ec8aff7c1ca91ef7b3bcbd38b6f54ece..ef7fcd3e8e1553e629c86614cbfda93791541632 100644 (file)
@@ -1816,8 +1816,7 @@ retry:
         */
        qp_init->cap.max_send_wr = min(sq_size / 2, attrs->max_qp_wr);
        qp_init->cap.max_rdma_ctxs = sq_size / 2;
-       qp_init->cap.max_send_sge = min(attrs->max_send_sge,
-                                       SRPT_MAX_SG_PER_WQE);
+       qp_init->cap.max_send_sge = attrs->max_send_sge;
        qp_init->cap.max_recv_sge = 1;
        qp_init->port_num = ch->sport->port;
        if (sdev->use_srq)
index 2e1a69840857bf7260aeb867f669992fa90c44df..f31c349d07a1205e98432a6b76121797e55d1bda 100644 (file)
@@ -105,11 +105,6 @@ enum {
        SRP_CMD_ACA = 0x4,
 
        SRPT_DEF_SG_TABLESIZE = 128,
-       /*
-        * An experimentally determined value that avoids that QP creation
-        * fails due to "swiotlb buffer is full" on systems using the swiotlb.
-        */
-       SRPT_MAX_SG_PER_WQE = 16,
 
        MIN_SRPT_SQ_SIZE = 16,
        DEF_SRPT_SQ_SIZE = 4096,