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

From: Arthur Kepner
Date: Tue Oct 19 2010 - 19:58:48 EST


On Sun, Oct 17, 2010 at 12:44:07PM +0200, Thomas Gleixner wrote:
> ....
> Looked a bit deeper into the users. Quite a bunch do
>
> pci_enable_msix();
> request_irqs();
>
> in their probe function. There is no sign of making them per cpu or
> node. mlx4 is one of them. No sign of anything related to nodes or cpus in
> the whole driver.
>
> Even if the driver does not request the irqs from the probe function,
> why does it need to do the msi/msix setup in the probe function at
> all?
>
> Wouldn't it be sufficient to do that at open() right before the
> interrupts are requested.

That's a good point.

> .....
> The fundamental flaw of arch_setup_msi_irqs() is
>
> node = dev_to_node(&dev->dev);
>
> That's the only node information we get. So we put everything on a
> single node.
>

But it's even worse than that, because we put everything on a single
cpu within the node until no vectors are left there, then move on to the
next one...

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