Intel "em" driver sleeps with non-sleepable lock.

Zaphod Beeblebrox zbeeble at gmail.com
Sun May 8 03:27:36 UTC 2011


On Thu, May 5, 2011 at 4:44 PM, Jack Vogel <jfvogel at gmail.com> wrote:
> So, this happens EVERY time after an install of 8.2 ??
>
> Give me details about the hardware please.

Having had more time to experiment, it seems it happens whenever
ifconfig_em0="DHCP" is in rc.conf --- which happens after using the
PC-BSD installer to install FreeBSD.  It also happens if you put that
in there manually.  NB: em0 must also have link.  So... conditions:

1) FreeBSD 8.1 or 8.2 installed
2) ifconfig_em0="DHCP"
3) em0 has link.

If any of those are missing, things work fine.

OK... hardware again.  Intel S3240HGPRX motherboard.  Xeon X3440
processor.  4 "igb" chipset ethernet onboard plus one "em" chipset
ethernet.  The "em" chipset ethernet is "shared" with the onboard ILOM
which, in this case is augmented by an RMM3 module (which provides
full video console and remote mount media).  The initial probe for the
"em" device says:

em0: <Intel(R) PRO/1000 Network Connection 7.1.9> port 0x1000-0x101f
mem 0xb1900000-0xb191ffff,0xb1920000-0xb1923fff irq 16 at device 0.0
on pci12
em0: Using MSIX interrupts with 3 vectors
em0: [ITHREAD]
em0: [ITHREAD]
em0: [ITHREAD]
em0: Ethernet address: 00:15:17:e8:53:1e

... but that same port is shared with the ILOM and it uses the mac
address: 00:15:17:e8:53:20

pciconf -lv says:

em0 at pci0:12:0:0:        class=0x020000 card=0x34f28086 chip=0x10d38086
rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
    class      = network
    subclass   = ethernet

I'm just actually looking at a PDF from Intel on this chip --- they
talk about it having "sideband" communications with the BMC (baseboard
management controller) at as much as 100 megabit (but possibly through
smbus --- which is quite slow).

They also talk about it having hardware timestamping of packets for
more accurate timekeeping --- which is cool.

Since I can reproduce this, how do I trace this other thread?


More information about the freebsd-stable mailing list