From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=42620 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgejP-0007vI-8c for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:14:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OgejN-0005lp-CZ for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:14:06 -0400 Received: from mail-qy0-f180.google.com ([209.85.216.180]:62804) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OgejN-0005lX-5r for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:14:05 -0400 Received: by qyk31 with SMTP id 31so2190364qyk.4 for ; Wed, 04 Aug 2010 07:14:04 -0700 (PDT) Message-ID: <4C5975A9.1070108@codemonkey.ws> Date: Wed, 04 Aug 2010 09:14:01 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? References: <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> <20100804140011.GR10499@redhat.com> In-Reply-To: <20100804140011.GR10499@redhat.com> 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: Gleb Natapov Cc: qemu-devel@nongnu.org, "Richard W.M. Jones" , Avi Kivity , kvm@vger.kernel.org, Gerd Hoffmann On 08/04/2010 09:00 AM, Gleb Natapov wrote: > On Wed, Aug 04, 2010 at 08:52:44AM -0500, Anthony Liguori wrote: > >> On 08/04/2010 08:34 AM, Gleb Natapov wrote: >> >>> On Wed, Aug 04, 2010 at 08:15:04AM -0500, Anthony Liguori wrote: >>> >>>> On 08/04/2010 08:07 AM, Gleb Natapov wrote: >>>> >>>>> On Wed, Aug 04, 2010 at 08:04:09AM -0500, Anthony Liguori wrote: >>>>> >>>>>> On 08/04/2010 03:17 AM, Avi Kivity wrote: >>>>>> >>>>>>> For playing games, there are three options: >>>>>>> - existing fwcfg >>>>>>> - fwcfg+dma >>>>>>> - put roms in 4GB-2MB (or whatever we decide the flash size is) >>>>>>> and have the BIOS copy them >>>>>>> >>>>>>> Existing fwcfg is the least amount of work and probably >>>>>>> satisfactory for isapc. fwcfg+dma is IMO going off a tangent. >>>>>>> High memory flash is the most hardware-like solution, pretty easy >>>>>>> >>>>>> >from a qemu point of view but requires more work. >>>>>> >>>>>> The only trouble I see is that high memory isn't always available. >>>>>> If it's a 32-bit PC and you've exhausted RAM space, then you're only >>>>>> left with the PCI hole and it's not clear to me if you can really >>>>>> pull out 100mb of space there as an option ROM without breaking >>>>>> something. >>>>>> >>>>>> >>>>> We can map it on demand. Guest tells qemu to map rom "A" to address X by >>>>> writing into some io port. Guest copies rom. Guest tells qemu to unmap >>>>> it. Better then DMA interface IMHO. >>>>> >>>> That's what I thought too, but in a 32-bit guest using ~3.5GB of >>>> RAM, where can you safely get 100MB of memory to full map the ROM? >>>> If you're going to map chunks at a time, you are basically doing >>>> DMA. >>>> >>>> >>> This is not like DMA event if done in chunks and chunks can be pretty >>> big. The code that dials with copying may temporary unmap some pci >>> devices to have more space there. >>> >> That's a bit complicated because SeaBIOS is managing the PCI devices >> whereas the kernel code is running as an option rom. I don't know >> the BIOS PCI interfaces well so I don't know how doable this is. >> >> > Unmapping device and mapping it at the same place is easy. Enumerating > pci devices from multiboot.bin looks like unneeded churn though. > > >> Maybe we're just being too fancy here. >> >> We could rewrite -kernel/-append/-initrd to just generate a floppy >> image in RAM, and just boot from floppy. >> >> > May be. Can floppy be 100M? > No, I forgot just how small they are. R/O usb mass storage device? CDROM? I'm beginning thing that loading such a large initrd through fwcfg is simply a dead end. Regards, Anthony Liguori > -- > Gleb. >