diff options
Diffstat (limited to 'mm/huge_memory.c')
-rw-r--r-- | mm/huge_memory.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 004c9c2aac78..e187454d82f6 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
@@ -1203,6 +1203,8 @@ static void __split_huge_page_refcount(struct page *page) | |||
1203 | BUG_ON(!PageDirty(page_tail)); | 1203 | BUG_ON(!PageDirty(page_tail)); |
1204 | BUG_ON(!PageSwapBacked(page_tail)); | 1204 | BUG_ON(!PageSwapBacked(page_tail)); |
1205 | 1205 | ||
1206 | mem_cgroup_split_huge_fixup(page, page_tail); | ||
1207 | |||
1206 | lru_add_page_tail(zone, page, page_tail); | 1208 | lru_add_page_tail(zone, page, page_tail); |
1207 | } | 1209 | } |
1208 | 1210 | ||
@@ -1837,9 +1839,9 @@ static void collapse_huge_page(struct mm_struct *mm, | |||
1837 | spin_lock(ptl); | 1839 | spin_lock(ptl); |
1838 | isolated = __collapse_huge_page_isolate(vma, address, pte); | 1840 | isolated = __collapse_huge_page_isolate(vma, address, pte); |
1839 | spin_unlock(ptl); | 1841 | spin_unlock(ptl); |
1840 | pte_unmap(pte); | ||
1841 | 1842 | ||
1842 | if (unlikely(!isolated)) { | 1843 | if (unlikely(!isolated)) { |
1844 | pte_unmap(pte); | ||
1843 | spin_lock(&mm->page_table_lock); | 1845 | spin_lock(&mm->page_table_lock); |
1844 | BUG_ON(!pmd_none(*pmd)); | 1846 | BUG_ON(!pmd_none(*pmd)); |
1845 | set_pmd_at(mm, address, pmd, _pmd); | 1847 | set_pmd_at(mm, address, pmd, _pmd); |
@@ -1856,6 +1858,7 @@ static void collapse_huge_page(struct mm_struct *mm, | |||
1856 | anon_vma_unlock(vma->anon_vma); | 1858 | anon_vma_unlock(vma->anon_vma); |
1857 | 1859 | ||
1858 | __collapse_huge_page_copy(pte, new_page, vma, address, ptl); | 1860 | __collapse_huge_page_copy(pte, new_page, vma, address, ptl); |
1861 | pte_unmap(pte); | ||
1859 | __SetPageUptodate(new_page); | 1862 | __SetPageUptodate(new_page); |
1860 | pgtable = pmd_pgtable(_pmd); | 1863 | pgtable = pmd_pgtable(_pmd); |
1861 | VM_BUG_ON(page_count(pgtable) != 1); | 1864 | VM_BUG_ON(page_count(pgtable) != 1); |