Bug 112702

Summary: [em] em driver doesn't use MSI on MSI capable device
Product: Base System Reporter: Arthur Hartwig <arthur.hartwig>
Component: kernAssignee: jfv
Status: Closed FIXED    
Severity: Affects Only Me CC: sbruno
Priority: Normal Keywords: IntelNetworking
Version: Unspecified   
Hardware: Any   
OS: Any   

Description Arthur Hartwig 2007-05-16 08:30:04 UTC
FreeBSD 7 built a few weeks ago used MSI on two MSI capable interfaces
(82572 chips). 

The recent substantial changes to emdriver have broken emdriver's use of MSI.
Inspection of if_em.c shows em_attach() calls em_allocate_pci_resources()
which for a 82572 based NIC to use MSI ends up requiring the bus.type field
in the adapter structure to be set to e1000_bus_type_pci_express. However
the bus type is not initialised until the call to e1000_get_bus_info() which
is called AFTER em_attach() calls em_allocate_pci_resources().

I have been investigating the use of MSI to avoid interrupt sharing in a
new system with a significant number of PCI express NICs.
Comment 1 Remko Lodder freebsd_committer 2007-05-16 15:19:27 UTC
Responsible Changed
From-To: freebsd-bugs->jfv

Over to maintainer.
Comment 2 Sean Bruno freebsd_committer 2015-06-29 17:51:06 UTC
There has been significant changes to the em(4) driver since this bug was reported.  If MSI handling is still broken for these cards on the 10.2r release, please open a new ticket.