From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-99.freemail.mail.aliyun.com (out30-99.freemail.mail.aliyun.com [115.124.30.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 54C21388366; Thu, 28 May 2026 08:48:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.99 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779958110; cv=none; b=DDhH/CnC9Ppjklwck/Rb3uImDkPNPRENWH4BP6bhGLKUu401+7w/hJ8f5+wpc50GShGCAvfTSwQmwOKzg+A+W/1C0xmLz4G0g/Q6AKnX1/ENtyEPEMn3YXvgubQnlw9XgX3SGdVJFY1+29FJ9wLkZUkVqdO147eYiLGfN3KHf64= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779958110; c=relaxed/simple; bh=SHCRnHGL6mMAk0Biy3dMCezeGVl/nZP6tmScKa9PsQo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=m8OR2Qruu+QHSQJv+9nJ6uNLjJmQ5o1PVnsx+UBt5xHj9xxCBGf2yS4Va9xFBFgEJYHW6UDxMUNKv90MbQ8ub3qJnRvN4RUoI++0M+1q02VResiwkKvOUWjOfKZtMzoEPGOCr3qFLt+gc2xLVPHYdL2dMeTADQo1Mja+FdEXPCA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=MgWXD1r3; arc=none smtp.client-ip=115.124.30.99 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="MgWXD1r3" DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1779958104; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=RcUR/VFXnxPtP+q4Hidrg5oDfoem09IeciCVFtsVjnY=; b=MgWXD1r3ZYl4yl98a/2bYCBakRGlYD0MFGS3aRigSvh69xkpK0QMAo1nUjjuNnh4Xs4f3tMwa/zHTPaRv/S97zEKp9rCD8xDU+42YMra8Ggx9ZLbEu7vcqN/G7092PojKJjENOjI46lgwZU9FxLWDJ+qVt4MTu9xosPFaeA/HCk= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam011083073210;MF=alibuda@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0X3lvM0y_1779958100; Received: from j66a10360.sqa.eu95.tbsite.net(mailfrom:alibuda@linux.alibaba.com fp:SMTPD_---0X3lvM0y_1779958100 cluster:ay36) by smtp.aliyun-inc.com; Thu, 28 May 2026 16:48:23 +0800 From: "D. Wythe" To: "David S. Miller" , Dust Li , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Sidraya Jayagond , Wenjia Zhang Cc: Mahanta Jambigi , Simon Horman , Tony Lu , Wen Gu , linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org, netdev@vger.kernel.org, oliver.yang@linux.alibaba.com, pasic@linux.ibm.com Subject: [PATCH net-next 0/2] net/smc: transition to RDMA core CQ pooling Date: Thu, 28 May 2026 16:48:17 +0800 Message-ID: <20260528084819.6059-1-alibuda@linux.alibaba.com> X-Mailer: git-send-email 2.45.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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@linux.alibaba.com/ --- Changes v1 -> v2: https://lore.kernel.org/netdev/20260508063718.101622-1-alibuda@linux.alibaba.com/ 1. remove unnecessary inline from static CQE init helpers. 2. Use ib_drain_qp() with +1 max_send_wr; 3. Fix v2 state clearing. 4. Add re-check after schedule_timeout() to fix timeout/signal races. 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