Lines Matching defs:mas

79 static void unmap_region(struct mm_struct *mm, struct ma_state *mas,
154 return mas_prev(&vmi->mas, min);
1117 MA_STATE(mas, &vma->vm_mm->mm_mt, vma->vm_end, vma->vm_end);
1122 next = mas_walk(&mas);
1129 prev = mas_prev(&mas, 0);
1131 prev = mas_prev(&mas, 0);
1580 MA_STATE(mas, &current->mm->mm_mt, 0, 0);
1592 if (mas_empty_area(&mas, low_limit, high_limit - 1, length))
1595 gap = mas.index;
1597 tmp = mas_next(&mas, ULONG_MAX);
1601 mas_reset(&mas);
1605 tmp = mas_prev(&mas, 0);
1608 mas_reset(&mas);
1632 MA_STATE(mas, &current->mm->mm_mt, 0, 0);
1643 if (mas_empty_area_rev(&mas, low_limit, high_limit - 1, length))
1646 gap = mas.last + 1 - info->length;
1648 gap_end = mas.last;
1649 tmp = mas_next(&mas, ULONG_MAX);
1653 mas_reset(&mas);
1657 tmp = mas_prev(&mas, 0);
1660 mas_reset(&mas);
1915 MA_STATE(mas, &mm->mm_mt, addr, addr);
1917 vma = mas_walk(&mas);
1918 *pprev = mas_prev(&mas, 0);
1920 vma = mas_next(&mas, ULONG_MAX);
1974 MA_STATE(mas, &mm->mm_mt, vma->vm_start, address);
2000 mas_prev_range(&mas, address);
2002 __mas_set_range(&mas, vma->vm_start, address - 1);
2003 if (mas_preallocate(&mas, vma, GFP_KERNEL))
2008 mas_destroy(&mas);
2048 mas_store_prealloc(&mas, vma);
2057 mas_destroy(&mas);
2070 MA_STATE(mas, &mm->mm_mt, vma->vm_start, vma->vm_start);
2082 prev = mas_prev(&mas, 0);
2092 mas_next_range(&mas, vma->vm_start);
2094 __mas_set_range(&mas, address, vma->vm_end - 1);
2095 if (mas_preallocate(&mas, vma, GFP_KERNEL))
2100 mas_destroy(&mas);
2141 mas_store_prealloc(&mas, vma);
2150 mas_destroy(&mas);
2276 static inline void remove_mt(struct mm_struct *mm, struct ma_state *mas)
2283 mas_for_each(mas, vma, ULONG_MAX) {
2299 static void unmap_region(struct mm_struct *mm, struct ma_state *mas,
2305 unsigned long mt_start = mas->index;
2310 unmap_vmas(&tlb, mas, vma, start, end, tree_end, mm_wr_locked);
2311 mas_set(mas, mt_start);
2312 free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS,
2515 mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK);
2664 * This function takes a @mas that is either pointing to the previous VMA or set
2948 unmap_region(mm, &vmi.mas, vma, prev, next, vma->vm_start,
3245 MA_STATE(mas, &mm->mm_mt, 0, 0);
3254 vma = mas_find(&mas, ULONG_MAX);
3267 unmap_vmas(&tlb, &mas, vma, 0, ULONG_MAX, ULONG_MAX, false);
3277 mas_set(&mas, vma->vm_end);
3278 free_pgtables(&tlb, &mas, vma, FIRST_USER_ADDRESS,
3287 mas_set(&mas, vma->vm_end);
3294 vma = mas_find(&mas, ULONG_MAX);
3716 MA_STATE(mas, &mm->mm_mt, 0, 0);
3728 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) {
3752 mas_set(&mas, 0);
3753 mas_for_each(&mas, vma, ULONG_MAX) {
3812 MA_STATE(mas, &mm->mm_mt, 0, 0);
3817 mas_for_each(&mas, vma, ULONG_MAX) {