aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nvme/target
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2018-04-12 09:16:10 -0600
committerJens Axboe <axboe@kernel.dk>2018-04-12 09:58:27 -0600
commit22b5560195bd66bc43359b71821dc78cc9de56c6 (patch)
tree4cf28d0850e2533a9ae32e99532b07c5ff42cf64 /drivers/nvme/target
parentnvme-pci: Remove unused queue parameter (diff)
downloadlinux-dev-22b5560195bd66bc43359b71821dc78cc9de56c6.tar.xz
linux-dev-22b5560195bd66bc43359b71821dc78cc9de56c6.zip
nvme-pci: Separate IO and admin queue IRQ vectors
The admin and first IO queues shared the first irq vector, which has an affinity mask including cpu0. If a system allows cpu0 to be offlined, the admin queue may not be usable if no other CPUs in the affinity mask are online. This is a problem since unlike IO queues, there is only one admin queue that always needs to be usable. To fix, this patch allocates one pre_vector for the admin queue that is assigned all CPUs, so will always be accessible. The IO queues are assigned the remaining managed vectors. In case a controller has only one interrupt vector available, the admin and IO queues will share the pre_vector with all CPUs assigned. Cc: Jianchao Wang <jianchao.w.wang@oracle.com> Cc: Ming Lei <ming.lei@redhat.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme/target')
0 files changed, 0 insertions, 0 deletions