RE: [PATCH 13/19] RDMA/siw: Simplify siw_qp_id2obj

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

 




> -----Original Message-----
> From: Guoqing Jiang <guoqing.jiang@xxxxxxxxx>
> Sent: Thursday, October 26, 2023 8:43 AM
> To: Bernard Metzler <BMT@xxxxxxxxxxxxxx>; jgg@xxxxxxxx; leon@xxxxxxxxxx
> Cc: linux-rdma@xxxxxxxxxxxxxxx
> Subject: [EXTERNAL] Re: [PATCH 13/19] RDMA/siw: Simplify siw_qp_id2obj
> 
> 
> 
> On 10/25/23 21:04, Bernard Metzler wrote:
> >> -----Original Message-----
> >> From: Guoqing Jiang<guoqing.jiang@xxxxxxxxx>
> >> Sent: Monday, October 9, 2023 9:18 AM
> >> To: Bernard Metzler<BMT@xxxxxxxxxxxxxx>;jgg@xxxxxxxx;leon@xxxxxxxxxx
> >> Cc:linux-rdma@xxxxxxxxxxxxxxx
> >> Subject: [EXTERNAL] [PATCH 13/19] RDMA/siw: Simplify siw_qp_id2obj
> >>
> >> Let's set qp and return it.
> >>
> >> Signed-off-by: Guoqing Jiang<guoqing.jiang@xxxxxxxxx>
> >> ---
> >>   drivers/infiniband/sw/siw/siw.h | 8 +++-----
> >>   1 file changed, 3 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/infiniband/sw/siw/siw.h
> >> b/drivers/infiniband/sw/siw/siw.h
> >> index 44684b74550f..e127ef493296 100644
> >> --- a/drivers/infiniband/sw/siw/siw.h
> >> +++ b/drivers/infiniband/sw/siw/siw.h
> >> @@ -601,12 +601,10 @@ static inline struct siw_qp *siw_qp_id2obj(struct
> >> siw_device *sdev, int id)
> >>
> >>   	rcu_read_lock();
> >>   	qp = xa_load(&sdev->qp_xa, id);
> >> -	if (likely(qp && kref_get_unless_zero(&qp->ref))) {
> >> -		rcu_read_unlock();
> >> -		return qp;
> >> -	}
> >> +	if (likely(qp && !kref_get_unless_zero(&qp->ref)))
> >> +		qp = NULL;
> >>   	rcu_read_unlock();
> >> -	return NULL;
> >> +	return qp;
> >>   }
> >>
> >>   static inline u32 qp_id(struct siw_qp *qp)
> >> --
> >> 2.35.3
> > No let's keep it as is. It openly codes the likely case
> > first.
> >
> > Your code makes the unlikely thing likely.
> 
> How about change likely to unlikely? If not, I will drop both 13 and 14.

just drop these. I don't see much benefit in changing it.




[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