| From | "Kirill A. Shutemov" <> | Subject | [PATCHv3, RFC 27/34] thp: prepare zap_huge_pmd() to uncharge file pages | Date | Fri, 5 Apr 2013 14:59:51 +0300 |
| |
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Uncharge pages from correct counter.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> --- mm/huge_memory.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 7c48f58..4a1d8d7 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1368,10 +1368,12 @@ int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, spin_unlock(&tlb->mm->page_table_lock); put_huge_zero_page(); } else { + int member; page = pmd_page(orig_pmd); page_remove_rmap(page); VM_BUG_ON(page_mapcount(page) < 0); - add_mm_counter(tlb->mm, MM_ANONPAGES, -HPAGE_PMD_NR); + member = PageAnon(page) ? MM_ANONPAGES : MM_FILEPAGES; + add_mm_counter(tlb->mm, member, -HPAGE_PMD_NR); VM_BUG_ON(!PageHead(page)); tlb->mm->nr_ptes--; spin_unlock(&tlb->mm->page_table_lock); -- 1.7.10.4
|