All of lore.kernel.org
 help / color / mirror / Atom feed
* per-tagset SRCU struct and quiesce v2
@ 2022-10-25 14:40 Christoph Hellwig
  2022-10-25 14:40 ` [PATCH 01/17] block: set the disk capacity to 0 in blk_mark_disk_dead Christoph Hellwig
                   ` (16 more replies)
  0 siblings, 17 replies; 47+ messages in thread
From: Christoph Hellwig @ 2022-10-25 14:40 UTC (permalink / raw)
  To: Jens Axboe, Keith Busch, Sagi Grimberg, Chao Leng
  Cc: Ming Lei, linux-nvme, linux-block

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 it does a fair amount of cleanups in how nvme quiesces queues.
Even with that nvme is still a bit of a mess in how it quiesces queues,
so further work is probably needed later.

Note: testing is a bit limited as I'm travelling.  Before this proceeds
it should get surprise removal testing for nvme-pci.

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

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2022-10-30  9:28 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-25 14:40 per-tagset SRCU struct and quiesce v2 Christoph Hellwig
2022-10-25 14:40 ` [PATCH 01/17] block: set the disk capacity to 0 in blk_mark_disk_dead Christoph Hellwig
2022-10-26 12:39   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 02/17] nvme-pci: refactor the tagset handling in nvme_reset_work Christoph Hellwig
2022-10-26 12:46   ` Sagi Grimberg
2022-10-30  9:17     ` Christoph Hellwig
2022-10-25 14:40 ` [PATCH 03/17] nvme-pci: don't warn about the lack of I/O queues for admin controllers Christoph Hellwig
2022-10-26 12:49   ` Sagi Grimberg
2022-10-30  9:18     ` Christoph Hellwig
2022-10-25 14:40 ` [PATCH 04/17] nvme: don't call nvme_kill_queues from nvme_remove_namespaces Christoph Hellwig
2022-10-25 17:43   ` Keith Busch
2022-10-25 20:17     ` Sagi Grimberg
2022-10-30  9:22     ` Christoph Hellwig
2022-10-25 14:40 ` [PATCH 05/17] nvme: don't remove namespaces in nvme_passthru_end Christoph Hellwig
2022-10-26 12:50   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 06/17] nvme: remove the NVME_NS_DEAD check in nvme_remove_invalid_namespaces Christoph Hellwig
2022-10-26 12:50   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 07/17] nvme: remove the NVME_NS_DEAD check in nvme_validate_ns Christoph Hellwig
2022-10-26 12:52   ` Sagi Grimberg
2022-10-30  9:28     ` Christoph Hellwig
2022-10-25 14:40 ` [PATCH 08/17] nvme: don't unquiesce the admin queue in nvme_kill_queues Christoph Hellwig
2022-10-26 12:53   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 09/17] nvme: don't unquiesce the I/O queues " Christoph Hellwig
2022-10-26 12:54   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 10/17] nvme-pci: mark the namespaces dead earlier in nvme_remove Christoph Hellwig
2022-10-25 18:53   ` Keith Busch
2022-10-26 12:55   ` Sagi Grimberg
2022-10-26 12:57     ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 11/17] nvme-pci: don't unquiesce the I/O queues in nvme_remove_dead_ctrl Christoph Hellwig
2022-10-26  8:34   ` Chao Leng
2022-10-26 12:58     ` Sagi Grimberg
2022-10-27  2:46       ` Chao Leng
2022-10-25 14:40 ` [PATCH 12/17] nvme-pci: don't unquiesce the I/O queues in apple_nvme_reset_work Christoph Hellwig
2022-10-26  8:37   ` Chao Leng
2022-10-26 12:58   ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 13/17] blk-mq: skip non-mq queues in blk_mq_quiesce_queue Christoph Hellwig
2022-10-25 14:40 ` [PATCH 14/17] blk-mq: move the srcu_struct used for quiescing to the tagset Christoph Hellwig
2022-10-26  8:48   ` Chao Leng
2022-10-26 13:01     ` Sagi Grimberg
2022-10-27  2:49       ` Chao Leng
2022-10-27 10:02         ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 15/17] blk-mq: pass a tagset to blk_mq_wait_quiesce_done Christoph Hellwig
2022-10-25 14:40 ` [PATCH 16/17] blk-mq: add tagset quiesce interface Christoph Hellwig
2022-10-26  8:51   ` Chao Leng
2022-10-26 13:02     ` Sagi Grimberg
2022-10-25 14:40 ` [PATCH 17/17] nvme: use blk_mq_[un]quiesce_tagset Christoph Hellwig
2022-10-26 13:03   ` Sagi Grimberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.