Re: Something is broken in repack
- From
David Kastrup <dak@gnu.org>
- Date
- Dec 11, 2007, 12:18 UTC
- Message-ID
- <851w9tl90i.fsf@lola.goethe.zz>
- In-Reply-To
- <20071211120851.GK30948@artemis.madism.org>
Pierre Habouzit <madcoder@artemis.madism.org> writes:
Show 10 quoted lines
> On Tue, Dec 11, 2007 at 11:08:47AM +0000, David Kastrup wrote: > >> Maybe address space fragmentation is involved here? malloc/free for >> large areas works using mmap in glibc. There must be enough >> _contiguous_ space for a new allocation to succeed. > > Note that I find your explanation unlikely: glibc uses mmap for > sizes over 128k by default (IIRC), and as soon as you use mmaps, > that's the kernel that deals with the address space, and it's not > necessarily contiguous, that's only true for the heap.
Every single allocation needs to be contiguous in virtual address space and must not collide with existing virtual address space allocations. So fragmentation is at least a logistical issue.
-- David Kastrup, Kriemhildstr. 15, 44793 Bochum