[PATCH V2 0/5] blk-mq: quiesce improvement

Ming Lei
2021-11-30T07:38:15Z

Hi Guys,

The 1st patch removes hctx_lock and hctx_unlock, and optimize dispatch
code path a bit.

The 2nd patch moves srcu from blk_mq_hw_ctx to request_queue.

The other patches add one new helper for supporting quiesce in parallel.

V2:
- add patch of 'remove hctx_lock and hctx_unlock'
- replace ->alloc_srcu with queue flag, as suggested by Sagi

Ming Lei (5):
blk-mq: remove hctx_lock and hctx_unlock
blk-mq: move srcu from blk_mq_hw_ctx to request_queue
blk-mq: add helper of blk_mq_shared_quiesce_wait()
nvme: quiesce namespace queue in parallel
scsi: use blk-mq quiesce APIs to implement scsi_host_block

block/blk-core.c | 27 +++++++--
block/blk-mq-sysfs.c | 2 -
block/blk-mq.c | 116 +++++++++++++--------------------------
block/blk-sysfs.c | 3 +-
block/blk.h | 10 +++-
block/genhd.c | 2 +-
drivers/nvme/host/core.c | 9 ++-
drivers/scsi/scsi_lib.c | 16 +++---
include/linux/blk-mq.h | 21 ++++---
include/linux/blkdev.h | 9 +++
10 files changed, 109 insertions(+), 106 deletions(-)

--
2.31.1