mmap: avoid merging cloned VMAs
authorShaohua Li <shaohua.li@intel.com>
Wed, 25 May 2011 00:11:20 +0000 (17:11 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 25 May 2011 15:39:04 +0000 (08:39 -0700)
commit965f55dea0e331152fa53941a51e4e16f9f06fae
tree3cf8beb31bac7b325b62e8ef75618e0086a3c760
parent5f70b962ccc2f2e6259417cf3d1233dc9e16cf5e
mmap: avoid merging cloned VMAs

Avoid merging a VMA with another VMA which is cloned from the parent process.

The cloned VMA shares the anon_vma lock with the parent process's VMA.  If
we do the merge, more vmas (even the new range is only for current
process) use the perent process's anon_vma lock.  This introduces
scalability issues.  find_mergeable_anon_vma() already considers this
case.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/mmap.c