Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4518384pxv; Tue, 20 Jul 2021 05:46:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7Em6g2SKYcku7LNl6MjjE/N7vw0hUF2Ql4kgKITiXosBSNqsZT4gpqLPOAsf2YzX7lXnx X-Received: by 2002:a17:906:8a67:: with SMTP id hy7mr32308798ejc.421.1626785199325; Tue, 20 Jul 2021 05:46:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626785199; cv=none; d=google.com; s=arc-20160816; b=zgeWTGVAjvmlkRWMe8ngkUdhnT+348tRMSjdscNpgaFbYZo4nEyjZomJQMl6l1F8ZK Uvgwqz6blXhcyht1+tBimEpXNlpDV9Q9RtBHd2HVybpxbPdlh4wXNSJGu7WLfvMDmnZF eRI/4ndVQ40hpdt+Po1jNZVI6NHQ4pkasz/iwhnrzdBHE9BzCSlbA7+bBJHSHIKqYXiJ bLXtyCPnY7zsUsSpcrY3dxBWBD+f/nWY2H6uEGpSscIyKE+cjmU4EQWWE8WIXWOh6doV 1Sm0YYj6guMCVcgbtKcr/MEQ8vNSBmO6nLW6Urx5vxr9kPPPmhkqFe+kGoaNfULF6tKP k6jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=9h9VUW/VW1HZ0CZDwi95Zg4JDfQW7vgW/62R93T77qI=; b=eUK0C3KIArxrwp5lAkwhS1CVezkX9bcOQg0mpmVmEBfuG8l7O+dIuxErG1NMUgRY+E YUI+/L4xoHmmfN6PnGDGQCbPLvpjEb1NdCBGiyns9spppiEskfdJh3AuXdgprbER/lxh yE1MWWLBld3X3l2lc3gmiOtDi5Vizc8iGIO5M97gs50SbXGmWv7SX6pykCDXGBb7RpDO CObE4r5XmevMQG85wbDa0Da34qRK9ogEitghz+dsmub/VbVMuk+J+ndJYj6ROzpXjPhw Xzpl+Fq7OheA5ZXL5udhD5QWR11Uzcu+Ifr+AFHy1HFWurX71w//4qx5WRLhHf+4r9lL aFLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=MvWVNCyX; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y12si26165223edu.434.2021.07.20.05.46.16; Tue, 20 Jul 2021 05:46:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=MvWVNCyX; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238314AbhGTMD3 (ORCPT + 99 others); Tue, 20 Jul 2021 08:03:29 -0400 Received: from smtp-out2.suse.de ([195.135.220.29]:51752 "EHLO smtp-out2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238023AbhGTMDV (ORCPT ); Tue, 20 Jul 2021 08:03:21 -0400 Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id DB7091FE1C; Tue, 20 Jul 2021 12:43:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1626785038; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9h9VUW/VW1HZ0CZDwi95Zg4JDfQW7vgW/62R93T77qI=; b=MvWVNCyXRiFhCGA8Ic0JIEEiSzgzmA3VplZKUCX/5niyOS4zTrOl5VsY/3NgoX3jFnostQ 4zy2UlA3YvnB35nFDLMB5HGXb5jt1HXy8o7gxv7Mer2uvjzYhs9fVC8R3hgx6P3uImIZdD zCFyRKakSyyS7wPi1vIvduf9bnQCRq4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1626785038; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9h9VUW/VW1HZ0CZDwi95Zg4JDfQW7vgW/62R93T77qI=; b=eC535NMQBb/KsViAk2HbYOm5Vm2YiY8Utr2LtjzG9URW7weFsmi+BKr7TQLPN6FvpAGuSh KG3VIoX9TL1QQDDw== Received: from adalid.arch.suse.de (adalid.arch.suse.de [10.161.8.13]) by relay2.suse.de (Postfix) with ESMTP id 0DF5CA3B8E; Tue, 20 Jul 2021 12:43:58 +0000 (UTC) Received: by adalid.arch.suse.de (Postfix, from userid 17828) id EE91F5171928; Tue, 20 Jul 2021 14:43:57 +0200 (CEST) From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, James Smart , Keith Busch , Ming Lei , Sagi Grimberg , Daniel Wagner , James Smart Subject: [PATCH v3 1/6] nvme-fc: Update hardware queues before using them Date: Tue, 20 Jul 2021 14:43:48 +0200 Message-Id: <20210720124353.127959-2-dwagner@suse.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210720124353.127959-1-dwagner@suse.de> References: <20210720124353.127959-1-dwagner@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In case the number of hardware queues changes, do the update the tagset and ctx to hctx first before using the mapping to recreate and connnect the IO queues. Reviewed-by: James Smart Reviewed-by: Ming Lei Signed-off-by: Daniel Wagner --- drivers/nvme/host/fc.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 053b0f94859f..8d742a6c82c1 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -2952,14 +2952,6 @@ nvme_fc_recreate_io_queues(struct nvme_fc_ctrl *ctrl) if (ctrl->ctrl.queue_count == 1) return 0; - ret = nvme_fc_create_hw_io_queues(ctrl, ctrl->ctrl.sqsize + 1); - if (ret) - goto out_free_io_queues; - - ret = nvme_fc_connect_io_queues(ctrl, ctrl->ctrl.sqsize + 1); - if (ret) - goto out_delete_hw_queues; - if (prior_ioq_cnt != nr_io_queues) { dev_info(ctrl->ctrl.device, "reconnect: revising io queue count from %d to %d\n", @@ -2969,6 +2961,14 @@ nvme_fc_recreate_io_queues(struct nvme_fc_ctrl *ctrl) nvme_unfreeze(&ctrl->ctrl); } + ret = nvme_fc_create_hw_io_queues(ctrl, ctrl->ctrl.sqsize + 1); + if (ret) + goto out_free_io_queues; + + ret = nvme_fc_connect_io_queues(ctrl, ctrl->ctrl.sqsize + 1); + if (ret) + goto out_delete_hw_queues; + return 0; out_delete_hw_queues: -- 2.29.2