Hi, this set of two patches fixes Bugzilla Bug #5493. http://bugzilla.kernel.org/show_bug.cgi?id=5493 The first patch makes the vma prio tree code reusable. This patch should not contain any functional changes. The second patch uses the prio tree code for the vmas associated with an anon_vma. This allows us to replace the linear searches in rmap.c with prio tree iterations that are much more efficient if there are many vmas associated with an anon_vma. The runtime of the test program in the bug report reduces from half an hour to about two minutes on the VBox instance used for testing. The patch is against a current vanilla kernel that already includes the vma linking patches from Rik. Diffstat for both patches combined: arch/arm/mm/fault-armv.c | 3 +- arch/arm/mm/flush.c | 3 +- arch/parisc/kernel/cache.c | 3 +- arch/x86/mm/hugetlbpage.c | 3 +- fs/hugetlbfs/inode.c | 3 +- fs/inode.c | 2 +- include/linux/mm.h | 32 ++++++++-- include/linux/mm_types.h | 10 +--- include/linux/prio_tree.h | 17 +++++- include/linux/rmap.h | 88 +++++++++++++++++--------- kernel/fork.c | 2 +- lib/prio_tree.c | 14 +++- mm/filemap_xip.c | 3 +- mm/fremap.c | 2 +- mm/hugetlb.c | 3 +- mm/ksm.c | 25 ++++++-- mm/memory-failure.c | 9 ++- mm/memory.c | 5 +- mm/mmap.c | 43 ++++++++----- mm/nommu.c | 12 ++-- mm/prio_tree.c | 148 +++++++++++++++++++++----------------------- mm/rmap.c | 41 ++++++++---- 22 files changed, 284 insertions(+), 187 deletions(-) regards Christian -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>