Dragonfly under KVM

Freddie Cash fjwcash at gmail.com
Fri Jun 6 21:57:22 PDT 2008


http://kvm.qumranet.com
Linux Kernel-based Virtual Machine.

Uses a modified QEmu and hardware virtualisation support in AMD and
Intel CPUs to effectively turn the Linux kernel into a hypervisor.
The VMs run as user processes on top of a (fairly) standard Linux
install.

Freddie


On 6/6/08, Matthew Dillon <dillon at apollo.backplane.com> wrote:
>
> :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
> :/usr/src/sys/kern/usched_bsd4.c:358
> :#2  0xc02c6829 in bsd4_release_curproc (lp=0xea634c00) at
> :/usr/src/sys/kern/usched_bsd4.c:322
> :#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.
> :
> :Regards
> :
> :Gary
>
>     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.
>
> 					-Matt
> 					Matthew Dillon
> 					<dillon at backplane.com>
>


-- 
Freddie Cash
fjwcash at gmail.com





More information about the Bugs mailing list