Re: Hardware Interrupt Balancing

From: James Lamanna
Date: Mon Mar 29 2010 - 16:14:56 EST




--James

On Mar 25, 2010, at 3:36, Alejandro Riveira FernÃndez <ariveira@xxxxxxxx m> wrote:

El Wed, 24 Mar 2010 18:11:36 -0700
James Lamanna <jlamanna@xxxxxxxxx> escribiÃ:

Hi,
I have a Dual Xeon (single core each w/HT) machine and I noticed the
other day that interrupts are not
being balanced across the 2 processors:

CPU0 CPU1 CPU2 CPU3
0: 306 0 0 3254413993 IO-APIC-edge timer
1: 0 0 0 13468 IO-APIC-edge i8042
8: 0 0 0 3 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 0 0 0 4 IO-APIC-edge i8042
169: 0 0 0 0 IO-APIC-level uhci_hcd:usb2
177: 0 0 0 16743166 IO-APIC-level ata_piix
185: 0 0 0 1 IO-APIC-level ehci_hcd:usb1
193: 0 0 0 0 IO-APIC-level uhci_hcd:usb3
201: 0 0 0 1867922172 IO-APIC-level eth0
209: 0 0 0 3254690559 IO-APIC-level wct4xxp
NMI: 1 0 0 0
LOC: 3255261535 3255261540 3255261549 3255220504
ERR: 0
MIS: 0

However the cpu_affinity of say, wct4xxp is:
# cat /proc/irq/209/smp_affinity
0000000f

Maybe you just need to run irqbalance http://www.irqbalance.org/
 sudo aptitude install irqbalance  in Debian system

I do not want to use irq balance because everytime irqbalance moves the CPU of my PRI card, there is a hiccup in voice calls.
I manually moved the interrupts for the wct4xxp to CPU0 using smp_affinity = 1.

However today I got a lot of soft lockups on CPU0 due to asterisk in udp_sendmsg() - unsure if moving the interrupt caused this...could it?

Thanks.

-- James

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