mbox series

[0/4] blk-mq: improve dispatch lock & quiesce implementation

Message ID 20211203131534.3668411-1-ming.lei@redhat.com (mailing list archive)
Headers show
Series blk-mq: improve dispatch lock & quiesce implementation | expand

Message

Ming Lei Dec. 3, 2021, 1:15 p.m. UTC
Hello,

The 1st patch replaces hctx_lock/hctx_unlock with
blk_mq_run_dispatch_ops(), so that the fast dispatch code path gets
optimized a bit.

The 2nd patch moves srcu from hctx into request queue.

The last two patches call blk_mq_run_dispatch_ops once in case of
issuing directly from list.


Ming Lei (4):
  blk-mq: remove hctx_lock and hctx_unlock
  blk-mq: move srcu from blk_mq_hw_ctx to request_queue
  blk-mq: pass request queue to blk_mq_run_dispatch_ops
  blk-mq: run dispatch lock once in case of issuing from list

 block/blk-core.c       |  27 +++++++++--
 block/blk-mq-sched.c   |   3 +-
 block/blk-mq-sysfs.c   |   2 -
 block/blk-mq.c         | 105 +++++++++--------------------------------
 block/blk-mq.h         |  16 +++++++
 block/blk-sysfs.c      |   3 +-
 block/blk.h            |  10 +++-
 block/genhd.c          |   2 +-
 include/linux/blk-mq.h |   8 ----
 include/linux/blkdev.h |   9 ++++
 10 files changed, 84 insertions(+), 101 deletions(-)

Comments

Jens Axboe Dec. 3, 2021, 1:57 p.m. UTC | #1
On 12/3/21 6:15 AM, Ming Lei wrote:
> Hello,
> 
> The 1st patch replaces hctx_lock/hctx_unlock with
> blk_mq_run_dispatch_ops(), so that the fast dispatch code path gets
> optimized a bit.
> 
> The 2nd patch moves srcu from hctx into request queue.
> 
> The last two patches call blk_mq_run_dispatch_ops once in case of
> issuing directly from list.

Looks good, and makes it easier to do the list issue on top of as well.
I'll take a closer look, thanks.
Jens Axboe Dec. 3, 2021, 7:12 p.m. UTC | #2
On Fri, 3 Dec 2021 21:15:30 +0800, Ming Lei wrote:
> The 1st patch replaces hctx_lock/hctx_unlock with
> blk_mq_run_dispatch_ops(), so that the fast dispatch code path gets
> optimized a bit.
> 
> The 2nd patch moves srcu from hctx into request queue.
> 
> The last two patches call blk_mq_run_dispatch_ops once in case of
> issuing directly from list.
> 
> [...]

Applied, thanks!

[1/4] blk-mq: remove hctx_lock and hctx_unlock
      commit: 0ae36d0d96a27b748ade2b2f1550e52e9bafb137
[2/4] blk-mq: move srcu from blk_mq_hw_ctx to request_queue
      commit: 8770079f7b1c48b6cf4a9853c3f5c071f5a8df55
[3/4] blk-mq: pass request queue to blk_mq_run_dispatch_ops
      commit: ffa0cfa2b689413db2a97fa2dad90218befa66f9
[4/4] blk-mq: run dispatch lock once in case of issuing from list
      commit: daa7d82f3e50cfe005d620672dfe939e8ed804b1

Best regards,