Re: [PATCH 2/3] nvme-pci: limit queue count to housekeeping cpus

From: Christoph Hellwig
Date: Sat Jun 22 2024 - 01:14:32 EST


> diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c
> index 9638b25fd521..43c039900ef6 100644
> --- a/block/blk-mq-cpumap.c
> +++ b/block/blk-mq-cpumap.c
> @@ -11,10 +11,23 @@
> #include <linux/smp.h>
> #include <linux/cpu.h>
> #include <linux/group_cpus.h>
> +#include <linux/sched/isolation.h>
>
> #include "blk.h"
> #include "blk-mq.h"
>
> +unsigned int blk_mq_num_possible_queues(void)
> +{
> + const struct cpumask *io_queue_mask;
> +
> + io_queue_mask = housekeeping_cpumask(HK_TYPE_IO_QUEUE);
> + if (!cpumask_empty(io_queue_mask))
> + return cpumask_weight(io_queue_mask);
> +
> + return num_possible_cpus();
> +}
> +EXPORT_SYMBOL_GPL(blk_mq_num_possible_queues);

This should be split into a separate patch. And it could really use
a kerneldoc comment.

> - 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;

Please avoid the overly long line here.

Otherwise this looks good to me.