mm: numa: split_huge_page: transfer the NUMA type from the pmd to the pte
authorAndrea Arcangeli <aarcange@redhat.com>
Wed, 3 Oct 2012 23:51:06 +0000 (01:51 +0200)
committerMel Gorman <mgorman@suse.de>
Tue, 11 Dec 2012 14:42:38 +0000 (14:42 +0000)
When we split a transparent hugepage, transfer the NUMA type from the
pmd to the pte if needed.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
mm/huge_memory.c

index 35c66a2..cd24aa5 100644 (file)
@@ -1364,6 +1364,8 @@ static int __split_huge_page_map(struct page *page,
                                BUG_ON(page_mapcount(page) != 1);
                        if (!pmd_young(*pmd))
                                entry = pte_mkold(entry);
+                       if (pmd_numa(*pmd))
+                               entry = pte_mknuma(entry);
                        pte = pte_offset_map(&_pmd, haddr);
                        BUG_ON(!pte_none(*pte));
                        set_pte_at(mm, haddr, pte, entry);