From: Daniel Wagner <dwagner@suse.de> To: linux-kernel@vger.kernel.org Cc: James Smart <james.smart@broadcom.com>, Keith Busch <kbusch@kernel.org>, Ming Lei <ming.lei@redhat.com>, Sagi Grimberg <sagi@grimberg.me>, Hannes Reinecke <hare@suse.de>, Wen Xiong <wenxiong@us.ibm.com>, Daniel Wagner <dwagner@suse.de>, James Smart <jsmart2021@gmail.com> Subject: [PATCH v4 1/8] nvme-fc: Update hardware queues before using them Date: Mon, 2 Aug 2021 11:14:12 +0200 [thread overview] Message-ID: <20210802091419.56425-2-dwagner@suse.de> (raw) In-Reply-To: <20210802091419.56425-1-dwagner@suse.de> 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 <jsmart2021@gmail.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Daniel Wagner <dwagner@suse.de> --- 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 7f462af1b02a..8a903769364f 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -2951,14 +2951,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", @@ -2968,6 +2960,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
next prev parent reply other threads:[~2021-08-02 9:14 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-02 9:14 [PATCH v4 0/8] Handle update hardware queues and queue freeze more carefully Daniel Wagner 2021-08-02 9:14 ` Daniel Wagner [this message] 2021-08-02 9:14 ` [PATCH v4 2/8] nvme-tcp: Update number of hardware queues before using them Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 3/8] nvme-rdma: " Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 4/8] nvme-fc: Wait with a timeout for queue to freeze Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 5/8] nvme-fc: avoid race between time out and tear down Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 6/8] nvme-fc: fix controller reset hang during traffic Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 7/8] nvme-tcp: Unfreeze queues on reconnect Daniel Wagner 2021-08-02 9:14 ` [PATCH v4 8/8] nvme-rdma: " Daniel Wagner 2021-08-02 11:26 [PATCH RESEND v4 0/8] Handle update hardware queues and queue freeze more carefully Daniel Wagner 2021-08-02 11:26 ` [PATCH v4 1/8] nvme-fc: Update hardware queues before using them Daniel Wagner 2021-08-02 19:34 ` Himanshu Madhani
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210802091419.56425-2-dwagner@suse.de \ --to=dwagner@suse.de \ --cc=hare@suse.de \ --cc=james.smart@broadcom.com \ --cc=jsmart2021@gmail.com \ --cc=kbusch@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=ming.lei@redhat.com \ --cc=sagi@grimberg.me \ --cc=wenxiong@us.ibm.com \ --subject='Re: [PATCH v4 1/8] nvme-fc: Update hardware queues before using them' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).