]> Pileus Git - ~andy/linux/blobdiff - mm/mempolicy.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
[~andy/linux] / mm / mempolicy.c
index 9f73b29d304d3f0ced5da23358fecc92de7983b7..36cb46cddf61aacc1b47f3d925ad58cc7a9926bb 100644 (file)
@@ -1196,14 +1196,14 @@ static struct page *new_vma_page(struct page *page, unsigned long private, int *
                        break;
                vma = vma->vm_next;
        }
-       /*
-        * queue_pages_range() confirms that @page belongs to some vma,
-        * so vma shouldn't be NULL.
-        */
-       BUG_ON(!vma);
 
-       if (PageHuge(page))
+       if (PageHuge(page)) {
+               BUG_ON(!vma);
                return alloc_huge_page_noerr(vma, address, 1);
+       }
+       /*
+        * if !vma, alloc_page_vma() will use task or system default policy
+        */
        return alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address);
 }
 #else
@@ -1317,7 +1317,7 @@ static long do_mbind(unsigned long start, unsigned long len,
                if (nr_failed && (flags & MPOL_MF_STRICT))
                        err = -EIO;
        } else
-               putback_lru_pages(&pagelist);
+               putback_movable_pages(&pagelist);
 
        up_write(&mm->mmap_sem);
  mpol_out:
@@ -2665,7 +2665,7 @@ static void __init check_numabalancing_enable(void)
 
        if (nr_node_ids > 1 && !numabalancing_override) {
                printk(KERN_INFO "Enabling automatic NUMA balancing. "
-                       "Configure with numa_balancing= or sysctl");
+                       "Configure with numa_balancing= or the kernel.numa_balancing sysctl");
                set_numabalancing_state(numabalancing_default);
        }
 }