From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41827 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OghtB-0004T8-H9 for qemu-devel@nongnu.org; Wed, 04 Aug 2010 13:36:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OghtA-0004Um-9V for qemu-devel@nongnu.org; Wed, 04 Aug 2010 13:36:25 -0400 Received: from mail-qy0-f180.google.com ([209.85.216.180]:42330) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OghtA-0004Uc-6A for qemu-devel@nongnu.org; Wed, 04 Aug 2010 13:36:24 -0400 Received: by qyk31 with SMTP id 31so2374463qyk.4 for ; Wed, 04 Aug 2010 10:36:23 -0700 (PDT) Message-ID: <4C59A512.1020701@codemonkey.ws> Date: Wed, 04 Aug 2010 12:36:18 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? References: <20100803190525.GB16570@redhat.com> <4C586AB9.5040302@codemonkey.ws> <4C586CF9.7030206@redhat.com> <4C588804.5060803@redhat.com> <4C590046.2020705@redhat.com> <4C591D48.9080301@redhat.com> <4C592218.3000901@redhat.com> <4C596549.1070109@codemonkey.ws> <20100804130709.GL10499@redhat.com> <4C5967D8.7080707@codemonkey.ws> <20100804133401.GP10499@redhat.com> <4C5970AC.6060105@codemonkey.ws> <4C5995B4.90505@redhat.com> <4C5996F4.6010205@redhat.com> <721C3046-D6A7-47B2-A18C-4E59F2B68797@suse.de> <4C59A2AE.2060602@codemonkey.ws> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Gleb Natapov , kvm@vger.kernel.org, qemu-devel@nongnu.org, "Richard W.M. Jones" , Avi Kivity , Gerd Hoffmann On 08/04/2010 12:31 PM, Alexander Graf wrote: > On 04.08.2010, at 19:26, Anthony Liguori wrote: > > >> On 08/04/2010 11:45 AM, Alexander Graf wrote: >> >>> Frankly, I partially agreed to your point when we were talking about 300ms vs. 2 seconds. Now that we're talking 8 seconds that whole point is moot. We chose the wrong interface to transfer kernel+initrd data into the guest. >>> >>> Now the question is how to fix that. I would veto against anything normally guest-OS-visible. By occupying the floppy, you lose a floppy drive in the guest. By occupying a disk, you see an unwanted disk in the guest. >>> >> >> Introduce a new virtio device type (say, id 6). Teach SeaBIOS that 6 is exactly like virtio-blk (id 2). Make it clear that id 6 is only to be used by firmware and that normal guest drivers should not be written for id 6. >> > Why not make id 6 be a fw_cfg virtio interface? Because that's a ton more work and we need fw_cfg to be available before PCI is. IOW, fw_cfg cannot be a PCI interface. Regards, Anthony Liguori > That way we'd stay 100% compatible to everything we have and also get a fast path for reading big chunks of data from fw_cfg. All we'd need is a command to set the 'file' we're in. > > Even better yet, why not use virtio-9p and expose all of fw_cfg as files? Then implement a simple virtio-9p client in SeaBIOS and maybe even get direct kernel/initrd boot from a real 9p system ;). > > > Alex > >