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 19ZRBV-0006dG-Dj for qemu-devel@nongnu.org; Mon, 07 Jul 2003 04:17:17 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19ZRBL-0005yN-El for qemu-devel@nongnu.org; Mon, 07 Jul 2003 04:17:09 -0400 Received: from dp.samba.org ([66.70.73.150] helo=lists.samba.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19ZRAz-0004om-QZ for qemu-devel@nongnu.org; Mon, 07 Jul 2003 04:16:45 -0400 From: Rusty Russell In-reply-to: Your message of "Sun, 06 Jul 2003 16:08:13 +0200." <3F082D4D.6010505@free.fr> Date: Mon, 07 Jul 2003 18:15:57 +1000 Sender: rusty@bach.samba.org Message-Id: <20030707081644.EA7D92C0EA@lists.samba.org> 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: Fabrice Bellard Cc: qemu-devel@nongnu.org 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. 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. Cheers! Rusty. -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell.