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

From: Jianchao Wang
Date: Tue Sep 11 2018 - 05:47:22 EST

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
- 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(-)