[PATCH v2 1/2] blk-mq: add tagset quiesce interface
Christoph Hellwig
hch at lst.de
Mon Oct 17 08:31:05 PDT 2022
On Mon, Oct 17, 2022 at 08:21:36AM -0700, Paul E. McKenney wrote:
> The main reason for having multiple srcu_struct structures is to
> prevent the readers from one from holding up the updaters from another.
> Except that by waiting for the multiple grace periods, you are losing
> that property anyway, correct? Or is this code waiting on only a small
> fraction of the srcu_struct structures associated with blk_queue?
There are a few places that do this. SCSI and MMC could probably switch
to this scheme or at least and open coded version of it (if we move
to a per_tagsect srcu_struct open coding it might be a better idea
anyway).
del_gendisk is one where we have to go one queue at a time, and
that might actually matter for a device removal. elevator_switch
is another one, there is a variant for it that works on the whole
tagset, but also those that don't.
More information about the Linux-nvme
mailing list