On Thu, 30 Jul 2015, Vlastimil Babka wrote:

> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index aa58a32..56355f2 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -2469,7 +2469,7 @@ khugepaged_alloc_page(struct page **hpage, gfp_t gfp, 
> struct mm_struct *mm,
>        */
>       up_read(&mm->mmap_sem);
>  
> -     *hpage = alloc_pages_exact_node(node, gfp, HPAGE_PMD_ORDER);
> +     *hpage = __alloc_pages_node(node, gfp, HPAGE_PMD_ORDER);
>       if (unlikely(!*hpage)) {
>               count_vm_event(THP_COLLAPSE_ALLOC_FAILED);
>               *hpage = ERR_PTR(-ENOMEM);
> @@ -2568,9 +2568,7 @@ static void collapse_huge_page(struct mm_struct *mm,
>  
>       VM_BUG_ON(address & ~HPAGE_PMD_MASK);
>  
> -     /* Only allocate from the target node */
> -     gfp = alloc_hugepage_gfpmask(khugepaged_defrag(), __GFP_OTHER_NODE) |
> -             __GFP_THISNODE;
> +     gfp = alloc_hugepage_gfpmask(khugepaged_defrag(), 0);
>  
>       /* release the mmap_sem read lock. */
>       new_page = khugepaged_alloc_page(hpage, gfp, mm, vma, address, node);

Hmm, where is the __GFP_THISNODE enforcement in khugepaged_alloc_page() 
that is removed in collapse_huge_page()?  I also don't see what happened 
to the __GFP_OTHER_NODE.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to