[PATCH net-next 0/2] net/smc: transition to RDMA core CQ pooling
From: D. Wythe
Date: Fri May 08 2026 - 02:38:09 EST
This series transitions SMC-R completion handling to RDMA core CQ pooling
via the ib_cqe API. The new completion model improves scalability by
allowing per-link completion processing across multiple cores and enables
DIM-based interrupt moderation.
As a side effect, the increased concurrency can amplify contention for TX
slots on the shared wait queue. Patch 2 addresses this by switching TX slot
allocation from non-exclusive wait_event() to prepare_to_wait_exclusive(),
which avoids thundering-herd wakeups under contention.
Patch 1 replaces the global per-device CQ and manual tasklet polling model
with RDMA core CQ pooling.
Patch 2 reduces TX slot contention by using exclusive wait queue entries
during allocation.
Link: https://lore.kernel.org/netdev/20260305022323.96125-1-alibuda@xxxxxxxxxxxxxxxxx/
D. Wythe (2):
net/smc: transition to RDMA core CQ pooling
net/smc: reduce TX slot contention with exclusive wait
net/smc/smc_core.c | 9 +-
net/smc/smc_core.h | 28 ++--
net/smc/smc_ib.c | 113 +++++----------
net/smc/smc_ib.h | 7 -
net/smc/smc_tx.c | 1 -
net/smc/smc_wr.c | 344 ++++++++++++++++++++-------------------------
net/smc/smc_wr.h | 40 ++----
7 files changed, 215 insertions(+), 327 deletions(-)
--
2.45.0