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>