From nobody Thu Apr 2 22:12:31 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CBC413563EE; Fri, 13 Feb 2026 11:01:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770980471; cv=none; b=trbyO/4fP4ezVHI6KhWh7zc15Drew7LwE5L7+btInB/UhDWsLE8hoQn3vx+AdwAz1UqTpyOS4yF1+S0x69Gj4qdCZl2KY3KhXNloOovuri15VBRdqrpCfpWjIFscg+4wZ+EC1a5Tm5TeguBDmYkQnaUNViKo2NlXnllsv8H5Su0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770980471; c=relaxed/simple; bh=k0n1uflccrs3HflvsAbkbwYqRMc/45QTYy53WMc4NF8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hdlaDmUc4tnWQ9SbnfVRY2ieFcwK+wf+oEa+XsdDKFDaqZZYHwIhTcADyESqhRTmY1jp3aSQH8lglfq5+VCA8tBjTn2veDTOrtte9HgwQfrXfoi8uWuWkAzJspbze5KkvC1VU/9m1JsluMPVMXey0Xg/wZGJG6V9C9SLN4sahkc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=b3PiFvH4; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="b3PiFvH4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C21C0C116C6; Fri, 13 Feb 2026 11:01:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770980471; bh=k0n1uflccrs3HflvsAbkbwYqRMc/45QTYy53WMc4NF8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b3PiFvH464fFpDVnF/dzdyH5OfdqjzADJGlsSgqY2KuWy/EwzZ38H3K8UH+Ub7YyE fuThn87+zUgESmWBFieEWLAzYg2uMYV1hgGQDbSj09/dXqwlzq2TLKg/u95Cb1TL80 eCrSbO9h2OH60fIK6FDPDNx8Ds1E2ZEWBwOlC6jfn3G39kBADTCQ+sZrFEwD92ikk9 9HFLR/EFPMB3KthM3g3jhho5SyQ/6DGbvSZae9VvVOl2RcBrFhh3RloFa2jljRYbxZ V2P14r+tlCN7+dOev8wXy7mImFT/ehPwu+nCzH7MsQwH1nrYYdOJA2OuFZgBwj+IuK /0OxR3Rk/SasA== From: Leon Romanovsky To: Jason Gunthorpe , Leon Romanovsky , Selvin Xavier , Kalesh AP , Potnuri Bharat Teja , Michael Margolin , Gal Pressman , Yossi Leybovich , Cheng Xu , Kai Shen , Chengchang Tang , Junxian Huang , Abhijit Gangurde , Allen Hubbe , Krzysztof Czurylo , Tatyana Nikolova , Long Li , Konstantin Taranov , Yishai Hadas , Michal Kalderon , Bryan Tan , Vishnu Dasa , Broadcom internal kernel review list , Christian Benvenuti , Nelson Escobar , Dennis Dalessandro , Bernard Metzler , Zhu Yanjun Cc: linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, linux-hyperv@vger.kernel.org Subject: [PATCH rdma-next 37/50] RDMA/mthca: Remove resize support for kernel CQs Date: Fri, 13 Feb 2026 12:58:13 +0200 Message-ID: <20260213-refactor-umem-v1-37-f3be85847922@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260213-refactor-umem-v1-0-f3be85847922@nvidia.com> References: <20260213-refactor-umem-v1-0-f3be85847922@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.15-dev-47773 Content-Transfer-Encoding: quoted-printable From: Leon Romanovsky The CQ resize operation is a uverbs-only interface and is not required for kernel-created CQs. Drop this unused functionality. Signed-off-by: Leon Romanovsky --- drivers/infiniband/hw/mthca/mthca_provider.c | 102 ++---------------------= ---- 1 file changed, 6 insertions(+), 96 deletions(-) diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infinib= and/hw/mthca/mthca_provider.c index 8920deceea73..fd306a229318 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c @@ -626,8 +626,6 @@ static int mthca_create_user_cq(struct ib_cq *ibcq, goto err_unmap_arm; } =20 - cq->resize_buf =3D NULL; - return 0; =20 err_unmap_arm: @@ -667,53 +665,6 @@ static int mthca_create_cq(struct ib_cq *ibcq, if (err) return err; =20 - cq->resize_buf =3D NULL; - - return 0; -} - -static int mthca_alloc_resize_buf(struct mthca_dev *dev, struct mthca_cq *= cq, - int entries) -{ - int ret; - - spin_lock_irq(&cq->lock); - if (cq->resize_buf) { - ret =3D -EBUSY; - goto unlock; - } - - cq->resize_buf =3D kmalloc(sizeof *cq->resize_buf, GFP_ATOMIC); - if (!cq->resize_buf) { - ret =3D -ENOMEM; - goto unlock; - } - - cq->resize_buf->state =3D CQ_RESIZE_ALLOC; - - ret =3D 0; - -unlock: - spin_unlock_irq(&cq->lock); - - if (ret) - return ret; - - ret =3D mthca_alloc_cq_buf(dev, &cq->resize_buf->buf, entries); - if (ret) { - spin_lock_irq(&cq->lock); - kfree(cq->resize_buf); - cq->resize_buf =3D NULL; - spin_unlock_irq(&cq->lock); - return ret; - } - - cq->resize_buf->cqe =3D entries - 1; - - spin_lock_irq(&cq->lock); - cq->resize_buf->state =3D CQ_RESIZE_READY; - spin_unlock_irq(&cq->lock); - return 0; } =20 @@ -736,60 +687,19 @@ static int mthca_resize_cq(struct ib_cq *ibcq, int en= tries, struct ib_udata *uda goto out; } =20 - if (cq->is_kernel) { - ret =3D mthca_alloc_resize_buf(dev, cq, entries); - if (ret) - goto out; - lkey =3D cq->resize_buf->buf.mr.ibmr.lkey; - } else { - if (ib_copy_from_udata(&ucmd, udata, sizeof ucmd)) { - ret =3D -EFAULT; - goto out; - } - lkey =3D ucmd.lkey; + if (ib_copy_from_udata(&ucmd, udata, sizeof ucmd)) { + ret =3D -EFAULT; + goto out; } + lkey =3D ucmd.lkey; =20 ret =3D mthca_RESIZE_CQ(dev, cq->cqn, lkey, ilog2(entries)); - - if (ret) { - if (cq->resize_buf) { - mthca_free_cq_buf(dev, &cq->resize_buf->buf, - cq->resize_buf->cqe); - kfree(cq->resize_buf); - spin_lock_irq(&cq->lock); - cq->resize_buf =3D NULL; - spin_unlock_irq(&cq->lock); - } + if (ret) goto out; - } - - if (cq->is_kernel) { - struct mthca_cq_buf tbuf; - int tcqe; - - spin_lock_irq(&cq->lock); - if (cq->resize_buf->state =3D=3D CQ_RESIZE_READY) { - mthca_cq_resize_copy_cqes(cq); - tbuf =3D cq->buf; - tcqe =3D cq->ibcq.cqe; - cq->buf =3D cq->resize_buf->buf; - cq->ibcq.cqe =3D cq->resize_buf->cqe; - } else { - tbuf =3D cq->resize_buf->buf; - tcqe =3D cq->resize_buf->cqe; - } - - kfree(cq->resize_buf); - cq->resize_buf =3D NULL; - spin_unlock_irq(&cq->lock); - - mthca_free_cq_buf(dev, &tbuf, tcqe); - } else - ibcq->cqe =3D entries - 1; =20 + ibcq->cqe =3D entries - 1; out: mutex_unlock(&cq->mutex); - return ret; } =20 --=20 2.52.0