Ping ?

Thanks
Jianchao

On 12/10/18 11:01 AM, Jianchao Wang wrote:
> Hi Jens
> 
> Please consider this patchset for 4.21.
> 
> It refactors the code of issue request directly to unify the interface
> and make the code clearer and more readable.
> 
> The 1st patch refactors the code of issue request directly to unify the
> helper interface which could handle all the cases.
> 
> The 2nd patch make blk_mq_sched_insert_requests issue requests directly
> with 'bypass' false, then it needn't to handle the non-issued requests
> any more.
> 
> The 3rd patch replace and kill the blk_mq_request_issue_directly.
> 
> V13:
>  - remove the unused tag 'out' (1/3)
> 
> V12:
>  - remove the original 1st patch/
>  - rebase other 3 patches on newest for-4.21/block
>  - add some comment
> 
> V11:
>  - insert request to dispatch list when .queue_rq return
>    BLK_STS_RESOURCE/BLK_STS_DEV_RESOURCE. (2/4)
>  - stop to attempt direct-issue and insert the reset when meet
>    non-ok case (3/4).
> 
> V10:
>  - address Jen's comment.
>  - let blk_mq_try_issue_directly return actual result for case
>    'bypass == false'. (2/4)
>  - use return value of blk_mq_try_issue_directly to identify
>    whether the request is direct-issued successfully. (3/4)
> 
> V9:
>  - rebase on recent for-4.21/block
>  - add 1st patch
> 
> V8:
>  - drop the original 2nd patch which try to insert requests into 
> hctx->dispatch
>    if quiesced or stopped.
>  - remove two wrong 'unlikely'
> 
> V7:
>  - drop the original 3rd patch which try to ensure hctx to be ran on
>    its mapped cpu in issueing directly path.
> 
> V6:
>  - drop original 1st patch to address Jen's comment
>  - discard the enum mq_issue_decision and blk_mq_make_decision and use
>    BLK_STS_* return values directly to address Jen's comment. (1/5)
>  - add 'unlikely' in blk_mq_try_issue_directly (1/5)
>  - refactor the 2nd and 3rd patch based on the new 1st patch.
>  - reserve the unused_cookie in 4th and 5th patch
> 
> V5:
>  - rebase against Jens' for-4.21/block branch
>  - adjust the order of patch04 and patch05
>  - add patch06 to replace and kill the one line blk_mq_request_bypass_insert
>  - comment changes
> 
> V4:
>  - split the original patch 1 into two patches, 1st and 2nd patch currently
>  - rename the mq_decision to mq_issue_decision
>  - comment changes
> 
> V3:
>  - Correct the code about the case bypass_insert is true and io scheduler
>    attached. The request still need to be issued in case above. (1/4)
>  - Refactor the code to make code clearer. blk_mq_make_request is introduced
>    to decide insert, end or just return based on the return value of .queue_rq
>    and bypass_insert (1/4) 
>  - Add the 2nd patch. It introduce a new decision result which indicates to
>    insert request with blk_mq_request_bypass_insert.
>  - Modify the code to adapt the new patch 1.
> 
> V2:
>  - Add 1st and 2nd patch to refactor the code.
> 
> 
> Jianchao Wang (3)
> blk-mq: refactor the code of issue request directly
> blk-mq: issue directly with bypass 'false' in
> blk-mq: replace and kill blk_mq_request_issue_directly
> 
> block/blk-core.c     |   4 +-
> block/blk-mq-sched.c |   8 ++--
> block/blk-mq.c       | 123 +++++++++++++++++++++++++--------------------------
> block/blk-mq.h       |   6 ++-
> 4 files changed, 70 insertions(+), 71 deletions(-)
> 
> Thanks
> Jianchao
> 
> 

Reply via email to