[PATCH 3/8] blk-mq: move the srcu_struct used for quiescing to the tagset

Ming Lei ming.lei at redhat.com
Thu Oct 20 18:41:06 PDT 2022


On Thu, Oct 20, 2022 at 12:56:03PM +0200, Christoph Hellwig wrote:
> All I/O submissions have fairly similar latencies, and a tagset-wide
> quiesce is a fairly common operation.  Becuase there are a lot less
> tagsets there is also no need for the variable size allocation trick.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
>  block/blk-core.c       | 27 +++++----------------------
>  block/blk-mq.c         | 25 +++++++++++++++++--------
>  block/blk-mq.h         | 14 +++++++-------
>  block/blk-sysfs.c      |  9 ++-------
>  block/blk.h            |  9 +--------
>  block/genhd.c          |  2 +-
>  include/linux/blk-mq.h |  4 ++++
>  include/linux/blkdev.h |  9 ---------
>  8 files changed, 37 insertions(+), 62 deletions(-)

q->tag_set is supposed to be live when calling blk_mq_quiesce_queue
and blk_mq_unquiesce_queue, especially del_gendisk() quieses request
queue, so looks fine:

Reviewed-by: Ming Lei <ming.lei at redhat.com>


Thanks,
Ming




More information about the Linux-nvme mailing list