[CentOS] How to load balance interrupts of a NIC on the PCI-MSI-edge driver in CentOS? :(

Tue May 21 04:53:22 UTC 2013
Alex Flex <aflexzor at gmail.com>

Hello CentOS !

Iam trying to configure a Dual Core 1.6Ghz AMD E-350 machine to be able 
NIC (eth0) interrupts the most efficient way possible so that I can be 
able to handle the large number of random source packets per second. 
Currently running CentOS 6.4 2.6.32-358.6.2.el6.x86_64, i made some load 
testing with a random sourced syn flood to the NIC of this machine and 
found out according to top all the CPU interrupts are being sent to 
CPU0, thus saturating it and keeping the second core 100% idle because 
of this the amount of PPS handled is low (50k /sec). So.. below the 
output of /proc/interrupts, and also the output of the SMP affinity file 
which already contains "3" which I expect it tells the kernel to load 
balance the interrupts between the two cores and its not happening.

a.) Could anyody please help me with a solution so that iam able to 
balance equally the interrupts on both cores?
b.) Is there anyway to actually assign more interrupts to this IRQ (25) 
or is that something that the kernel discretly takes care of?



[root at node2 ~]#  cat /proc/irq/25/smp_affinity

Btw I also tried setting this value to "2" and "1" to get to choose 
which core it handles, and that did work but again the problem is I can 
only use one core at a time and not balance!

[root at node2 ~]# cat /proc/interrupts
            CPU0       CPU1
   0:        229       9838   IO-APIC-edge      timer
   1:          0          2   IO-APIC-edge      i8042
   8:          0          1   IO-APIC-edge      rtc0
   9:          0          0   IO-APIC-fasteoi   acpi
  12:          0          4   IO-APIC-edge      i8042
  14:          0          0   IO-APIC-edge      pata_atiixp
  15:          0          0   IO-APIC-edge      pata_atiixp
  16:          4        650   IO-APIC-fasteoi   snd_hda_intel
  17:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, 
ehc                                                        i_hcd:usb3
  18:          0          4   IO-APIC-fasteoi   ohci_hcd:usb4, 
ohc                                                        i_hcd:usb6, 
  19:          7       2754   IO-APIC-fasteoi   ahci
  24:          0         31   PCI-MSI-edge      snd_hda_intel
  25:          1        876343   PCI-MSI-edge      eth0