Message ID | 20240627-isolcpus-io-queues-v2-2-26a32e3c4f75@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvme-pci: honor isolcpus configuration | expand |
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
On 6/27/24 16:10, Daniel Wagner wrote: > When isolcpus is used, the nvme-pci driver should only allocated queues > for the housekeeping CPUs. Use the blk_mq_num_possible_queues helper > which returns the correct number of queues for all configurations. > > Signed-off-by: Daniel Wagner <dwagner@suse.de> > --- > drivers/nvme/host/pci.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 102a9fb0c65f..193144e6d59b 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -81,7 +81,7 @@ static int io_queue_count_set(const char *val, const struct kernel_param *kp) int ret; ret = kstrtouint(val, 10, &n); - if (ret != 0 || n > num_possible_cpus()) + if (ret != 0 || n > blk_mq_num_possible_queues()) return -EINVAL; return param_set_uint(val, kp); } @@ -2263,7 +2263,8 @@ static unsigned int nvme_max_io_queues(struct nvme_dev *dev) */ if (dev->ctrl.quirks & NVME_QUIRK_SHARED_TAGS) return 1; - return num_possible_cpus() + dev->nr_write_queues + dev->nr_poll_queues; + return blk_mq_num_possible_queues() + dev->nr_write_queues + + dev->nr_poll_queues; } static int nvme_setup_io_queues(struct nvme_dev *dev)
When isolcpus is used, the nvme-pci driver should only allocated queues for the housekeeping CPUs. Use the blk_mq_num_possible_queues helper which returns the correct number of queues for all configurations. Signed-off-by: Daniel Wagner <dwagner@suse.de> --- drivers/nvme/host/pci.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)