Re: [PATCH] rdma_rxe: call comp_handler without holding cq->cq_lock
From: Zhu Yanjun
Date: Fri Aug 15 2025 - 00:26:34 EST
===
diff --git a/drivers/infiniband/sw/rxe/rxe_comp.c
b/drivers/infiniband/sw/rxe/rxe_comp.c
index a5b2b62f596b..a10a173e53cf 100644
--- a/drivers/infiniband/sw/rxe/rxe_comp.c
+++ b/drivers/infiniband/sw/rxe/rxe_comp.c
@@ -454,7 +454,7 @@ static void do_complete(struct rxe_qp *qp,
struct rxe_send_wqe *wqe)
queue_advance_consumer(qp->sq.queue, QUEUE_TYPE_FROM_CLIENT);
if (post)
- rxe_cq_post(qp->scq, &cqe, 0);
+ while (rxe_cq_post(qp->scq, &cqe, 0) == -EBUSY);
Just now the maillist notified the mail was not sent successfully. Thus
I resend it now.
Do you make tests with your commit in the local hosts?
I have applied your commit and made tests in my local host. I run the
tests for 10000 times.
Sometimes problems occurred. I am not sure if this problem is related
with this commit or not.
I will make further investigations about this problem.
Yanjun.Zhu