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