From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55804 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgeOn-0004YM-O1 for qemu-devel@nongnu.org; Wed, 04 Aug 2010 09:52:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OgeOm-0002D2-E8 for qemu-devel@nongnu.org; Wed, 04 Aug 2010 09:52:49 -0400 Received: from mail-qy0-f173.google.com ([209.85.216.173]:34347) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OgeOm-0002Cv-9d for qemu-devel@nongnu.org; Wed, 04 Aug 2010 09:52:48 -0400 Received: by qyk35 with SMTP id 35so1879399qyk.4 for ; Wed, 04 Aug 2010 06:52:47 -0700 (PDT) Message-ID: <4C5970AC.6060105@codemonkey.ws> Date: Wed, 04 Aug 2010 08:52:44 -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> In-Reply-To: <20100804133401.GP10499@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 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. 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. Regards, Anthony Liguori > >> And what's the upper limit on ROM size that we impose? 100MB is >> already at the ridiculously large size. >> >> > Agree. We have two solutions: > 1. Avoid the problem > 2. Fix the problem. > > Both are fine with me and I prefer 1, but if we are going with 2 I > prefer something sane. > > -- > Gleb. >