[PATCH V5 0/4] blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING
Keith Busch
kbusch at kernel.org
Fri Sep 11 13:33:54 EDT 2020
On Fri, Sep 11, 2020 at 10:41:13AM +0800, Ming Lei wrote:
> 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.
>
> V5:
> - warn once in case that driver unquiesces its queue being
> quiesce and not done, only patch 2 is modified
>
> V4:
> - remove .mq_quiesce_mutex, and switch to test_and_[set|clear] for
> avoiding duplicated quiesce action
> - pass blktests(block, nvme)
>
> 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):
> block: use test_and_{clear|test}_bit to set/clear QUEUE_FLAG_QUIESCED
> 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 | 13 +++
> block/blk-mq-sysfs.c | 2 -
> block/blk-mq.c | 182 +++++++++++++++++++++++++--------------
> block/blk-sysfs.c | 6 +-
> block/blk.h | 2 +
> drivers/nvme/host/core.c | 19 ++--
> include/linux/blk-mq.h | 10 +--
> include/linux/blkdev.h | 4 +
> 8 files changed, 154 insertions(+), 84 deletions(-)
>
> Cc: Hannes Reinecke <hare at suse.de>
> Cc: Sagi Grimberg <sagi at grimberg.me>
> Cc: Bart Van Assche <bvanassche at acm.org>
> Cc: Johannes Thumshirn <Johannes.Thumshirn at wdc.com>
> Cc: Chao Leng <lengchao at huawei.com>
> --
This looks good to me.
Reviewed-by: Keith Busch <kbusch at kernel.org>
More information about the Linux-nvme
mailing list