diff mbox series

[rdma-next,v2,1/3] RDMA/nes: Remove useless usecnt variable and redundant memset

Message ID 20190212183916.9561-2-leon@kernel.org (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series Convert ucontext allocation from driver to IB/core | expand

Commit Message

Leon Romanovsky Feb. 12, 2019, 6:39 p.m. UTC
From: Leon Romanovsky <leonro@mellanox.com>

The internal design of RDMA/core ensures that there dealloc ucontext
will be called only if alloc_ucontext succeeded, hence there is no
need to manage internal variable to mark validity of ucontext.

As part of this change, remove redundant memeset too.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 drivers/infiniband/hw/nes/nes_verbs.c | 9 +--------
 drivers/infiniband/hw/nes/nes_verbs.h | 1 -
 2 files changed, 1 insertion(+), 9 deletions(-)

Comments

Jason Gunthorpe Feb. 16, 2019, 4:37 a.m. UTC | #1
On Tue, Feb 12, 2019 at 08:39:14PM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> The internal design of RDMA/core ensures that there dealloc ucontext
> will be called only if alloc_ucontext succeeded, hence there is no
> need to manage internal variable to mark validity of ucontext.
> 
> As part of this change, remove redundant memeset too.
> 
> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
> ---
>  drivers/infiniband/hw/nes/nes_verbs.c | 9 +--------
>  drivers/infiniband/hw/nes/nes_verbs.h | 1 -
>  2 files changed, 1 insertion(+), 9 deletions(-)

Applied to for-next

Thanks,
Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
index f18b28ae4bd9..9239d39e140e 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.c
+++ b/drivers/infiniband/hw/nes/nes_verbs.c
@@ -535,7 +535,7 @@  static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
 	struct nes_device *nesdev = nesvnic->nesdev;
 	struct nes_adapter *nesadapter = nesdev->nesadapter;
 	struct nes_alloc_ucontext_req req;
-	struct nes_alloc_ucontext_resp uresp;
+	struct nes_alloc_ucontext_resp urespi = {};
 	struct nes_ucontext *nes_ucontext;
 	struct nes_ib_device *nesibdev = nesvnic->nesibdev;
 
@@ -552,8 +552,6 @@  static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
 	}
 
 
-	memset(&uresp, 0, sizeof uresp);
-
 	uresp.max_qps = nesibdev->max_qp;
 	uresp.max_pds = nesibdev->max_pd;
 	uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2;
@@ -578,7 +576,6 @@  static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
 
 	INIT_LIST_HEAD(&nes_ucontext->cq_reg_mem_list);
 	INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list);
-	atomic_set(&nes_ucontext->usecnt, 1);
 	return &nes_ucontext->ibucontext;
 }
 
@@ -588,12 +585,8 @@  static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
  */
 static int nes_dealloc_ucontext(struct ib_ucontext *context)
 {
-	/* struct nes_vnic *nesvnic = to_nesvnic(context->device); */
-	/* struct nes_device *nesdev = nesvnic->nesdev; */
 	struct nes_ucontext *nes_ucontext = to_nesucontext(context);
 
-	if (!atomic_dec_and_test(&nes_ucontext->usecnt))
-	  return 0;
 	kfree(nes_ucontext);
 	return 0;
 }
diff --git a/drivers/infiniband/hw/nes/nes_verbs.h b/drivers/infiniband/hw/nes/nes_verbs.h
index e02a5662dc20..114a9b59fefd 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.h
+++ b/drivers/infiniband/hw/nes/nes_verbs.h
@@ -59,7 +59,6 @@  struct nes_ucontext {
 	struct list_head   cq_reg_mem_list;
 	struct list_head   qp_reg_mem_list;
 	u32                mcrqf;
-	atomic_t	   usecnt;
 };
 
 struct nes_pd {