BUG_ON(! within_hugepage_high_range(addr, len)); 
 if (! __within_hugepage_high_range(addr, len, areamask)) { addr = ALIGN(addr+1, 1UL<<HTLB_AREA_SHIFT); vma = find_vma(current->mm, addr); continue; } 
static unsigned long htlb_get_high_area(unsigned long len){	unsigned long addr = TASK_HPAGE_BASE;	struct vm_area_struct *vma;	vma = find_vma(current->mm, addr);	for (vma = find_vma(current->mm, addr);	     addr + len <= TASK_HPAGE_END;	     vma = vma->vm_next) {		BUG_ON(vma && (addr >= vma->vm_end)); /* invariant */		BUG_ON(! within_hugepage_high_range(addr, len));		if (!vma || (addr + len) <= vma->vm_start)			return addr;		addr = ALIGN(vma->vm_end, HPAGE_SIZE);		/* Because we're in a hugepage region, this alignment		 * should not skip us over any VMAs */	}	return -ENOMEM;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c594adad5653491813959277fb87a2fef54c4e05/hugetlbpage.c/clean/arch/ppc64/mm/hugetlbpage.c