]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drivers/nvme: provide a module parameter for setting number of I/O queues
authorShan Hai <shan.hai@oracle.com>
Wed, 12 Oct 2016 14:24:57 +0000 (22:24 +0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 19 Oct 2016 23:05:27 +0000 (16:05 -0700)
commita9d43e0881325251ac2a06280ecf7e29732a8c8e
tree8c907c0fa6ddedc27aa602bb5cb269ff42ab644b
parent7be6ad4bef649be66ffdf1f9ab7771674924950f
drivers/nvme: provide a module parameter for setting number of I/O queues

Orabug: 24914952

The current NVME driver allocates I/O queue per-cpu and alloctes IRQ
per-queue for the devices, a large number of IRQs will be allotted to
the I/O queues on a large NUMA/SMP system with multiple NVME devices
installed because of this design.

It would cause failure of CPU hotplug operations on the above mentioned
system, the problem is that the CPU cores could not be hotplugged after
certain number of them are offlined because the remaining online CPU cores
have not enough IRQ vectors to accept the large number of migrated IRQs.

This patch fixes it by providing a way to reduce the NVME queue IRQs to
an acceptable number.

Signed-off-by: Shan Hai <shan.hai@oracle.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/nvme/host/pci.c