Re: [patch 2/3] MAP_NOZERO - implement sys_brk2()

From: Ulrich Drepper
Date: Wed Jun 27 2007 - 13:02:06 EST


On 6/27/07, Hugh Dickins <hugh@xxxxxxxxxxx> wrote:
Not so: if an mmap can be done by extending either adjacent vma (prot
and flags and file and offset all match up), that's what's done and no
separate vma is created. (And adjacent vmas get merged when mprotect
removes the difference in protection.)

mmap return values are randomized. If they would be mergable
something would be wrong.


I don't think there's any such reason to prefer brk to mmap.

Talk to the Quadrics people. Some of their interconnect adapters
incur significant costs with separate VMAs.


Please let me know if you've a test case which shows more vmas than
expected.

Not related to this, but we already have "too many" VMAs for some
definition of "too many". Since we split VMA when the protection
changes each thread stack consists at least of two VMA (three for
ia64). There was an approach at some point to push the access flags
down and allow VMAs to stretch further. Why was this deemed
unsuitable? It could have quite a bit with situations with many
threads (Java). As I've told back when this came up, we had one
customer where the VMA lookup actually showed up in profiles.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/