per-tagset SRCU struct and quiesce v3
Christoph Hellwig
hch at lst.de
Tue Nov 1 08:00:36 PDT 2022
Hi all,
this series moves the SRCU struct used for quiescing to the tag_set
as the SRCU critical sections for dispatch take about the same time
on all queues anyway, and then adopts the series from Chao that provides
tagset-wide quiesce to use that infrastructure.
To do so this series cleans up a lot of code in nvme that is related
to quiescing queues.
Changes since v2:
- check blk_queue_skip_tagset_quiesce in blk_mq_unquiesce_tagset
- drop "nvme-pci: don't warn about the lack of I/O queues for admin
controllers"
- drop "nvme: don't call nvme_kill_queues from nvme_remove_namespaces"
- drop "nvme-pci: mark the namespaces dead earlier in nvme_remove"
- minor fixups for the above dropped patches
- fix up a few commit messages
Changes since v1:
- a whole bunch of new nvme cleanups
- use the notify version of set_capacity in blk_mark_disk_dead
- improve the documentation for blk_mq_wait_quiesce_done
- dynamically allocate the srcu_struct in struct blk_mq_tag_set
- minor spelling fixes
More information about the Linux-nvme
mailing list