RE: [PATCH V3 14/18] RDMA/siw: Remove siw_sk_save_upcalls

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

 




> -----Original Message-----
> From: Guoqing Jiang <guoqing.jiang@xxxxxxxxx>
> Sent: Friday, October 27, 2023 4:33 AM
> To: Bernard Metzler <BMT@xxxxxxxxxxxxxx>; jgg@xxxxxxxx; leon@xxxxxxxxxx
> Cc: linux-rdma@xxxxxxxxxxxxxxx
> Subject: [EXTERNAL] [PATCH V3 14/18] RDMA/siw: Remove siw_sk_save_upcalls
> 
> Let's move the functionality of it into siw_sk_assign_cm_upcalls,
> then we only need to get sk_callback_lock once.
> 
> Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxx>
> ---
>  drivers/infiniband/sw/siw/siw_cm.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/infiniband/sw/siw/siw_cm.c
> b/drivers/infiniband/sw/siw/siw_cm.c
> index cff0fd7ceee6..4866b53b15c3 100644
> --- a/drivers/infiniband/sw/siw/siw_cm.c
> +++ b/drivers/infiniband/sw/siw/siw_cm.c
> @@ -40,16 +40,6 @@ static int siw_cm_upcall(struct siw_cep *cep, enum
> iw_cm_event_type reason,
>  			 int status);
> 
>  static void siw_sk_assign_cm_upcalls(struct sock *sk)
> -{
> -	write_lock_bh(&sk->sk_callback_lock);
> -	sk->sk_state_change = siw_cm_llp_state_change;
> -	sk->sk_data_ready = siw_cm_llp_data_ready;
> -	sk->sk_write_space = siw_cm_llp_write_space;
> -	sk->sk_error_report = siw_cm_llp_error_report;
> -	write_unlock_bh(&sk->sk_callback_lock);
> -}
> -
> -static void siw_sk_save_upcalls(struct sock *sk)
>  {
>  	struct siw_cep *cep = sk_to_cep(sk);
> 
> @@ -58,6 +48,11 @@ static void siw_sk_save_upcalls(struct sock *sk)
>  	cep->sk_data_ready = sk->sk_data_ready;
>  	cep->sk_write_space = sk->sk_write_space;
>  	cep->sk_error_report = sk->sk_error_report;
> +
> +	sk->sk_state_change = siw_cm_llp_state_change;
> +	sk->sk_data_ready = siw_cm_llp_data_ready;
> +	sk->sk_write_space = siw_cm_llp_write_space;
> +	sk->sk_error_report = siw_cm_llp_error_report;
>  	write_unlock_bh(&sk->sk_callback_lock);
>  }
> 
> @@ -156,7 +151,6 @@ static void siw_cep_socket_assoc(struct siw_cep *cep,
> struct socket *s)
>  	siw_cep_get(cep);
>  	s->sk->sk_user_data = cep;
> 
> -	siw_sk_save_upcalls(s->sk);
>  	siw_sk_assign_cm_upcalls(s->sk);
>  }
> 
> --
> 2.35.3

Looks good.

Acked-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx>




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux