Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Mar 2010 23:57:12 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        qemu-devel@nongnu.org, Blue Swirl <blauwirbel@gmail.com>, freebsd-emulation@freebsd.org, Andreas Tobler <andreast@fgznet.ch>, Richard Henderson <rth@twiddle.net>, Toni <tonygio04@gmail.com>
Subject:   Re: [Qemu-devel] qemu git head 20100323 on FreeBSD - qemu-devel port update for testing
Message-ID:  <20100330215712.GA6901@triton8.kn-bremen.de>
In-Reply-To: <20100330204548.GA4359@triton8.kn-bremen.de>
References:  <20100325204423.GA46954@triton8.kn-bremen.de> <f43fc5581003301104x77c0e527m871b035a7364bd5b@mail.gmail.com> <20100330191629.GA95521@triton8.kn-bremen.de> <201003302009.o2UK9lAv002282@triton8.kn-bremen.de> <4BB2600B.90002@twiddle.net> <20100330204548.GA4359@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100330215712.GA6901>