diff options
author | Jens Axboe <axboe@kernel.dk> | 2018-12-09 19:21:45 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-12-11 14:27:46 +0100 |
commit | 6451fe73fa0f542a49bfacd7205b88a597897f58 (patch) | |
tree | 406fb36da2ad3b799e26f383af39b10145475a63 /drivers/md | |
parent | dm: fix inflight IO check (diff) | |
download | linux-6451fe73fa0f542a49bfacd7205b88a597897f58.tar.xz linux-6451fe73fa0f542a49bfacd7205b88a597897f58.zip |
nvme: fix irq vs io_queue calculations
Guenter reported an boot hang issue on HPPA after we default to 0 poll
queues. We have two issues in the queue count calculations:
1) We don't separate the poll queues from the read/write queues. This is
important, since the former doesn't need interrupts.
2) The adjust logic is broken.
Adjust the poll queue count before doing nvme_calc_io_queues(). The poll
queue count is only limited by the IO queue count we were able to get
from the controller, not failures in the IRQ allocation loop. This
leaves nvme_calc_io_queues() just adjusting the read/write queue map.
Reported-by: Reported-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md')
0 files changed, 0 insertions, 0 deletions