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@xxxxxxx> > Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> > Cc: Bart Van Assche <bvanassche@xxxxxxx> > Cc: Johannes Thumshirn <Johannes.Thumshirn@xxxxxxx> > Cc: Chao Leng <lengchao@xxxxxxxxxx> > -- This looks good to me. Reviewed-by: Keith Busch <kbusch@xxxxxxxxxx>