On Fri, Sep 19, 2014 at 1:03 AM, Jens Axboe <axboe@xxxxxx> wrote: > On 2014-09-18 10:35, Christoph Hellwig wrote: >> >> On Thu, Sep 18, 2014 at 11:59:10PM +0800, Ming Lei wrote: >>> >>> If there are two requests or more timed out, the dispatch queue >>> is put into stopped state and never be recoverd, and there >>> is no such problem in non-mq mode. >>> >>> This patch trys to recover the stopped queue when the queue >>> becomes unbusy, then the following retries can move on. >>> >>> Basically this patch maintains same behavior for this situation >>> with non-mq mode. >> >> >> This looks somewhat similar to the issues that Doug reported, and I >> remember >> when he was last running into boot problems it was timeout related, too. >> >> As far as the implementation is concerned I think the correct fix is >> to clear the BLK_MQ_S_STOPPED queue flags in blk_mq_kick_requeue_list. > > > Since that's the kick part of the requeue, auto-starting the queue for that > makes a lot of sense. I say that's the way we go. Yeah, that looks better. But it doesn't work after the simple change, and I need to investigate further. Thanks, -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html