diff options
author | Andrea Arcangeli <aarcange@redhat.com> | 2012-10-04 01:51:06 +0200 |
---|---|---|
committer | Mel Gorman <mgorman@suse.de> | 2012-12-11 14:42:38 +0000 |
commit | 1ba6e0b50b479cbadb8f05ebde3020da9ac87201 (patch) | |
tree | 7143c7c591ebf16723d2e1d4e898bea75ee6c609 /mm/huge_memory.c | |
parent | 0b9d705297b273657923518dbea2377cd03532ed (diff) | |
download | linux-1ba6e0b50b479cbadb8f05ebde3020da9ac87201.tar.gz linux-1ba6e0b50b479cbadb8f05ebde3020da9ac87201.tar.bz2 linux-1ba6e0b50b479cbadb8f05ebde3020da9ac87201.zip |
mm: numa: split_huge_page: transfer the NUMA type from the pmd to the pte
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>
Diffstat (limited to 'mm/huge_memory.c')
-rw-r--r-- | mm/huge_memory.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 35c66a269bcc..cd24aa562144 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -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); |