Hi,
The 1st patch fixes one kernel oops triggered by IOs vs. deleting SCSI
device, and this issue can be triggered easily on scsi_debug.
The other 3 patch fixes recent Yi Zhang's reports about his NVMe stress
tests, most of them are related with switching io sched, NVMe reset or
updating nr_hw_queues.
V3:
- fix 'blk-mq: support concurrent blk_mq_quiesce_queue' on SCSI,
which calls quiesce two times, and split blk_quiesce_queue into
two parts and fix this issue
- remove previous patch 6, and Sagi provides one better patch to
fix that, see '[PATCH v2] nvme-pci: allocate device queues storage
space at probe'
- remove patch 2 of 'blk-mq: support concurrent blk_mq_quiesce_queue()'
which need a bit much more work, especially we need to cleanup
NVMe's usage on quiesce & unquiesce first, so delay it for V4.17.
V2:
- address stale queue mapping in blk_mq_update_queue_map(), instead
of PCI transport, since such issue exists on other transport too,
as suggested by Christoph
- avoid to introduce nvme_admin_queue_rq() since the nvme queue can
be got from hctx->driver_data, which is reliable
Thanks,
Ming
Ming Lei (4):
blk-mq: quiesce queue before freeing queue
blk-mq: quiesce queue during switching io sched and updating
nr_requests
blk-mq: avoid to map CPU into stale hw queue
blk-mq: fix race between updating nr_hw_queues and switching io sched
block/blk-core.c | 9 +++++++++
block/blk-mq.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
block/elevator.c | 2 ++
3 files changed, 61 insertions(+), 3 deletions(-)
--
2.9.5