Lines Matching refs:mas

79 static void unmap_region(struct mm_struct *mm, struct ma_state *mas,
154 return mas_prev(&vmi->mas, min); in vma_prev_limit()
1106 MA_STATE(mas, &vma->vm_mm->mm_mt, vma->vm_end, vma->vm_end); in find_mergeable_anon_vma()
1111 next = mas_walk(&mas); in find_mergeable_anon_vma()
1118 prev = mas_prev(&mas, 0); in find_mergeable_anon_vma()
1120 prev = mas_prev(&mas, 0); in find_mergeable_anon_vma()
1569 MA_STATE(mas, &current->mm->mm_mt, 0, 0); in unmapped_area()
1581 if (mas_empty_area(&mas, low_limit, high_limit - 1, length)) in unmapped_area()
1584 gap = mas.index; in unmapped_area()
1586 tmp = mas_next(&mas, ULONG_MAX); in unmapped_area()
1590 mas_reset(&mas); in unmapped_area()
1594 tmp = mas_prev(&mas, 0); in unmapped_area()
1597 mas_reset(&mas); in unmapped_area()
1621 MA_STATE(mas, &current->mm->mm_mt, 0, 0); in unmapped_area_topdown()
1632 if (mas_empty_area_rev(&mas, low_limit, high_limit - 1, length)) in unmapped_area_topdown()
1635 gap = mas.last + 1 - info->length; in unmapped_area_topdown()
1637 gap_end = mas.last; in unmapped_area_topdown()
1638 tmp = mas_next(&mas, ULONG_MAX); in unmapped_area_topdown()
1642 mas_reset(&mas); in unmapped_area_topdown()
1646 tmp = mas_prev(&mas, 0); in unmapped_area_topdown()
1649 mas_reset(&mas); in unmapped_area_topdown()
1899 MA_STATE(mas, &mm->mm_mt, addr, addr); in find_vma_prev()
1901 vma = mas_walk(&mas); in find_vma_prev()
1902 *pprev = mas_prev(&mas, 0); in find_vma_prev()
1904 vma = mas_next(&mas, ULONG_MAX); in find_vma_prev()
1958 MA_STATE(mas, &mm->mm_mt, vma->vm_start, address); in expand_upwards()
1984 mas_prev_range(&mas, address); in expand_upwards()
1986 __mas_set_range(&mas, vma->vm_start, address - 1); in expand_upwards()
1987 if (mas_preallocate(&mas, vma, GFP_KERNEL)) in expand_upwards()
1992 mas_destroy(&mas); in expand_upwards()
2032 mas_store_prealloc(&mas, vma); in expand_upwards()
2042 mas_destroy(&mas); in expand_upwards()
2055 MA_STATE(mas, &mm->mm_mt, vma->vm_start, vma->vm_start); in expand_downwards()
2067 prev = mas_prev(&mas, 0); in expand_downwards()
2077 mas_next_range(&mas, vma->vm_start); in expand_downwards()
2079 __mas_set_range(&mas, address, vma->vm_end - 1); in expand_downwards()
2080 if (mas_preallocate(&mas, vma, GFP_KERNEL)) in expand_downwards()
2085 mas_destroy(&mas); in expand_downwards()
2126 mas_store_prealloc(&mas, vma); in expand_downwards()
2136 mas_destroy(&mas); in expand_downwards()
2299 static inline void remove_mt(struct mm_struct *mm, struct ma_state *mas) in remove_mt() argument
2306 mas_for_each(mas, vma, ULONG_MAX) { in remove_mt()
2322 static void unmap_region(struct mm_struct *mm, struct ma_state *mas, in unmap_region() argument
2328 unsigned long mt_start = mas->index; in unmap_region()
2333 unmap_vmas(&tlb, mas, vma, start, end, tree_end, mm_wr_locked); in unmap_region()
2334 mas_set(mas, mt_start); in unmap_region()
2335 free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, in unmap_region()
2462 mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); in do_vmi_align_munmap()
2904 unmap_region(mm, &vmi.mas, vma, prev, next, vma->vm_start, in mmap_region()
3209 MA_STATE(mas, &mm->mm_mt, 0, 0); in exit_mmap()
3218 vma = mas_find(&mas, ULONG_MAX); in exit_mmap()
3230 unmap_vmas(&tlb, &mas, vma, 0, ULONG_MAX, ULONG_MAX, false); in exit_mmap()
3240 mas_set(&mas, vma->vm_end); in exit_mmap()
3241 free_pgtables(&tlb, &mas, vma, FIRST_USER_ADDRESS, in exit_mmap()
3250 mas_set(&mas, vma->vm_end); in exit_mmap()
3257 } while ((vma = mas_find(&mas, ULONG_MAX)) != NULL); in exit_mmap()
3682 MA_STATE(mas, &mm->mm_mt, 0, 0); in mm_take_all_locks()
3694 mas_for_each(&mas, vma, ULONG_MAX) { in mm_take_all_locks()
3700 mas_set(&mas, 0); in mm_take_all_locks()
3701 mas_for_each(&mas, vma, ULONG_MAX) { in mm_take_all_locks()
3709 mas_set(&mas, 0); in mm_take_all_locks()
3710 mas_for_each(&mas, vma, ULONG_MAX) { in mm_take_all_locks()
3718 mas_set(&mas, 0); in mm_take_all_locks()
3719 mas_for_each(&mas, vma, ULONG_MAX) { in mm_take_all_locks()
3778 MA_STATE(mas, &mm->mm_mt, 0, 0); in mm_drop_all_locks()
3783 mas_for_each(&mas, vma, ULONG_MAX) { in mm_drop_all_locks()