Re: [PATCH] misc: vmw_vmci: Switch to kvfree_rcu() API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 15, 2021 at 12:18:42PM +0100, Uladzislau Rezki (Sony) wrote:
> Instead of invoking a synchronize_rcu() to free a pointer
> after a grace period we can directly make use of new API
> that does the same but in more efficient way.
> 
> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> TO: Jorgen Hansen <jhansen@xxxxxxxxxx>
> TO: Vishnu Dasa <vdasa@xxxxxxxxxx>
> TO: pv-drivers@xxxxxxxxxx
> 
> Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
> ---
>  drivers/misc/vmw_vmci/vmci_context.c | 6 ++----
>  drivers/misc/vmw_vmci/vmci_event.c   | 3 +--
>  2 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/misc/vmw_vmci/vmci_context.c b/drivers/misc/vmw_vmci/vmci_context.c
> index c0b5e339d5a1..6cf3e21c7604 100644
> --- a/drivers/misc/vmw_vmci/vmci_context.c
> +++ b/drivers/misc/vmw_vmci/vmci_context.c
> @@ -687,10 +687,8 @@ int vmci_ctx_remove_notification(u32 context_id, u32 remote_cid)
>  	}
>  	spin_unlock(&context->lock);
>  
> -	if (found) {
> -		synchronize_rcu();
> -		kfree(notifier);
> -	}
> +	if (found)
> +		kvfree_rcu(notifier);
>  
>  	vmci_ctx_put(context);
>  
> diff --git a/drivers/misc/vmw_vmci/vmci_event.c b/drivers/misc/vmw_vmci/vmci_event.c
> index e3436abf39f4..2100297c94ad 100644
> --- a/drivers/misc/vmw_vmci/vmci_event.c
> +++ b/drivers/misc/vmw_vmci/vmci_event.c
> @@ -209,8 +209,7 @@ int vmci_event_unsubscribe(u32 sub_id)
>  	if (!s)
>  		return VMCI_ERROR_NOT_FOUND;
>  
> -	synchronize_rcu();
> -	kfree(s);
> +	kvfree_rcu(s);
>  
>  	return VMCI_SUCCESS;
>  }
> -- 
> 2.30.2
> 
+ Jorgen Hansen <jhansen@xxxxxxxxxx>
+ Vishnu Dasa <vdasa@xxxxxxxxxx>
+ pv-drivers@xxxxxxxxxx

--
Vlad Rezki



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux