Re: [PATCH] Use NUMA node cpu mask in irq affinity [v2]

From: David Rientjes
Date: Thu Feb 09 2012 - 17:51:30 EST


On Thu, 9 Feb 2012, Prarit Bhargava wrote:

> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index a9a9dbe..3064f2f 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -301,6 +301,13 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask)
> }
>
> cpumask_and(mask, cpu_online_mask, set);
> + if (desc->irq_data.node != -1) {

Should probably be using NUMA_NO_NODE.

> + const struct cpumask *nodemask =
> + cpumask_of_node(desc->irq_data.node);
> + /* make sure at least one of the cpus in nodemask is online */
> + if (cpumask_intersects(mask, nodemask))
> + cpumask_and(mask, mask, nodemask);
> + }
> ret = chip->irq_set_affinity(&desc->irq_data, mask, false);
> switch (ret) {
> case IRQ_SET_MASK_OK:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/