diff mbox series

[for-next,v2] RDMA/cma: Remove unnecessary INIT->INIT transition

Message ID 1623996475-23986-1-git-send-email-haakon.bugge@oracle.com (mailing list archive)
State Superseded
Headers show
Series [for-next,v2] RDMA/cma: Remove unnecessary INIT->INIT transition | expand

Commit Message

Haakon Bugge June 18, 2021, 6:07 a.m. UTC
In rdma_create_qp(), a connected QP will be transitioned to the INIT
state.

Afterwards, the QP will be transitioned to the RTR state by the
cma_modify_qp_rtr() function. But this function starts by performing
an ib_modify_qp() to the INIT state again, before another
ib_modify_qp() is performed to transition the QP to the RTR state.

Hence, there is no need to transition the QP to the INIT state in
rdma_create_qp().

Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>

---

	v1 -> v2:
	   * Fixed uninitialized ret variable as:
	     Reported-by: kernel test robot <lkp@intel.com>
---
 drivers/infiniband/core/cma.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

Comments

Leon Romanovsky June 23, 2021, 5:32 a.m. UTC | #1
On Fri, Jun 18, 2021 at 08:07:55AM +0200, Håkon Bugge wrote:
> In rdma_create_qp(), a connected QP will be transitioned to the INIT
> state.
> 
> Afterwards, the QP will be transitioned to the RTR state by the
> cma_modify_qp_rtr() function. But this function starts by performing
> an ib_modify_qp() to the INIT state again, before another
> ib_modify_qp() is performed to transition the QP to the RTR state.
> 
> Hence, there is no need to transition the QP to the INIT state in
> rdma_create_qp().
> 
> Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
> 
> ---
> 
> 	v1 -> v2:
> 	   * Fixed uninitialized ret variable as:
> 	     Reported-by: kernel test robot <lkp@intel.com>
> ---
>  drivers/infiniband/core/cma.c | 17 +----------------
>  1 file changed, 1 insertion(+), 16 deletions(-)
> 

I reviewed v1, let's add this tag to v2 too.

Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Leon Romanovsky June 23, 2021, 5:43 a.m. UTC | #2
On Wed, Jun 23, 2021 at 08:32:59AM +0300, Leon Romanovsky wrote:
> On Fri, Jun 18, 2021 at 08:07:55AM +0200, Håkon Bugge wrote:
> > In rdma_create_qp(), a connected QP will be transitioned to the INIT
> > state.
> > 
> > Afterwards, the QP will be transitioned to the RTR state by the
> > cma_modify_qp_rtr() function. But this function starts by performing
> > an ib_modify_qp() to the INIT state again, before another
> > ib_modify_qp() is performed to transition the QP to the RTR state.
> > 
> > Hence, there is no need to transition the QP to the INIT state in
> > rdma_create_qp().
> > 
> > Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
> > 
> > ---
> > 
> > 	v1 -> v2:
> > 	   * Fixed uninitialized ret variable as:
> > 	     Reported-by: kernel test robot <lkp@intel.com>
> > ---
> >  drivers/infiniband/core/cma.c | 17 +----------------
> >  1 file changed, 1 insertion(+), 16 deletions(-)
> > 
> 
> I reviewed v1, let's add this tag to v2 too.
> 
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>

Ahh, you sent this patch as part of other series with same version :(.

Thanks
Haakon Bugge June 23, 2021, 1:28 p.m. UTC | #3
> On 23 Jun 2021, at 07:43, Leon Romanovsky <leon@kernel.org> wrote:
> 
> On Wed, Jun 23, 2021 at 08:32:59AM +0300, Leon Romanovsky wrote:
>> On Fri, Jun 18, 2021 at 08:07:55AM +0200, Håkon Bugge wrote:
>>> In rdma_create_qp(), a connected QP will be transitioned to the INIT
>>> state.
>>> 
>>> Afterwards, the QP will be transitioned to the RTR state by the
>>> cma_modify_qp_rtr() function. But this function starts by performing
>>> an ib_modify_qp() to the INIT state again, before another
>>> ib_modify_qp() is performed to transition the QP to the RTR state.
>>> 
>>> Hence, there is no need to transition the QP to the INIT state in
>>> rdma_create_qp().
>>> 
>>> Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
>>> 
>>> ---
>>> 
>>> 	v1 -> v2:
>>> 	   * Fixed uninitialized ret variable as:
>>> 	     Reported-by: kernel test robot <lkp@intel.com>
>>> ---
>>> drivers/infiniband/core/cma.c | 17 +----------------
>>> 1 file changed, 1 insertion(+), 16 deletions(-)
>>> 
>> 
>> I reviewed v1, let's add this tag to v2 too.
>> 
>> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
> 
> Ahh, you sent this patch as part of other series with same version :(.

Oops, yes. Sorry for the confusion ;-)

Håkon

> 
> Thanks
diff mbox series

Patch

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 2b9ffc2..20c155c 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -925,25 +925,12 @@  static int cma_init_ud_qp(struct rdma_id_private *id_priv, struct ib_qp *qp)
 	return ret;
 }
 
-static int cma_init_conn_qp(struct rdma_id_private *id_priv, struct ib_qp *qp)
-{
-	struct ib_qp_attr qp_attr;
-	int qp_attr_mask, ret;
-
-	qp_attr.qp_state = IB_QPS_INIT;
-	ret = rdma_init_qp_attr(&id_priv->id, &qp_attr, &qp_attr_mask);
-	if (ret)
-		return ret;
-
-	return ib_modify_qp(qp, &qp_attr, qp_attr_mask);
-}
-
 int rdma_create_qp(struct rdma_cm_id *id, struct ib_pd *pd,
 		   struct ib_qp_init_attr *qp_init_attr)
 {
 	struct rdma_id_private *id_priv;
 	struct ib_qp *qp;
-	int ret;
+	int ret = 0;
 
 	id_priv = container_of(id, struct rdma_id_private, id);
 	if (id->device != pd->device) {
@@ -960,8 +947,6 @@  int rdma_create_qp(struct rdma_cm_id *id, struct ib_pd *pd,
 
 	if (id->qp_type == IB_QPT_UD)
 		ret = cma_init_ud_qp(id_priv, qp);
-	else
-		ret = cma_init_conn_qp(id_priv, qp);
 	if (ret)
 		goto out_destroy;