All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Thomas Gleixner <tglx@linutronix.de>, Jens Axboe <axboe@kernel.dk>
Cc: Keith Busch <keith.busch@intel.com>,
	linux-nvme@lists.infradead.org, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 1/7] genirq: allow assigning affinity to present but not online CPUs
Date: Fri, 19 May 2017 10:57:50 +0200	[thread overview]
Message-ID: <20170519085756.29742-2-hch@lst.de> (raw)
In-Reply-To: <20170519085756.29742-1-hch@lst.de>

This will allow us to spread MSI/MSI-X affinity over all present CPUs and
thus better deal with systems where cpus are take on and offline all the
time.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 kernel/irq/manage.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 070be980c37a..5c25d4a5dc46 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -361,17 +361,17 @@ static int setup_affinity(struct irq_desc *desc, struct cpumask *mask)
 	if (irqd_affinity_is_managed(&desc->irq_data) ||
 	    irqd_has_set(&desc->irq_data, IRQD_AFFINITY_SET)) {
 		if (cpumask_intersects(desc->irq_common_data.affinity,
-				       cpu_online_mask))
+				       cpu_present_mask))
 			set = desc->irq_common_data.affinity;
 		else
 			irqd_clear(&desc->irq_data, IRQD_AFFINITY_SET);
 	}
 
-	cpumask_and(mask, cpu_online_mask, set);
+	cpumask_and(mask, cpu_present_mask, set);
 	if (node != NUMA_NO_NODE) {
 		const struct cpumask *nodemask = cpumask_of_node(node);
 
-		/* make sure at least one of the cpus in nodemask is online */
+		/* make sure at least one of the cpus in nodemask is present */
 		if (cpumask_intersects(mask, nodemask))
 			cpumask_and(mask, mask, nodemask);
 	}
-- 
2.11.0

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 1/7] genirq: allow assigning affinity to present but not online CPUs
Date: Fri, 19 May 2017 10:57:50 +0200	[thread overview]
Message-ID: <20170519085756.29742-2-hch@lst.de> (raw)
In-Reply-To: <20170519085756.29742-1-hch@lst.de>

This will allow us to spread MSI/MSI-X affinity over all present CPUs and
thus better deal with systems where cpus are take on and offline all the
time.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 kernel/irq/manage.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 070be980c37a..5c25d4a5dc46 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -361,17 +361,17 @@ static int setup_affinity(struct irq_desc *desc, struct cpumask *mask)
 	if (irqd_affinity_is_managed(&desc->irq_data) ||
 	    irqd_has_set(&desc->irq_data, IRQD_AFFINITY_SET)) {
 		if (cpumask_intersects(desc->irq_common_data.affinity,
-				       cpu_online_mask))
+				       cpu_present_mask))
 			set = desc->irq_common_data.affinity;
 		else
 			irqd_clear(&desc->irq_data, IRQD_AFFINITY_SET);
 	}
 
-	cpumask_and(mask, cpu_online_mask, set);
+	cpumask_and(mask, cpu_present_mask, set);
 	if (node != NUMA_NO_NODE) {
 		const struct cpumask *nodemask = cpumask_of_node(node);
 
-		/* make sure at least one of the cpus in nodemask is online */
+		/* make sure at least one of the cpus in nodemask is present */
 		if (cpumask_intersects(mask, nodemask))
 			cpumask_and(mask, mask, nodemask);
 	}
-- 
2.11.0

  reply	other threads:[~2017-05-19  8:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-19  8:57 spread MSI(-X) vectors to all possible CPUs V2 Christoph Hellwig
2017-05-19  8:57 ` Christoph Hellwig
2017-05-19  8:57 ` Christoph Hellwig [this message]
2017-05-19  8:57   ` [PATCH 1/7] genirq: allow assigning affinity to present but not online CPUs Christoph Hellwig
2017-05-19  8:57 ` [PATCH 2/7] genirq/affinity: assign vectors to all present CPUs Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-21 18:31   ` Thomas Gleixner
2017-05-21 18:31     ` Thomas Gleixner
2017-05-23  9:35     ` Christoph Hellwig
2017-05-23  9:35       ` Christoph Hellwig
2017-05-19  8:57 ` [PATCH 3/7] genirq/affinity: factor out a irq_affinity_set helper Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-21 19:03   ` Thomas Gleixner
2017-05-21 19:03     ` Thomas Gleixner
2017-05-23  9:37     ` Christoph Hellwig
2017-05-23  9:37       ` Christoph Hellwig
2017-05-19  8:57 ` [PATCH 4/7] genirq/affinity: update CPU affinity for CPU hotplug events Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-19  8:57 ` [PATCH 5/7] blk-mq: include all present CPUs in the default queue mapping Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-19  8:57 ` [PATCH 6/7] blk-mq: create hctx for each present CPU Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-19  8:57 ` [PATCH 7/7] nvme: allocate queues for all possible CPUs Christoph Hellwig
2017-05-19  8:57   ` Christoph Hellwig
2017-05-23 14:08   ` Max Gurtovoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170519085756.29742-2-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=keith.busch@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.