diff mbox series

[for-next] RDMA/core: Remove unnecessary statements

Message ID 20220223074901.201506-1-yajun.deng@linux.dev (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show
Series [for-next] RDMA/core: Remove unnecessary statements | expand

Commit Message

Yajun Deng Feb. 23, 2022, 7:49 a.m. UTC
The rdma_zalloc_drv_obj() in __ib_alloc_pd() would zero pd, it unnecessary
add NULL to the object in struct pd.

The uverbs_free_pd() already return busy if pd->usecnt is true, there is
no need to add a warning.

Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
---
 drivers/infiniband/core/verbs.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Leon Romanovsky Feb. 24, 2022, 7:15 p.m. UTC | #1
On Wed, Feb 23, 2022 at 03:49:01PM +0800, Yajun Deng wrote:
> The rdma_zalloc_drv_obj() in __ib_alloc_pd() would zero pd, it unnecessary
> add NULL to the object in struct pd.
> 
> The uverbs_free_pd() already return busy if pd->usecnt is true, there is
> no need to add a warning.
> 
> Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
> ---
>  drivers/infiniband/core/verbs.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> index e821dc94a43e..03bc9d34c13d 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -268,8 +268,6 @@ struct ib_pd *__ib_alloc_pd(struct ib_device *device, unsigned int flags,
>  		return ERR_PTR(-ENOMEM);
>  
>  	pd->device = device;
> -	pd->uobject = NULL;
> -	pd->__internal_mr = NULL;
>  	atomic_set(&pd->usecnt, 0);
^^^^^^^^ this line should be removed too.

>  	pd->flags = flags;
>  
> @@ -341,11 +339,6 @@ int ib_dealloc_pd_user(struct ib_pd *pd, struct ib_udata *udata)
>  		pd->__internal_mr = NULL;
>  	}
>  
> -	/* uverbs manipulates usecnt with proper locking, while the kabi
> -	 * requires the caller to guarantee we can't race here.
> -	 */
> -	WARN_ON(atomic_read(&pd->usecnt));
> -

ib_dealloc_pd_user() is called not only in uverbs_free_pd(), but in ib_dealloc_pd() too.
So commit message is not really correct.

Of course, ib_dealloc_pd() is kernel verb and doesn't use ->usecnt at all.

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Jason Gunthorpe Feb. 28, 2022, 5:57 p.m. UTC | #2
On Wed, Feb 23, 2022 at 03:49:01PM +0800, Yajun Deng wrote:
> The rdma_zalloc_drv_obj() in __ib_alloc_pd() would zero pd, it unnecessary
> add NULL to the object in struct pd.
> 
> The uverbs_free_pd() already return busy if pd->usecnt is true, there is
> no need to add a warning.
> 
> Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
> Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
>  drivers/infiniband/core/verbs.c | 7 -------
>  1 file changed, 7 deletions(-)

Applied to for-next, with Leon's note added

Thanks,
Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index e821dc94a43e..03bc9d34c13d 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -268,8 +268,6 @@  struct ib_pd *__ib_alloc_pd(struct ib_device *device, unsigned int flags,
 		return ERR_PTR(-ENOMEM);
 
 	pd->device = device;
-	pd->uobject = NULL;
-	pd->__internal_mr = NULL;
 	atomic_set(&pd->usecnt, 0);
 	pd->flags = flags;
 
@@ -341,11 +339,6 @@  int ib_dealloc_pd_user(struct ib_pd *pd, struct ib_udata *udata)
 		pd->__internal_mr = NULL;
 	}
 
-	/* uverbs manipulates usecnt with proper locking, while the kabi
-	 * requires the caller to guarantee we can't race here.
-	 */
-	WARN_ON(atomic_read(&pd->usecnt));
-
 	ret = pd->device->ops.dealloc_pd(pd, udata);
 	if (ret)
 		return ret;