Commit 17c33167 authored by Keith Busch's avatar Keith Busch
Browse files

nvme/pci Limit write queue sizes to possible cpus



The driver can never use more queues of any type than the number of
possible CPUs, so a higher value causes the driver to allocate more
memory for IO queues than it could ever use. Limit the parameter at
module load time to the number of possible cpus.

Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
parent 3f68baf7
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3138,6 +3138,9 @@ static int __init nvme_init(void)
	BUILD_BUG_ON(sizeof(struct nvme_create_sq) != 64);
	BUILD_BUG_ON(sizeof(struct nvme_delete_queue) != 64);
	BUILD_BUG_ON(IRQ_AFFINITY_MAX_SETS < 2);

	write_queues = min(write_queues, num_possible_cpus());
	poll_queues = min(poll_queues, num_possible_cpus());
	return pci_register_driver(&nvme_driver);
}