From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D6383C47DD9 for ; Wed, 28 Feb 2024 18:13:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2mICFj2/KMaWM4nxjGnQ6bAgJPovXhglZhSAX1NBT3Y=; b=QV+lbHvbvAMBI68YZqV+rFXLiG AsA6k4RBtipz8S18xNvN8bRIfjRnuJpsTvRcDNsYGNydTrsuN4dWsr+IuaKvu/DEW2IsFKtkyXcmi 1TVU/Z01oWA9Z4rr4uOLEpPjRTvV2aDFAWh8mFaPqszvo+DESl7W530WaazHrHgfReyvTPioTznOz FSArzlDQhCUU61UApZfkhvtgWIY7haMVFdqJfNtSfdZqWrKGiJ1q5EtrpWespJVssLM9Wbh5FhFQO eYi98ZNK9A8UQVHZj5aAK78A09oVLdaGlxezXPUYRbKkFNatMgBMods3N1rV8prbO4++eycVtJJ7O Eq81sk/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfOQT-0000000ARn1-3sht; Wed, 28 Feb 2024 18:13:05 +0000 Received: from [4.28.11.157] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfOPp-0000000ARHz-05re; Wed, 28 Feb 2024 18:12:25 +0000 From: Christoph Hellwig To: Hector Martin , Sven Peter , Keith Busch , Sagi Grimberg , James Smart , Chaitanya Kulkarni Cc: Alyssa Rosenzweig , asahi@lists.linux.dev, linux-nvme@lists.infradead.org Subject: [PATCH 16/21] nvme-rdma: initialize max_hw_sectors earlier Date: Wed, 28 Feb 2024 10:12:10 -0800 Message-Id: <20240228181215.873854-17-hch@lst.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240228181215.873854-1-hch@lst.de> References: <20240228181215.873854-1-hch@lst.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org Initialize max_fr_pages and the values depending on it a little earlier so that nvme_alloc_admin_tag_set can rely on it to set the initial queue limits. Signed-off-by: Christoph Hellwig --- drivers/nvme/host/rdma.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c index 20fdd40b1879f5..04a69f7bd48f46 100644 --- a/drivers/nvme/host/rdma.c +++ b/drivers/nvme/host/rdma.c @@ -797,6 +797,12 @@ static int nvme_rdma_configure_admin_queue(struct nvme_rdma_ctrl *ctrl, ctrl->max_fr_pages = nvme_rdma_get_max_fr_pages(ctrl->device->dev, pi_capable); + ctrl->ctrl.max_segments = ctrl->max_fr_pages; + ctrl->ctrl.max_hw_sectors = ctrl->max_fr_pages << (ilog2(SZ_4K) - 9); + if (pi_capable) + ctrl->ctrl.max_integrity_segments = ctrl->max_fr_pages; + else + ctrl->ctrl.max_integrity_segments = 0; /* * Bind the async event SQE DMA mapping to the admin queue lifetime. @@ -826,13 +832,6 @@ static int nvme_rdma_configure_admin_queue(struct nvme_rdma_ctrl *ctrl, if (error) goto out_stop_queue; - ctrl->ctrl.max_segments = ctrl->max_fr_pages; - ctrl->ctrl.max_hw_sectors = ctrl->max_fr_pages << (ilog2(SZ_4K) - 9); - if (pi_capable) - ctrl->ctrl.max_integrity_segments = ctrl->max_fr_pages; - else - ctrl->ctrl.max_integrity_segments = 0; - nvme_unquiesce_admin_queue(&ctrl->ctrl); error = nvme_init_ctrl_finish(&ctrl->ctrl, false); -- 2.39.2