From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19ZYwP-0002Dj-Sh for qemu-devel@nongnu.org; Mon, 07 Jul 2003 12:34:13 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19ZYHB-00074l-OB for qemu-devel@nongnu.org; Mon, 07 Jul 2003 11:51:41 -0400 Received: from gnuftp.gnu.org ([199.232.41.6]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19ZXpy-0003fg-QT for qemu-devel@nongnu.org; Mon, 07 Jul 2003 11:23:30 -0400 Received: from smtp5.wanadoo.fr ([193.252.22.27] helo=mwinf0403.wanadoo.fr) by gnuftp.gnu.org with esmtp (Exim 4.20) id 19ZVV3-0003xw-6Q for qemu-devel@nongnu.org; Mon, 07 Jul 2003 08:53:45 -0400 Message-ID: <3F096CEC.90003@free.fr> Date: Mon, 07 Jul 2003 14:51:56 +0200 From: Fabrice Bellard MIME-Version: 1.0 References: <20030707081644.EA7D92C0EA@lists.samba.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH] Snapshot block device support Reply-To: qemu-devel@nongnu.org List-Id: List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , To: Rusty Russell Cc: qemu-devel@nongnu.org Rusty Russell wrote: > In message <3F082D4D.6010505@free.fr> 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.