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.
Thanks,
Guoqing