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@xxxxxxxxxxx> Cc: Bart Van Assche <bvanassche@xxxxxxx> Cc: Johannes Thumshirn <Johannes.Thumshirn@xxxxxxx> Cc: Chao Leng <lengchao@xxxxxxxxxx> -- 2.25.2