[PATCH] RDMA/addr: change addr_wq back to unordered workqueue

From: Surabhi Gogte

Date: Thu Apr 09 2026 - 20:16:37 EST


Commit 5fff41e1f89d ("IB/core: Fix race condition in resolving IP to MAC")
changed the workqueue "addr_wq" to a single-threaded wq.
Commit e19c0d237873 ("RDMA/rdma_cm: Remove process_req and timer sorting")
eliminated global work and started using per-req work.
Now we no longer have the race, change "addr_wq" back to multi-threaded
workqueue to speed up multiple addr resolutions.

Fixes: e19c0d237873 ("RDMA/rdma_cm: Remove process_req and timer sorting")
Signed-off-by: Surabhi Gogte <sgogte@xxxxxxxxxxxxxxx>
---
drivers/infiniband/core/addr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index 866746695712..7ce012f389bd 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -848,7 +848,7 @@ static struct notifier_block nb = {

int addr_init(void)
{
- addr_wq = alloc_ordered_workqueue("ib_addr", 0);
+ addr_wq = alloc_workqueue("ib_addr", WQ_UNBOUND, 0);
if (!addr_wq)
return -ENOMEM;

--
2.53.0