From nobody Thu Apr 2 22:08:40 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 B44D3363C45; Fri, 13 Feb 2026 11:01:42 +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=1770980502; cv=none; b=Fcust+4BAB+rLlqxSrk9hcLmsig1+5p1gZPiC9DWgJX3YcWpSAVyL2pVscft77qyqos8YgDXI1CCfEoawMHGdKnbbg3+gaL2fcA4pjrGtTpiAbDco9UUKWFcsbSJkM4Kpo7NYFrw/mKapW/APvbmwCnvFPC03L5Z4uTa2IpTwdA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770980502; c=relaxed/simple; bh=BcpgeLlLPsDR96BzelXgUw4MnjuLJVb15vuF2Iq2eN0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=d2TAZ9vDOew7dwdeMKFG6Hw2ZVOtqMfcEz/jzOGyZKmhNXAO6iEgjn3J1V3eJVcabRrllLFGE1chAl78ZOhkaet+vekeahLbt0xflMODjBWb9YH4wpGLvboIud4FfA8GBWnMvAGh2g1Y+JYtgbfzbnljNt9KG5QI3dZh71wzsg4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EX9UUHPu; 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="EX9UUHPu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CA50C116C6; Fri, 13 Feb 2026 11:01:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770980502; bh=BcpgeLlLPsDR96BzelXgUw4MnjuLJVb15vuF2Iq2eN0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EX9UUHPulnToXrHs9CRIhEkoouooY6Zre6pjGUBCXusVCI1SmwcWaREEBv9I5MJIC gAyNBFMt5OYbNEWStP/Izpo9FZS317c1rLhnbifeIf+y6NugZfLkmKWDLzg6ZzEdKO Hs0vGuN0IMR52obMjHsA5U6U5Gt+J7UEsoxSuAE3oHq8Dpi6wX8RYx4Xmo9HwF+0Cx sLXp7nyaVeU6Ov/jMUNt4QXIIqnXOFHCqFifjoNZCW+lNYxQ/h3V0XtxQVBoAeqA9j qqSY8VESFdigcVGiPrrmHjXVZLMlfOd87vbPgVOdakhRlY/VL5SGbFDslM+e/NmCSp r+8QSxzU7qk6Q== 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 45/50] RDMA/mlx4: Use generic resize-CQ lock Date: Fri, 13 Feb 2026 12:58:21 +0200 Message-ID: <20260213-refactor-umem-v1-45-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 Replace the open=E2=80=91coded resize=E2=80=91CQ lock with the standard core implementation for better consistency and maintainability. Signed-off-by: Leon Romanovsky --- drivers/infiniband/hw/mlx4/cq.c | 9 +-------- drivers/infiniband/hw/mlx4/mlx4_ib.h | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/cq.c b/drivers/infiniband/hw/mlx4/c= q.c index f4595afced45..ffc3902dc329 100644 --- a/drivers/infiniband/hw/mlx4/cq.c +++ b/drivers/infiniband/hw/mlx4/cq.c @@ -163,7 +163,6 @@ int mlx4_ib_create_user_cq(struct ib_cq *ibcq, =20 entries =3D roundup_pow_of_two(entries + 1); cq->ibcq.cqe =3D entries - 1; - mutex_init(&cq->resize_mutex); spin_lock_init(&cq->lock); INIT_LIST_HEAD(&cq->send_qp_list); INIT_LIST_HEAD(&cq->recv_qp_list); @@ -253,7 +252,6 @@ int mlx4_ib_create_cq(struct ib_cq *ibcq, const struct = ib_cq_init_attr *attr, =20 entries =3D roundup_pow_of_two(entries + 1); cq->ibcq.cqe =3D entries - 1; - mutex_init(&cq->resize_mutex); spin_lock_init(&cq->lock); INIT_LIST_HEAD(&cq->send_qp_list); INIT_LIST_HEAD(&cq->recv_qp_list); @@ -369,12 +367,9 @@ int mlx4_ib_resize_cq(struct ib_cq *ibcq, unsigned int= entries, if (entries > dev->dev->caps.max_cqes + 1) return -EINVAL; =20 - mutex_lock(&cq->resize_mutex); err =3D mlx4_alloc_resize_umem(dev, cq, entries, udata); - if (err) { - mutex_unlock(&cq->resize_mutex); + if (err) return err; - } mtt =3D cq->buf.mtt; =20 err =3D mlx4_cq_resize(dev->dev, &cq->mcq, entries, &cq->resize_buf->buf.= mtt); @@ -390,7 +385,6 @@ int mlx4_ib_resize_cq(struct ib_cq *ibcq, unsigned int = entries, kfree(cq->resize_buf); cq->resize_buf =3D NULL; cq->resize_umem =3D NULL; - mutex_unlock(&cq->resize_mutex); return 0; =20 =20 @@ -401,7 +395,6 @@ int mlx4_ib_resize_cq(struct ib_cq *ibcq, unsigned int = entries, =20 ib_umem_release(cq->resize_umem); cq->resize_umem =3D NULL; - mutex_unlock(&cq->resize_mutex); return err; } =20 diff --git a/drivers/infiniband/hw/mlx4/mlx4_ib.h b/drivers/infiniband/hw/m= lx4/mlx4_ib.h index 5a799d6df93e..2f1043690554 100644 --- a/drivers/infiniband/hw/mlx4/mlx4_ib.h +++ b/drivers/infiniband/hw/mlx4/mlx4_ib.h @@ -120,7 +120,6 @@ struct mlx4_ib_cq { struct mlx4_ib_cq_resize *resize_buf; struct mlx4_db db; spinlock_t lock; - struct mutex resize_mutex; struct ib_umem *resize_umem; /* List of qps that it serves.*/ struct list_head send_qp_list; --=20 2.52.0