[PATCH v2 1/3] nvme: use blk_mq_start_hw_queues() in nvme_kill_queues()
Ming Lei
ming.lei at redhat.com
Sun May 21 18:35:58 PDT 2017
On Sun, May 21, 2017 at 08:20:02AM +0200, Christoph Hellwig wrote:
> > index d5e0906262ea..ce0d96913ee6 100644
> > --- a/drivers/nvme/host/core.c
> > +++ b/drivers/nvme/host/core.c
> > @@ -2437,7 +2437,13 @@ void nvme_kill_queues(struct nvme_ctrl *ctrl)
> > revalidate_disk(ns->disk);
> > blk_set_queue_dying(ns->queue);
> > blk_mq_abort_requeue_list(ns->queue);
> > - blk_mq_start_stopped_hw_queues(ns->queue, true);
> > +
> > + /*
> > + * We have to force to start queues for avoiding hang
> > + * forever, and we have to make sure that queues won't
> > + * be stopped forever from now on.
> > + */
>
> /*
> * Forcibly start all queues to avoid having stuck requests.
The above is better.
> * Note: We must make sure to not stop the queues from
> * now until the final removal.
In theory, it should be OK to stop and start queues again before the final
removal, so how about the following:
* Note: We must make sure to not put the queues into being stopped
forever from now until the final removal.
Thanks,
Ming
More information about the Linux-nvme
mailing list