Index: linux-2.6.15-rc3-mm1/mm/mempolicy.c =================================================================== --- linux-2.6.15-rc3-mm1.orig/mm/mempolicy.c 2005-12-01 09:35:46.000000000 -0800 +++ linux-2.6.15-rc3-mm1/mm/mempolicy.c 2005-12-01 09:41:38.000000000 -0800 @@ -294,7 +294,7 @@ static inline int check_pgd_range(struct static inline int vma_migratable(struct vm_area_struct *vma) { if (vma->vm_flags & ( - VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP)) + VM_IO|VM_HUGETLB|VM_PFNMAP)) return 0; return 1; } Index: linux-2.6.15-rc3-mm1/mm/vmscan.c =================================================================== --- linux-2.6.15-rc3-mm1.orig/mm/vmscan.c 2005-12-01 09:35:46.000000000 -0800 +++ linux-2.6.15-rc3-mm1/mm/vmscan.c 2005-12-01 09:42:17.000000000 -0800 @@ -963,19 +963,6 @@ redo: goto unlock_both; } - /* - * On early passes with mapped pages simply - * retry. There may be a lock held for some - * buffers that may go away. Later - * swap them out. - */ - if (pass > 4) { - unlock_page(newpage); - newpage = NULL; - rc = swap_page(page); - goto next; - } - unlock_both: unlock_page(newpage);