From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 30 21:58:36 2010 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F6AE106564A for ; Tue, 30 Mar 2010 21:58:36 +0000 (UTC) (envelope-from nox@jelal.kn-bremen.de) Received: from smtp.kn-bremen.de (gelbbaer.kn-bremen.de [78.46.108.116]) by mx1.freebsd.org (Postfix) with ESMTP id 38EAE8FC16 for ; Tue, 30 Mar 2010 21:58:35 +0000 (UTC) Received: by smtp.kn-bremen.de (Postfix, from userid 10) id 2A3161E00172; Tue, 30 Mar 2010 23:58:35 +0200 (CEST) Received: from triton8.kn-bremen.de (noident@localhost [127.0.0.1]) by triton8.kn-bremen.de (8.14.3/8.14.3) with ESMTP id o2ULvElY007144; Tue, 30 Mar 2010 23:57:14 +0200 (CEST) (envelope-from nox@triton8.kn-bremen.de) Received: (from nox@localhost) by triton8.kn-bremen.de (8.14.3/8.14.3/Submit) id o2ULvC0b007143; Tue, 30 Mar 2010 23:57:12 +0200 (CEST) (envelope-from nox) From: Juergen Lock Date: Tue, 30 Mar 2010 23:57:12 +0200 To: Juergen Lock Message-ID: <20100330215712.GA6901@triton8.kn-bremen.de> References: <20100325204423.GA46954@triton8.kn-bremen.de> <20100330191629.GA95521@triton8.kn-bremen.de> <201003302009.o2UK9lAv002282@triton8.kn-bremen.de> <4BB2600B.90002@twiddle.net> <20100330204548.GA4359@triton8.kn-bremen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100330204548.GA4359@triton8.kn-bremen.de> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: qemu-devel@nongnu.org, Blue Swirl , freebsd-emulation@freebsd.org, Andreas Tobler , Richard Henderson , Toni Subject: Re: [Qemu-devel] qemu git head 20100323 on FreeBSD - qemu-devel port update for testing X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Mar 2010 21:58:36 -0000 On Tue, Mar 30, 2010 at 10:45:48PM +0200, Juergen Lock wrote: > On Tue, Mar 30, 2010 at 01:33:15PM -0700, Richard Henderson wrote: > > On 03/30/2010 01:09 PM, Juergen Lock wrote: > > > Oh sorry if that was not clear, things go into swap if I _replace_ the > > > endaddr ~0ul (which caused the assert) with the max value the assert > > > still tolerates i.e. > > > ((abi_ulong)1 << L1_MAP_ADDR_SPACE_BITS) - 1 > > > which in this case seems to be 0x7fffffffffff: > > > > Yes, I got that. And I see from ... > > > > > #3 0x0000000060012731 in page_set_flags (start=140737488224256, > > > end=18446744073709551615, flags=32) > > > > ... here that the range we're reserving is > > > > 0x7ffffffe0000 ... 0x7fffffffffff > > > > which is a mere 128k range. Which ought to allocate no more than > > a single leaf page table (and thus N-1 pages for the N-level table). > > > > Which doesn't answer the question of why you'd wind up running out > > of memory. > > Ah yeah our mails crossed each other :) Yeah I don't know... Ok found the problem: Reads from /compat/linux/proc/self/maps are broken i.e. return partial lines if (at least I think that's the reason) the mappings change between read() calls. (It got a line like this after the first line that originally caused the assert: fe0000-800000000000 rwxp 00020000 00:00 0 ) Well good that we now use kinfo_getvmmap(), I hope noone needs bsd-user on FreeBSD 6.x... Oh well... Juergen