[PATCH V3 0/4] blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING

Ming Lei
2020-09-08T08:16:03Z

Hi Jens,

The 1st patch add .mq_quiesce_mutex for serializing quiesce/unquiesce,
and prepares for replacing srcu with percpu_ref.

The 2nd patch replaces srcu with percpu_ref.

The 3rd patch adds tagset quiesce interface.

The 4th patch applies tagset quiesce interface for NVMe subsystem.

V3:
- add tagset quiesce interface
- apply tagset quiesce interface for NVMe
- pass blktests(block, nvme)

V2:
- add .mq_quiesce_lock
- add comment on patch 2 wrt. handling hctx_lock() failure
- trivial patch style change

Ming Lei (3):
blk-mq: serialize queue quiesce and unquiesce by mutex
blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING
blk-mq: add tagset quiesce interface

Sagi Grimberg (1):
nvme: use blk_mq_[un]quiesce_tagset

block/blk-core.c | 2 +
block/blk-mq-sysfs.c | 2 -
block/blk-mq.c | 177 +++++++++++++++++++++++++--------------
block/blk-sysfs.c | 6 +-
drivers/nvme/host/core.c | 19 ++---
include/linux/blk-mq.h | 10 +--
include/linux/blkdev.h | 6 ++
7 files changed, 140 insertions(+), 82 deletions(-)

Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Cc: Chao Leng <lengchao@huawei.com>
--
2.25.2