Re: [RFC/PATCHv2] x86/irq: round-robin distribution of irqs to cpusw/in node

From: Thomas Gleixner
Date: Mon Sep 27 2010 - 16:47:05 EST


On Mon, 27 Sep 2010, Arthur Kepner wrote:

>
> (Fixed a small error with yesterday's version, and add x86@xxxxxxxxxx
> to cc list.)
>
> SGI has encountered situations where particular CPUs run out of
> interrupt vectors on systems with many (several hundred or more)
> CPUs. This happens because some drivers (particularly the mlx4_core
> driver) select the number of interrupts they allocate based on the
> number of CPUs, and because of how the default irq affinity is used.
>
> Do psuedo round-robin distribution of irqs to CPUs within a node
> to avoid (or at least delay) running out of vectors on any particular
> CPU.

Sigh. Why is this a x86 specific problem ?

If we setup an irq on a node then we should set the affinity to the
target node in general. The round robin inside the node is really not
a problem unless you hit:

nr_irqs_per_node * nr_cpus_per_node > max_vectors_per_cpu

If that's the case then we probably have some more severe problems.

Again, I agree that we should target the irq to the node, but the fine
grained details can be done in user space.

Thanks,

tglx
--
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/