Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674622 > unrolled thread

[PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping

Started byChristoph Hellwig <hch@lst.de>
First post2017-06-26 12:30 +0200
Last post2017-07-02 19:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping Christoph Hellwig <hch@lst.de> - 2017-06-26 12:30 +0200
    [tip:irq/core] blk-mq: Include all present CPUs in the default  queue mapping tip-bot for Christoph Hellwig <tipbot@zytor.com> - 2017-06-28 23:10 +0200
    Re: [PATCH 1/3] blk-mq: include all present CPUs in the default queue  mapping Sagi Grimberg <sagi@grimberg.me> - 2017-07-02 19:50 +0200

#1674622 — [PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping

FromChristoph Hellwig <hch@lst.de>
Date2017-06-26 12:30 +0200
Subject[PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping
Message-ID<tWzrj-172-1@gated-at.bofh.it>
This way we get a nice distribution independent of the current cpu
online / offline state.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/blk-mq-cpumap.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c
index 8e61e8640e17..5eaecd40f701 100644
--- a/block/blk-mq-cpumap.c
+++ b/block/blk-mq-cpumap.c
@@ -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;
 		}
-- 
2.11.0

[toc] | [next] | [standalone]


#1677175 — [tip:irq/core] blk-mq: Include all present CPUs in the default queue mapping

Fromtip-bot for Christoph Hellwig <tipbot@zytor.com>
Date2017-06-28 23:10 +0200
Subject[tip:irq/core] blk-mq: Include all present CPUs in the default queue mapping
Message-ID<tXsnM-2zA-25@gated-at.bofh.it>
In reply to#1674622
Commit-ID:  5f042e7cbd9ebd3580077dcdc21f35e68c2adf5f
Gitweb:     http://git.kernel.org/tip/5f042e7cbd9ebd3580077dcdc21f35e68c2adf5f
Author:     Christoph Hellwig <hch@lst.de>
AuthorDate: Mon, 26 Jun 2017 12:20:56 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 28 Jun 2017 23:00:06 +0200

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: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jens 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: Thomas Gleixner <tglx@linutronix.de>

---
 block/blk-mq-cpumap.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c
index 8e61e86..5eaecd4 100644
--- a/block/blk-mq-cpumap.c
+++ b/block/blk-mq-cpumap.c
@@ -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;
 		}

[toc] | [prev] | [next] | [standalone]


#1679545 — Re: [PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping

FromSagi Grimberg <sagi@grimberg.me>
Date2017-07-02 19:50 +0200
SubjectRe: [PATCH 1/3] blk-mq: include all present CPUs in the default queue mapping
Message-ID<tYRap-5gB-13@gated-at.bofh.it>
In reply to#1674622
Looks good,

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web