On 09/19/2014 11:48 AM, Christoph Hellwig wrote: > On Fri, Sep 19, 2014 at 10:22:50PM +0800, Ming Lei wrote: >> Requests often need to be retried because of timeout, hardware >> busy or sort of reasons via blk_mq_requeue_request(), but at >> that time dispatch queue may have been stopped. >> >> This patch starts the dispatch queue automatically in requeue's >> work handler, and fixes scsi-mq's timeout issue, which can be >> triggered if there are two or more requests timedout. > > Sounds like blk_mq_requeue_work should simply call void > blk_mq_start_hw_queues where it calls blk_mq_run_queues currently.
I agree. I think Ming wanted to avoid an unnecessary bitflip if possible, but the fix is more convoluted than I would like. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

