tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: dom0 lockdebug panic



On 21.09.2011 17:47, Christoph Egger wrote:

Hi,

when I boot latest -current dom0 kernel I get this panic:


Mutex error: lockdebug_barrier: spin lock held

lock address : 0xffffa00023604790 type : spin
initialized : 0xffffffff803276c0
shared holds : 0 exclusive: 1
shares wanted: 0 exclusive: 0
current cpu : 0 last held: 0
current lwp : 0xffffa00025c5b1e0 last held: 0xffffa00025c5b1e0
last locked* : 0xffffffff8032aff4 unlocked : 0xffffffff8032b269
owner field : 0x0000000000010600 wait/spin: 0/1

panic: LOCKDEBUG
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff80213515 cs e030 rflags 246 cr2
[snip]
"last locked" points to sys/dev/pci/if_bnx.c, line 4863.

Hmm, mixing a spin mutex with a workqueue working with an adaptive one... does no good.

Could you try the patch below please?

Index: sys/dev/pci/if_bnx.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_bnx.c,v
retrieving revision 1.44
diff -u -p -r1.44 if_bnx.c
--- sys/dev/pci/if_bnx.c        15 Jul 2011 11:29:31 -0000      1.44
+++ sys/dev/pci/if_bnx.c        21 Sep 2011 21:02:32 -0000
@@ -707,7 +707,7 @@ bnx_attach(device_t parent, device_t sel

        /* create workqueue to handle packet allocations */
        if (workqueue_create(&sc->bnx_wq, device_xname(self),
-           bnx_alloc_pkts, sc, PRI_NONE, IPL_NONE, WQ_MPSAFE) != 0) {
+           bnx_alloc_pkts, sc, PRI_NONE, IPL_NET, WQ_MPSAFE) != 0) {
                aprint_error_dev(self, "failed to create workqueue\n");
                goto bnx_attach_fail;
        }


--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost


Home | Main Index | Thread Index | Old Index