Unable to boot recent -stable with MSI/MSIX enabled
John Baldwin
jhb at freebsd.org
Thu Nov 15 07:41:50 PST 2007
On Saturday 13 October 2007 11:59:40 am Alson van der Meulen wrote:
> * Jack Vogel <jfvogel at gmail.com> [2007-10-13 05:19]:
> > A suggestion, take the relevant files from my em driver and put
> > them back into the kernel tree that was working on 10/1, it should
> > be compatible. Then see if it breaks that kernel. Or if you'd prefer
> > I can just email the tar ball for the Intel version of 6.6.6, you can
> > disable the in-kernel em driver, and build the other and use that
> > with the 10/1 kernel.
>
> Then I removed sys/dev/em and copied it from the 10/12 sources. I also
> copied sys/conf/files, sys/conf/kern.pre.mk and sys/modules/em/Makelfile
> from the 10/12 sources; this should be all of the 6.6.6 merge. Compiled
> with same config, booted with MSI/MSIX enabled. Surprisingly, this
> kernel behaved different than the 10/10 and 10/12 kernels. It booted OK
> without any major errors, only a few watchdog timeouts and link down/ups
> on em0. It was very slow though. Top showed 60% interrupt.
>
> vmstat -i:
> interrupt total rate
> irq4: sio0 3563 8
> irq6: fdc0 1 0
> irq14: ata0 58 0
> irq16: fxp0 32076072 79593
> irq21: atapci1+ 24300 60
> cpu0: timer 793477 1968
> Total 32897471 81631
>
> There wasn't much traffic on fxp0 (only ssh, ping and ntp). According to
> dmesg, em0 used the same IRQ as fxp0, except it should be using MSI:
> em0: <Intel(R) PRO/1000 Network Connection Version - 6.6.6> port 0xdf00-0xdf1f mem 0xfdde0000-0xfddfffff,0xfddc0000-0xfdddffff irq 16 at device 0.0 on pci5
> em0: Reserved 0x20000 bytes for rid 0x10 type 3 at 0xfdde0000
> em0: attempting to allocate 1 MSI vectors (1 supported)
> msi: routing MSI IRQ 256 to vector 56
> em0: using IRQ 256 for MSI
> em0: bpf attached
> em0: Ethernet address: 00:15:17:19:59:e4
> em0: [FAST]
>
> It appears that em0 still generates interrupts on irq16, even though it
> should be using MSI.
This was due to a bug with rman_set_rid() not getting used in 6-stable that
broke the most recent MSI MFC. The rman thing was fixed on 10/3, so MSI
is not expected to work on 6-stable kernels between 8/15 and 10/3.
Are you still having problems with em + MSI?
--
John Baldwin
More information about the freebsd-stable
mailing list