On 10/20/22 12:56, Christoph Hellwig wrote:
From: Chao Leng <lengchao@xxxxxxxxxx> 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. Because some queues should not need to be quiesced(e.g. nvme connect_q) when quiesce the tagset. So introduce QUEUE_FLAG_SKIP_TAGSET_QUIESCE to tagset quiesce interface to skip the queue. Signed-off-by: Chao Leng <lengchao@xxxxxxxxxx> [hch: simplify for the per-tag_set srcu_struct] Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- block/blk-mq.c | 25 +++++++++++++++++++++++++ include/linux/blk-mq.h | 2 ++ include/linux/blkdev.h | 3 +++ 3 files changed, 30 insertions(+)
Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman