Re: [PATCH] blk-mq: auto-start hw queue in requeue

From: Jens Axboe
Date: Fri Sep 19 2014 - 13:52:49 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/