Re: [PATCH V10 3/4] blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requests

From: jianchao.wang
Date: Thu Dec 06 2018 - 20:15:48 EST




On 12/6/18 11:19 PM, Jens Axboe wrote:
> On 12/5/18 8:32 PM, Jianchao Wang wrote:
>> It is not necessary to issue request directly with bypass 'true'
>> in blk_mq_sched_insert_requests and handle the non-issued requests
>> itself. Just set bypass to 'false' and let blk_mq_try_issue_directly
>> handle them totally. Remove the blk_rq_can_direct_dispatch check,
>> because blk_mq_try_issue_directly can handle it well.
>>
>> With respect to commit_rqs hook, we only need to care about the last
>> request's result. If it is inserted, invoke commit_rqs.
>
> I don't think there's anything wrong, functionally, with this patch,
> but I question the logic of continuing to attempt direct dispatch
> if we fail one. If we get busy on one, for instance, we should just
> insert that one to the dispatch list, and insert the rest of the list
> normally.
>
>
It is OK for me to stop to attempt direct dispatch and insert all of the
rest when meet the non-ok case.

Thanks
Jianchao