[PATCH] freepgt: remove arch pgd_addr_end
ia64 and sparc64 hurriedly had to introduce their own variants of pgd_addr_end, to leapfrog over the holes in their virtual address spaces which the final clear_page_range suddenly presented when converted from pgd_index to pgd_addr_end. But now that free_pgtables respects the vma list, those holes are never presented, and the arch variants can go. 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:

committed by
Linus Torvalds

parent
3bf5ee9564
commit
8f6c99c11a
@@ -140,17 +140,15 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addres
|
||||
#endif
|
||||
|
||||
/*
|
||||
* When walking page tables, get the address of the next boundary, or
|
||||
* the end address of the range if that comes earlier. Although end might
|
||||
* wrap to 0 only in clear_page_range, __boundary may wrap to 0 throughout.
|
||||
* When walking page tables, get the address of the next boundary,
|
||||
* or the end address of the range if that comes earlier. Although no
|
||||
* vma end wraps to 0, rounded up __boundary may wrap to 0 throughout.
|
||||
*/
|
||||
|
||||
#ifndef pgd_addr_end
|
||||
#define pgd_addr_end(addr, end) \
|
||||
({ unsigned long __boundary = ((addr) + PGDIR_SIZE) & PGDIR_MASK; \
|
||||
(__boundary - 1 < (end) - 1)? __boundary: (end); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifndef pud_addr_end
|
||||
#define pud_addr_end(addr, end) \
|
||||
|
Reference in New Issue
Block a user