How to distribute IRQs to all cores
Hi, everyone
The interrupts of my ixgbevf driver occurs only Core 0 although the user space "irqbalance" serivce is working.
How can I distribute the interrupt of RX in ixgbevf to all cores? Is there any kernel compile option for it ?
cat /proc/interrupts | grep "isv"
97: 8 0 0 0 0
0 0 0 PCI-MSI-edge isv0-rx-0
99: 7 0 0 0 0
0 0 0 PCI-MSI-edge isv0:lsc
103: 2059 0 0 0 0
0 0 0 PCI-MSI-edge isv2-rx-0
104: 14 0 0 0 0
0 0 0 PCI-MSI-edge isv2-tx-0 105: 1 0 0 0 0 0 0 0 PCI-MSI-edge isv2:mbx
"isv" is netdevice name of my ixgbevf.
Thanks in advance.
Best Regards,
J.Hwan Kim
Try programming the CPU-irq affinity by writing to
/proc/irq/<irq-number>/smp_affinity
For example masks for irqs could be :
irq 97 - 0x1
99 - 0x2
103 - 0x4
104 - 0x8
That way, you are hardcoding on which cpu the particular irqs should land.
HTH
Akash
Quoted 27 lines · J.Hwan Kim
Hi, everyone
The interrupts of my ixgbevf driver occurs only Core 0 although the user space "irqbalance" serivce is working.
How can I distribute the interrupt of RX in ixgbevf to all cores? Is there any kernel compile option for it ?
cat
/proc/interrupts| grep "isv"97: 8 0 0 0 0 0 0 0 PCI-MSI-edge isv0-rx-0 99: 7 0 0 0 0 0 0 0 PCI-MSI-edge isv0:lsc 103: 2059 0 0 0 0 0 0 0 PCI-MSI-edge isv2-rx-0104: 14 0 0 0 0
0 0 0 PCI-MSI-edge isv2-tx-0
105: 1 0 0 0 0
0 0 0 PCI-MSI-edge isv2:mbx"isv" is netdevice name of my ixgbevf.
Thanks in advance.
Quoted 9 lines
Best Regards,
J.Hwan Kim
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110825/3ba4edb9/attachment.html
Quoted 39 lines · Akash
Try programming the CPU-irq affinity by writing to
/proc/irq/<irq-number>/smp_affinity
For example masks for irqs could be :
irq 97 -0x1
99 -0x2
103 -0x4
104 -0x8That way, you are hardcoding on which cpu the particular irqs should land.
HTH
AkashOn Thu, Aug 25, 2011 at 4:08 AM, J.Hwan Kim <[email protected] <mailto:[email protected]>> wrote:
Hi, everyone
The interrupts of my ixgbevf driver occurs only Core 0 although the user space "irqbalance" serivce is working.
How can I distribute the interrupt of RX in ixgbevf to all cores? Is there any kernel compile option for it ?
cat
/proc/interrupts| grep "isv"
97: 8 0 0 0 0
0 0 0 PCI-MSI-edge isv0-rx-0
99: 7 0 0 0 0
0 0 0 PCI-MSI-edge isv0:lsc
103: 2059 0 0 0 0
0 0 0 PCI-MSI-edge isv2-rx-0
104: 14 0 0 0 0
0 0 0 PCI-MSI-edge isv2-tx-0
105: 1 0 0 0 0
0 0 0 PCI-MSI-edge isv2:mbx
Quoted 2 lines
"isv" is netdevice name of my ixgbevf.
Thank you for reply.
I want to distribute, for example, IRQ 103 to all cores as follows :
103 : 111 2344 1334 3233 2233 1111 2233 362262 isv2-rx-0 That cannot be achieved by setting /proc/irq/irq-num/smp_affinity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110826/325ee98d/attachment.html