mbox series

[RFC,0/4] blk-mq: introduce bio retrieve mechanism

Message ID 1536659294-2321-1-git-send-email-jianchao.w.wang@oracle.com (mailing list archive)
Headers show
Series blk-mq: introduce bio retrieve mechanism | expand

Message

jianchao.wang Sept. 11, 2018, 9:48 a.m. UTC
Hi all

This patchset introduces a new bio retrieve mechanism. It  will
flush all the requests on queue, take the bios down from them and
end them, then the bios will be submied again later. Then we could
avoid:
 - fail requests on the dying hw queues
 - depend on storage device to drain the queue
This 1st case could be fatal for filesystem and the 2nd case could
cause IO hang in nvme_reset_work.

The 1st patch introduces this feature.
The 2nd patch apply it in the updating nr_hw_queues
The 3rd patch unquiesces the queues after updating nr_hw_queues
The 4th patch discards the cq_vector checking in nvme_queue_rq

Jianchao Wang(4)
blk-mq: introduce bio retrieve mechanism
blk-mq: retrieve bios before update nr_hw_queues
nvme-pci: unquiesce queues after update nr_hw_queues
nvme-pci: discard the cq_vector checking in nvme_queue_rq


 block/blk-mq-sched.c    | 78 +++++++++++++++++++++++++++++++++++++++++++++++++
 block/blk-mq.c          | 50 ++++++++++++++++++++++++++++++-
 drivers/nvme/host/pci.c | 13 +++------
 include/linux/blk-mq.h  |  4 +++
 include/linux/blkdev.h  |  2 ++
 5 files changed, 137 insertions(+), 10 deletions(-)

Thanks
Jianchao