DragonFly bugs List (threaded) for 2008-06
DragonFly BSD
DragonFly bugs List (threaded) for 2008-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Dragonfly under KVM

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 6 Jun 2008 15:49:27 -0700 (PDT)

:I've managed to get gdb attached and get some information.
:The kernel is getting caught in a while loop in lwkt_acquire. I can 
:reliably trigger this with with a "make -j8 buildworld" under a SMP 
:kernel (Otherwise identical to GENERIC, no optimisations.) The OS is 
:completely unresponsive and all four cpu cores are running at 100%.
:I've included the debug information.
:Program received signal SIGINT, Interrupt.
:lwkt_acquire (td=0xc6a59e70) at /usr/src/sys/kern/lwkt_thread.c:1048
:1048		while (td->td_flags & (TDF_RUNNING|TDF_PREEMPT_LOCK))
:(gdb) l
:1043	    mygd = mycpu;
:1044	    if (gd != mycpu) {
:1045		cpu_lfence();
:1046		KKASSERT((td->td_flags & TDF_RUNQ) == 0);
:1047		crit_enter_gd(mygd);
:1048		while (td->td_flags & (TDF_RUNNING|TDF_PREEMPT_LOCK))
:1049		    cpu_lfence();
:1050		td->td_gd = mygd;
:1051		TAILQ_INSERT_TAIL(&mygd->gd_tdallq, td, td_allq);
:1052		td->td_flags &= ~TDF_MIGRATING;
:(gdb) p td->td_flags
:$1 = 8390177
:(gdb) p td
:$2 = (thread_t) 0xc6a59e70
:(gdb) bt
:#0  lwkt_acquire (td=0xc6a59e70) at /usr/src/sys/kern/lwkt_thread.c:1048
:#1  0xc02c66af in bsd4_select_curproc (gd=0xff800000) at 
:#2  0xc02c6829 in bsd4_release_curproc (lp=0xea634c00) at 
:#3  0xc04b8239 in passive_release (td=0xdfe8aba0) at 
:Continuing execution does not appear to cause any problems.
:I can provide additional debugging info if required but I'm unsure of 
:how to proceed with this myself.

    This is great info.  One thing, what do you mean by 'KVM'?  What
    is DragonFly running under, exactly?

    I think once I understand the environment I may be able to figure out
    why the acquisition loop is blowing up.

					Matthew Dillon 

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