OSDN Git Service

Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated
[linux-kernel-docs/linux-2.6.git] / mm / memory.c
index b3d73bb..9c6ff7f 100644 (file)
@@ -1715,11 +1715,11 @@ gotten:
        if (unlikely(anon_vma_prepare(vma)))
                goto oom;
        if (old_page == ZERO_PAGE(address)) {
-               new_page = alloc_zeroed_user_highpage(vma, address);
+               new_page = alloc_zeroed_user_highpage_movable(vma, address);
                if (!new_page)
                        goto oom;
        } else {
-               new_page = alloc_page_vma(GFP_HIGHUSER, vma, address);
+               new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address);
                if (!new_page)
                        goto oom;
                cow_user_page(new_page, old_page, address, vma);
@@ -2237,7 +2237,7 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
 
                if (unlikely(anon_vma_prepare(vma)))
                        goto oom;
-               page = alloc_zeroed_user_highpage(vma, address);
+               page = alloc_zeroed_user_highpage_movable(vma, address);
                if (!page)
                        goto oom;
 
@@ -2340,7 +2340,8 @@ retry:
 
                        if (unlikely(anon_vma_prepare(vma)))
                                goto oom;
-                       page = alloc_page_vma(GFP_HIGHUSER, vma, address);
+                       page = alloc_page_vma(GFP_HIGHUSER_MOVABLE,
+                                               vma, address);
                        if (!page)
                                goto oom;
                        copy_user_highpage(page, new_page, address, vma);