From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N6imC-0006OR-Px for qemu-devel@nongnu.org; Sat, 07 Nov 2009 05:44:12 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N6im8-0006My-9L for qemu-devel@nongnu.org; Sat, 07 Nov 2009 05:44:12 -0500 Received: from [199.232.76.173] (port=47111 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N6im8-0006Mv-2E for qemu-devel@nongnu.org; Sat, 07 Nov 2009 05:44:08 -0500 Received: from mail2.shareable.org ([80.68.89.115]:53609) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N6im7-0006BZ-Jp for qemu-devel@nongnu.org; Sat, 07 Nov 2009 05:44:07 -0500 Date: Sat, 7 Nov 2009 10:44:02 +0000 From: Jamie Lokier Subject: Re: [Qemu-devel] [PATCH 0/4] net-bridge: rootless bridge support for qemu Message-ID: <20091107104402.GA10410@shareable.org> References: <1257294485-27015-1-git-send-email-aliguori@us.ibm.com> <20091105163702.GC21630@shareable.org> <4AF30129.7080203@us.ibm.com> <200911051820.48878.arnd@arndb.de> <4AF3154F.8090901@redhat.com> <4AF36DE9.3040803@us.ibm.com> <4AF3CF8C.1030408@redhat.com> <4AF44A33.6010602@us.ibm.com> <4AF53D8C.7080708@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4AF53D8C.7080708@redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Mark McLoughlin , Anthony Liguori , Arnd Bergmann , agl@linux.vnet.ibm.com, Arnd Bergmann , Juan Quintela , Dustin Kirkland , qemu-devel@nongnu.org, Michael Tsirkin Avi Kivity wrote: > So vfork() is required, or in light of its man page and glowing > recommendations from the security people, vfork() on Linux is fine to use, as long as you respect it's unwritten requirements :-) In a multithreaded program: you can start by spawning a thread for the sole purpose of spawning a process. Call vfork() from the new thread. Then a slow exec() call won't delay the rest of the program, because it's only blocking the thread you created. > we can mark guest memory as > shared on fork and use plain fork(), like we do for pre mmu notifier > kernels. Aiee - what's the plan? Can a running KVM be forked, as in into two separate processes to run the forked guests in parallel, or not? Thanks, -- Jamie