diff options
author | Chen, Kenneth W <kenneth.w.chen@intel.com> | 2006-03-22 10:49:00 -0800 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-03-22 14:35:08 -0800 |
commit | 2332c9ae7911618575241e0c843cd686968db8e3 (patch) | |
tree | 24363aeb963d00cb3aab67f9586eae78ac54dfd8 /arch/ia64/mm | |
parent | 1c2e02750b992703a8a18634e08b04353face243 (diff) | |
download | linux-2332c9ae7911618575241e0c843cd686968db8e3.tar.gz linux-2332c9ae7911618575241e0c843cd686968db8e3.tar.bz2 linux-2332c9ae7911618575241e0c843cd686968db8e3.zip |
[IA64] fix ia64 is_hugepage_only_range
fix is_hugepage_only_range() definition to be "overlaps"
instead of "within architectural restricted hugetlb address
range". Simplify the ia64 specific code that used to use
is_hugepage_only_range() to just check which region the
address is in.
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/mm')
-rw-r--r-- | arch/ia64/mm/hugetlbpage.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c index 9dbc7dadd165..8d506710fdbd 100644 --- a/arch/ia64/mm/hugetlbpage.c +++ b/arch/ia64/mm/hugetlbpage.c @@ -113,8 +113,7 @@ void hugetlb_free_pgd_range(struct mmu_gather **tlb, unsigned long floor, unsigned long ceiling) { /* - * This is called only when is_hugepage_only_range(addr,), - * and it follows that is_hugepage_only_range(end,) also. + * This is called to free hugetlb page tables. * * The offset of these addresses from the base of the hugetlb * region must be scaled down by HPAGE_SIZE/PAGE_SIZE so that @@ -126,9 +125,9 @@ void hugetlb_free_pgd_range(struct mmu_gather **tlb, addr = htlbpage_to_page(addr); end = htlbpage_to_page(end); - if (is_hugepage_only_range(tlb->mm, floor, HPAGE_SIZE)) + if (REGION_NUMBER(floor) == RGN_HPAGE) floor = htlbpage_to_page(floor); - if (is_hugepage_only_range(tlb->mm, ceiling, HPAGE_SIZE)) + if (REGION_NUMBER(ceiling) == RGN_HPAGE) ceiling = htlbpage_to_page(ceiling); free_pgd_range(tlb, addr, end, floor, ceiling); |