Setting cpu affinity for MSI-X on i.mx6 possible?

Lucas Stach l.stach at pengutronix.de
Mon Oct 27 01:52:57 PDT 2014


Hello Heiner,

Am Sonntag, den 26.10.2014, 19:05 +0100 schrieb Heiner Kallweit:
> I use a mini pc with i.mx6 dual and Intel igb based nic (I211) connected via PCIE.
> igb driver uses MSI-X and creates two rx/tx queue pairs. However the IRQs of all queues are handled by the same CPU.
> Changing affinity is not possible. Obvious direct reason is that irq_chip PCI-MSI doesn't implement the callback
> for setting cpu affinity.
> I'd appreciate a hint whether this is a general limitation of the Cortex-A9 / GICv1 / Synopsys Designware
> architecture or whether just a proper implementation is missing yet.
> 
> Rgds, Heiner

The MSI controller on imx6 doesn't support MSI-X so igb falls back to
regular MSI interrupts. Also all MSI interrupts are aggregated into a
single GIC interrupt line. This means the best we could do is switch all
PCIe MSI interrupts to some other CPU. Configuring the CPU affinity on a
per interrupt basis is impossible on this hardware.

Regards,
Lucas

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |




More information about the linux-arm-kernel mailing list