[PATCH] freepgt: hugetlb area is clean

Once we're strict about clearing away page tables, hugetlb_prefault can assume
there are no page tables left within its range.  Since the other arches
continue if !pte_none here, let i386 do the same.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Hugh Dickins
2005-04-19 13:29:18 -07:00
committed by Linus Torvalds
parent 146425a316
commit 021740dc30
2 changed files with 2 additions and 46 deletions

View File

@@ -249,15 +249,8 @@ int hugetlb_prefault(struct address_space *mapping, struct vm_area_struct *vma)
goto out;
}
if (!pte_none(*pte)) {
pmd_t *pmd = (pmd_t *) pte;
page = pmd_page(*pmd);
pmd_clear(pmd);
mm->nr_ptes--;
dec_page_state(nr_page_table_pages);
page_cache_release(page);
}
if (!pte_none(*pte))
continue;
idx = ((addr - vma->vm_start) >> HPAGE_SHIFT)
+ (vma->vm_pgoff >> (HPAGE_SHIFT - PAGE_SHIFT));