[PATCH v4 00/14] A few bugfix and cleanup patches for blk-mq

From: Kemeng Shi
Date: Tue Jan 17 2023 - 20:31:07 EST


Hi, this series contain several bugfix patches to fix potential io
hung and a few cleanup patches to remove stale codes and unnecessary
check. Most changes are in request issue and dispatch path. Thanks.

---
V4:
-Eliminate remove of from_schedule parameter in blk_mq_commit_rqs in
patch "blk-mq: remove unncessary from_schedule parameter in" and
remove Reviewed-by tag of this changed patch.
-Trace unplug event for all commits and make patches based on new
general blk_mq_commit_rqs
-Fix some code style issues.
-Initialize ret to BLK_STS_OK in patches "blk-mq: remove unncessary
error count and commit in" and "blk-mq: use blk_mq_commit_rqs helper in
blk_mq_try_issue_list_directly".

V3:
-Collect Reviewed-by from Christoph
-Add new patch "blk-mq: make blk_mq_commit_rqs a general function for all
commits" suggested-by Christoph
-Move patch "blk-mq: remove unncessary from_schedule parameter in
blk_mq_plug_issue_direct" forwad. This is because of some abandoned
work, no influence anyway. No special attention should be paied.
-Make patch based on rewriten blk_mq_commit_rqs.

V2:
-Thanks Christoph for review and there are two fixes in v2 according
to recommends from Christoph.
1)Avoid overly long line in patch "blk-mq: avoid sleep in
blk_mq_alloc_request_hctx"
2)Check BLK_MQ_REQ_NOWAIT and BLK_MQ_REQ_RESERVED in two WARN_ON_ONCE
---


Kemeng Shi (14):
blk-mq: avoid sleep in blk_mq_alloc_request_hctx
blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait
blk-mq: Fix potential io hung for shared sbitmap per tagset
blk-mq: remove unnecessary list_empty check in
blk_mq_try_issue_list_directly
blk-mq: remove unncessary from_schedule parameter in
blk_mq_plug_issue_direct
blk-mq: make blk_mq_commit_rqs a general function for all commits
blk-mq: remove unncessary error count and commit in
blk_mq_plug_issue_direct
blk-mq: use blk_mq_commit_rqs helper in blk_mq_try_issue_list_directly
blk-mq: simplify flush check in blk_mq_dispatch_rq_list
blk-mq: remove unnecessary error count and check in
blk_mq_dispatch_rq_list
blk-mq: remove set of bd->last when get driver tag for next request
fails
blk-mq: use switch/case to improve readability in
blk_mq_try_issue_list_directly
blk-mq: correct stale comment of .get_budget

block/blk-mq-sched.c | 7 +--
block/blk-mq.c | 144 +++++++++++++++++++------------------------
2 files changed, 68 insertions(+), 83 deletions(-)

--
2.30.0