From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=60911 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgerV-0003n8-Ru for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:22:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OgerU-0007FB-MC for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:22:29 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:56706) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OgerU-0007F1-Hi for qemu-devel@nongnu.org; Wed, 04 Aug 2010 10:22:28 -0400 Received: by qwf6 with SMTP id 6so979717qwf.4 for ; Wed, 04 Aug 2010 07:22:27 -0700 (PDT) Message-ID: <4C59779E.3060000@codemonkey.ws> Date: Wed, 04 Aug 2010 09:22:22 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? References: <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> <20100804132408.GG28523@amd.home.annexia.org> <20100804132625.GN10499@redhat.com> In-Reply-To: <20100804132625.GN10499@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, Gerd Hoffmann , "Richard W.M. Jones" , kvm@vger.kernel.org, Avi Kivity On 08/04/2010 08:26 AM, Gleb Natapov wrote: > On Wed, Aug 04, 2010 at 02:24:08PM +0100, Richard W.M. Jones 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. >>> >> It's boot time, so you can just map it over some existing RAM surely? >> > Not with current qemu. This is broken now. > But even if it wasn't it can potentially create havoc. I think we currently believe that the northbridge likely never forwards RAM access to a device so this doesn't fit how hardware would work. More importantly, BIOSes and ROMs do very funny things with RAM. It's not unusual for a ROM to muck with the e820 map to allocate RAM for itself which means there's always the chance that we're going to walk over RAM being used for something else. Regards, Anthony Liguori >> Linuxboot.bin can work out where to map it so it won't be in any >> memory either being used or the target for the copy. >> >> > -- > Gleb. >