mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
nvme-pci: cap queue creation to used queues
If the user reduces the special queue count at runtime and resets the controller, we need to reduce the number of queues and interrupts requested accordingly rather than start with the pre-allocated queue count. Tested-by: Kanchan Joshi <joshi.k@samsung.com> Reviewed-by: Kanchan Joshi <joshi.k@samsung.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
166e31d7db
commit
4735b510a0
|
|
@ -2902,7 +2902,13 @@ static int nvme_setup_io_queues(struct nvme_dev *dev)
|
|||
dev->nr_write_queues = write_queues;
|
||||
dev->nr_poll_queues = poll_queues;
|
||||
|
||||
nr_io_queues = dev->nr_allocated_queues - 1;
|
||||
/*
|
||||
* The initial number of allocated queue slots may be too large if the
|
||||
* user reduced the special queue parameters. Cap the value to the
|
||||
* number we need for this round.
|
||||
*/
|
||||
nr_io_queues = min(nvme_max_io_queues(dev),
|
||||
dev->nr_allocated_queues - 1);
|
||||
result = nvme_set_queue_count(&dev->ctrl, &nr_io_queues);
|
||||
if (result < 0)
|
||||
return result;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user