Re: [PATCH v2 1/3] nvme: use blk_mq_start_hw_queues() in nvme_kill_queues()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]