[PATCH V3 3/4] blk-mq: add tagset quiesce interface
Hannes Reinecke
hare at suse.de
Tue Sep 8 04:45:58 EDT 2020
On 9/8/20 10:15 AM, Ming Lei wrote:
> drivers that have shared tagsets may need to quiesce potentially a lot
> of request queues that all share a single tagset (e.g. nvme). Add an interface
> to quiesce all the queues on a given tagset. This interface is useful because
> it can speedup the quiesce by doing it in parallel.
>
> For tagsets that have BLK_MQ_F_BLOCKING set, we kill request queue's dispatch
> percpu-refcount such that all of them wait for the counter becoming zero. For
> tagsets that don't have BLK_MQ_F_BLOCKING set, we simply call a single
> synchronize_rcu as this is sufficient.
>
> This patch is against Sagi's original post.
> Signed-off-by: Ming Lei <ming.lei at redhat.com>
> Signed-off-by: Sagi <ming.lei at redhat.com>
> 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>
> ---
> block/blk-mq.c | 68 ++++++++++++++++++++++++++++++++----------
> include/linux/blk-mq.h | 2 ++
> 2 files changed, 55 insertions(+), 15 deletions(-)
>
Makes one wonder for which devices we _do not_ have a shared tagset :-)
Reviewed-by: Hannes Reinecke <hare at suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer
More information about the Linux-nvme
mailing list