kern/112702: emdriver doesn't use MSI on MSI capable device

Arthur Hartwig arthur.hartwig at nokia.com
Wed May 16 07:30:05 UTC 2007


>Number:         112702
>Category:       kern
>Synopsis:       emdriver doesn't use MSI on MSI capable device
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 16 07:30:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Arthur Hartwig
>Release:        FreeBSD 7
>Organization:
Nokia
>Environment:
FreeBSD oz-net-11.nes.nokia.com 7.0-CURRENT FreeBSD 7.0-CURRENT #4: Fri May 11
11:56:18 EST 2007     root at oz-net-11.nes.nokia.com:/usr/obj/usr/src/sys/FBSD_TM
PFS  i386

>Description:
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.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list