Interrupt storm with MSI in combination with em1

From: Daan Vreeken <Daan_at_vehosting.nl>
Date: Wed, 4 May 2011 17:34:50 +0200
Hi All,

I've just updated a machine to -current (r221321) and since then I'm seeing an 
interrupt storm on irq 16. The storm goes away when I disable MSI/MSIX with 
the following lines in "loader.conf" :

	hw.pci.enable_msix="0"
	hw.pci.enable_msi="0"

According to "dmesg" the following devices share IRQ 16 :

	pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0
	em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcc00-0xcc1f
	   mem 0xf7de0000-0xf7dfffff,0xf7d00000-0xf7d7ffff,0xf7ddc000-0xf7ddffff
	   irq 16 at device 0.0 on pci1
	vgapci0: <VGA-compatible display> port 0xbc00-0xbc07
	   mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on
	   pci0
	ehci0: <Intel PCH USB 2.0 controller USB-B> mem 0xf7cfa000-0xf7cfa3ff
	   irq 16 at device 26.0 on pci0
	em1: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xec00-0xec1f
	   mem 0xf7fe0000-0xf7ffffff,0xf7f00000-0xf7f7ffff,0xf7fdc000-0xf7fdffff
	   irq 16 at device 0.0 on pci4
	pcib4: <ACPI PCI-PCI bridge> irq 16 at device 28.5 on pci0

During a storm "vmstat -i" shows a rate of about 220.000 interrupts/sec. MSI 
interrupt delivery to both 'em0' and 'em1' seems to work correctly during a 
storm, as I see their counters increase normally in the "vmstat -i" output.

As only 'em0' and 'em1' seem to be using MSI interrupts, my guess is that the 
e1000 driver is causing this problem. Could it be that the driver forgets to 
clear/mask legacy interrupts when attaching the MSI interrupts perhaps?

Any tips on how to debug and/or fix this?


The full output of "dmesg" can be found here :
	http://vehosting.nl/pub_diffs/dmesg_plantje2_2011_05_04.txt

And the full output of "pciconf -lv" is here :
	http://vehosting.nl/pub_diffs/pciconf_plantje2_2011_05_04.txt


Regards,
-- 
Daan Vreeken
VEHosting
http://VEHosting.nl
tel: +31-(0)40-7113050 / +31-(0)6-46210825
KvK nr: 17174380
Received on Wed May 04 2011 - 13:34:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:13 UTC