Re: [PATCH rdma-next] RDMA/rdmavt: Decouple QP and SGE lists allocations

From: Dennis Dalessandro
Date: Thu May 13 2021 - 15:03:55 EST


On 5/12/21 8:50 AM, Leon Romanovsky wrote:
On Wed, May 12, 2021 at 12:25:15PM +0000, Marciniszyn, Mike wrote:
Thanks Leon, we'll get this put through our testing.

Thanks a lot.



The patch as is passed all our functional testing.

Thanks Mike,

Can I ask you to perform a performance comparison between this patch and
the following?

We have years of performance data with the code the way it is. Please maintain the original functionality of the code when moving things into the core unless there is a compelling reason to change. That is not the case here.


diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c
index 4522071fc220..d0e0f7cbe17a 100644
--- a/drivers/infiniband/sw/rdmavt/qp.c
+++ b/drivers/infiniband/sw/rdmavt/qp.c
@@ -1134,7 +1134,7 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd,
} else if (init_attr->cap.max_recv_sge > 1)
sg_list_sz = sizeof(*qp->r_sg_list) *
(init_attr->cap.max_recv_sge - 1);
- qp = kzalloc(sizeof(*qp), GFP_KERNEL);
+ qp = kzalloc_node(sizeof(*qp), GFP_KERNEL, rdi->dparms.node);
if (!qp)
goto bail_swq;
qp->r_sg_list =



-Denny