mbox series

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

Message ID 20230118092858.3911211-1-shikemeng@huaweicloud.com (mailing list archive)
Headers show
Series A few bugfix and cleanup patches for blk-mq | expand

Message

Kemeng Shi Jan. 18, 2023, 9:28 a.m. UTC
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(-)