Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jan 2008 13:25:45 +0000
From:      David Taylor <davidt@yadt.co.uk>
To:        Andrey Chernov <ache@nagual.pp.ru>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: sbrk(2) broken
Message-ID:  <20080104132545.GA51075@outcold.yadt.co.uk>
In-Reply-To: <20080104131247.GA17816@nagual.pp.ru>
References:  <20080104122149.GA17103@nagual.pp.ru> <5705.1199451431@critter.freebsd.dk> <20080104131247.GA17816@nagual.pp.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 04 Jan 2008, Andrey Chernov wrote:

> On Fri, Jan 04, 2008 at 12:57:11PM +0000, Poul-Henning Kamp wrote:
> > There is address space allocated to the process (via sbrk/mmap)
> > 
> > A subset of this, is address space allocated by the program (via malloc)
> > 
> > ...and then there is memory actually in use, which is an entirely different
> > thing, of which we currently only have some kind of clue in the VM
> > system.
> 
> Then, we need sysctl to fetch that "memory actually in use" from the 
> kernel and compare that with getrlimit() which allows malloc() to return 
> 0 when needed.

That won't help much -- malloc could have allocated some address space that
hasn't (yet) been touched by the process.  Just returning 0 when the
amount of memory "in use" hits a limit wouldn't stop the process from
then touching all the memory it has previously been allocated and
exceeding the limit.

-- 
David Taylor



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