LOR: "taskqueue_drain with the following non-sleepable locks held" with if_em

Garrett Cooper yaneurabeya at gmail.com
Tue May 7 22:03:36 UTC 2013


   Saw the following LOR on a CURRENT build as of yesterday with an
almost idle machine processing ARP requests:

root at wf220:/mnt # taskqueue_drain with the following non-sleepable locks held:
exclusive rw lle (lle) r = 0 (0xfffffe001450b410) locked @
/usr/src/sys/netinet/in.c:1484
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff848d4f7690
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff848d4f7740
witness_warn() at witness_warn+0x4a8/frame 0xffffff848d4f7800
taskqueue_drain() at taskqueue_drain+0x3a/frame 0xffffff848d4f7840
set_timeout() at set_timeout+0x4a/frame 0xffffff848d4f7860
netevent_callback() at netevent_callback+0x16/frame 0xffffff848d4f7870
arpintr() at arpintr+0x9b5/frame 0xffffff848d4f7930
netisr_dispatch_src() at netisr_dispatch_src+0x60/frame 0xffffff848d4f79a0
ether_demux() at ether_demux+0x130/frame 0xffffff848d4f79d0
ether_nh_input() at ether_nh_input+0x369/frame 0xffffff848d4f7a30
netisr_dispatch_src() at netisr_dispatch_src+0x60/frame 0xffffff848d4f7aa0
em_rxeof() at em_rxeof+0x30e/frame 0xffffff848d4f7b10
em_msix_rx() at em_msix_rx+0x33/frame 0xffffff848d4f7b40
intr_event_execute_handlers() at
intr_event_execute_handlers+0x80/frame 0xffffff848d4f7b70
ithread_loop() at ithread_loop+0x128/frame 0xffffff848d4f7bb0
fork_exit() at fork_exit+0x71/frame 0xffffff848d4f7bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xffffff848d4f7bf0
--- trap 0, rip = 0, rsp = 0xffffff848d4f7cb0, rbp = 0 ---
root at wf220:/mnt # uname -a
FreeBSD wf220.west.isilon.com 10.0-CURRENT FreeBSD 10.0-CURRENT #1:
Tue May  7 08:04:59 PDT 2013
root at wf220.west.isilon.com:/usr/obj/usr/src/sys/ISI-GENERIC  amd64

    I've seen this issue before for a few weeks/months, so it's
nothing new (but probably should be fixed...).
Thanks!
-Garrett

PS Please CC me as I'm not subscribed to the list.


More information about the freebsd-net mailing list