qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] Snapshot block device support


From: Fabrice Bellard
Subject: [Qemu-devel] Re: [PATCH] Snapshot block device support
Date: Mon, 07 Jul 2003 14:51:56 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020408

Rusty Russell wrote:
In message <address@hidden> you write:

Even with only one CPU, it helps my debugging to be able to test
CONFIG_SMP=y...

I realize that SMP simulation can be interesting. I could at least learn how it works as I never looked at it. The simplest solution would be to use CONFIG_QEMU to change the FIXADDR_TOP address in fixmap.h (I am going to test that). I have looked at APIC and IOAPIC simulation in bochs and it does not seem so complicated. My real problem is how to simulate several CPUs at the same time. A solution is to use a single process and to schedule by hand. It is costly because the address space must be switched between each CPU. Another solution is to use separate processes, but it complicates the hardware simulation. Any ideas ?


I'd be happy for the moment with a single CPU, as long as an
CONFIG_SMP=y kernel booted.

It should work now, provided you add one patch in the kernel (it is mentionned now in the documentation).

If you still have problems, you can remove the spin locks in exec.h:327.
I don't want to discourge you though!  If you were going to actually
simulate multiple CPUS, ideal would be one thread per cpu (which takes
advantage of an SMP host).  Switching simply doesn't exercise the race
conditions as much as an SMP host does.  I remember TDB bugs where
tdbtorture (multiprocess stress test) passed fine on UP, but blew up
every time on SMP.

I am going to think about it. There are currently complicated locking issues in QEMU: even in user mode simulation, clone() support is totally broken.

Fabrice.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]