From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: Anyone seeing huge slowdown launching qemu with Linux 2.6.35? Date: Wed, 04 Aug 2010 08:52:44 -0500 Message-ID: <4C5970AC.6060105@codemonkey.ws> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, "Richard W.M. Jones" , Avi Kivity , kvm@vger.kernel.org, Gerd Hoffmann To: Gleb Natapov Return-path: In-Reply-To: <20100804133401.GP10499@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org 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. >