Lines Matching defs:mas

85 static void unmap_region(struct mm_struct *mm, struct ma_state *mas,
160 return mas_prev(&vmi->mas, min);
1112 MA_STATE(mas, &vma->vm_mm->mm_mt, vma->vm_end, vma->vm_end);
1117 next = mas_walk(&mas);
1124 prev = mas_prev(&mas, 0);
1126 prev = mas_prev(&mas, 0);
1589 MA_STATE(mas, &current->mm->mm_mt, 0, 0);
1601 if (mas_empty_area(&mas, low_limit, high_limit - 1, length))
1604 gap = mas.index;
1606 tmp = mas_next(&mas, ULONG_MAX);
1610 mas_reset(&mas);
1614 tmp = mas_prev(&mas, 0);
1617 mas_reset(&mas);
1641 MA_STATE(mas, &current->mm->mm_mt, 0, 0);
1652 if (mas_empty_area_rev(&mas, low_limit, high_limit - 1, length))
1655 gap = mas.last + 1 - info->length;
1657 gap_end = mas.last;
1658 tmp = mas_next(&mas, ULONG_MAX);
1662 mas_reset(&mas);
1666 tmp = mas_prev(&mas, 0);
1669 mas_reset(&mas);
1919 MA_STATE(mas, &mm->mm_mt, addr, addr);
1921 vma = mas_walk(&mas);
1922 *pprev = mas_prev(&mas, 0);
1924 vma = mas_next(&mas, ULONG_MAX);
1978 MA_STATE(mas, &mm->mm_mt, vma->vm_start, address);
2004 mas_prev_range(&mas, address);
2006 __mas_set_range(&mas, vma->vm_start, address - 1);
2007 if (mas_preallocate(&mas, vma, GFP_KERNEL))
2012 mas_destroy(&mas);
2052 mas_store_prealloc(&mas, vma);
2062 mas_destroy(&mas);
2075 MA_STATE(mas, &mm->mm_mt, vma->vm_start, vma->vm_start);
2087 prev = mas_prev(&mas, 0);
2097 mas_next_range(&mas, vma->vm_start);
2099 __mas_set_range(&mas, address, vma->vm_end - 1);
2100 if (mas_preallocate(&mas, vma, GFP_KERNEL))
2105 mas_destroy(&mas);
2146 mas_store_prealloc(&mas, vma);
2156 mas_destroy(&mas);
2319 static inline void remove_mt(struct mm_struct *mm, struct ma_state *mas)
2326 mas_for_each(mas, vma, ULONG_MAX) {
2342 static void unmap_region(struct mm_struct *mm, struct ma_state *mas,
2348 unsigned long mt_start = mas->index;
2353 unmap_vmas(&tlb, mas, vma, start, end, tree_end, mm_wr_locked);
2354 mas_set(mas, mt_start);
2355 free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS,
2482 mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK);
2631 * This function takes a @mas that is either pointing to the previous VMA or set
2929 unmap_region(mm, &vmi.mas, vma, prev, next, vma->vm_start,
3234 MA_STATE(mas, &mm->mm_mt, 0, 0);
3243 vma = mas_find(&mas, ULONG_MAX);
3255 unmap_vmas(&tlb, &mas, vma, 0, ULONG_MAX, ULONG_MAX, false);
3265 mas_set(&mas, vma->vm_end);
3266 free_pgtables(&tlb, &mas, vma, FIRST_USER_ADDRESS,
3275 mas_set(&mas, vma->vm_end);
3282 } while ((vma = mas_find(&mas, ULONG_MAX)) != NULL);
3707 MA_STATE(mas, &mm->mm_mt, 0, 0);
3719 mas_for_each(&mas, vma, ULONG_MAX) {
3725 mas_set(&mas, 0);
3726 mas_for_each(&mas, vma, ULONG_MAX) {
3734 mas_set(&mas, 0);
3735 mas_for_each(&mas, vma, ULONG_MAX) {
3743 mas_set(&mas, 0);
3744 mas_for_each(&mas, vma, ULONG_MAX) {
3803 MA_STATE(mas, &mm->mm_mt, 0, 0);
3808 mas_for_each(&mas, vma, ULONG_MAX) {