Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f042e7c authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Thomas Gleixner
Browse files

blk-mq: Include all present CPUs in the default queue mapping



This way we get a nice distribution independent of the current cpu
online / offline state.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
Cc: Keith Busch <keith.busch@intel.com>
Cc: linux-block@vger.kernel.org
Cc: linux-nvme@lists.infradead.org
Link: http://lkml.kernel.org/r/20170626102058.10200-2-hch@lst.de


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent bf22ff45
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ int blk_mq_map_queues(struct blk_mq_tag_set *set)
{
	unsigned int *map = set->mq_map;
	unsigned int nr_queues = set->nr_hw_queues;
	const struct cpumask *online_mask = cpu_online_mask;
	unsigned int i, nr_cpus, nr_uniq_cpus, queue, first_sibling;
	cpumask_var_t cpus;

@@ -44,7 +43,7 @@ int blk_mq_map_queues(struct blk_mq_tag_set *set)

	cpumask_clear(cpus);
	nr_cpus = nr_uniq_cpus = 0;
	for_each_cpu(i, online_mask) {
	for_each_present_cpu(i) {
		nr_cpus++;
		first_sibling = get_first_sibling(i);
		if (!cpumask_test_cpu(first_sibling, cpus))
@@ -54,7 +53,7 @@ int blk_mq_map_queues(struct blk_mq_tag_set *set)

	queue = 0;
	for_each_possible_cpu(i) {
		if (!cpumask_test_cpu(i, online_mask)) {
		if (!cpumask_test_cpu(i, cpu_present_mask)) {
			map[i] = 0;
			continue;
		}