[lkml]   [2005]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: ptrace single-stepping change breaks Wine
Mike Hearn <> wrote:
> Also a precise description of what flex-mmap does would be good. Google
> wasn't too informative, best I could get was that it means mmap
> allocates from the "top" of the address space down. But where is the top
> exactly?

Ingo has described it thus:


0x08000000 ... binary code
0x08xxxxxx ... brk area
0x40000000 ... start of mmap, new mmaps go after old ones
0xbfxxxxxx ... stack

0x08000000 ... binary code
0x08xxxxxx ... brk area
0xbfxxxxxx ... _end_ of all mmaps, new mmaps go below old ones
0xbfyyyyyy ... stack
the 'after' layout guarantees that brk area (malloc()) can grow
unlimited and mmap() can grow unlimited - they will meet somewhere
inbetween when almost all of the VM is used up. [the 'top' of the mmaps
in the 'after' layout is constrained by the stack ulimit - the stack
must still fit and we never allocate into the stack's yet unallocated
and growable hole.]

with the 'before' layout we've got 900 MB for brk() and 1.9GB for
mmaps() - a rigid limit.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:09    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean