Pierre Habouzit <madcoder@xxxxxxxxxxxxxxxxxx> writes: > 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html