Lines Matching refs:vmi

1068 static inline void vma_iter_config(struct vma_iterator *vmi,  in vma_iter_config()  argument
1071 MAS_BUG_ON(&vmi->mas, vmi->mas.node != MAS_START && in vma_iter_config()
1072 (vmi->mas.index > index || vmi->mas.last < index)); in vma_iter_config()
1073 __mas_set_range(&vmi->mas, index, last - 1); in vma_iter_config()
1079 static inline int vma_iter_prealloc(struct vma_iterator *vmi, in vma_iter_prealloc() argument
1082 return mas_preallocate(&vmi->mas, vma, GFP_KERNEL); in vma_iter_prealloc()
1085 static inline void vma_iter_clear(struct vma_iterator *vmi) in vma_iter_clear() argument
1087 mas_store_prealloc(&vmi->mas, NULL); in vma_iter_clear()
1090 static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, in vma_iter_clear_gfp() argument
1093 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp()
1094 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp()
1095 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp()
1101 static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi) in vma_iter_load() argument
1103 return mas_walk(&vmi->mas); in vma_iter_load()
1107 static inline void vma_iter_store(struct vma_iterator *vmi, in vma_iter_store() argument
1112 if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START && in vma_iter_store()
1113 vmi->mas.index > vma->vm_start)) { in vma_iter_store()
1115 vmi->mas.index, vma->vm_start, vma->vm_start, in vma_iter_store()
1116 vma->vm_end, vmi->mas.index, vmi->mas.last); in vma_iter_store()
1118 if (MAS_WARN_ON(&vmi->mas, vmi->mas.node != MAS_START && in vma_iter_store()
1119 vmi->mas.last < vma->vm_start)) { in vma_iter_store()
1121 vmi->mas.last, vma->vm_start, vma->vm_start, vma->vm_end, in vma_iter_store()
1122 vmi->mas.index, vmi->mas.last); in vma_iter_store()
1126 if (vmi->mas.node != MAS_START && in vma_iter_store()
1127 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store()
1128 vma_iter_invalidate(vmi); in vma_iter_store()
1130 __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); in vma_iter_store()
1131 mas_store_prealloc(&vmi->mas, vma); in vma_iter_store()
1134 static inline int vma_iter_store_gfp(struct vma_iterator *vmi, in vma_iter_store_gfp() argument
1137 if (vmi->mas.node != MAS_START && in vma_iter_store_gfp()
1138 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store_gfp()
1139 vma_iter_invalidate(vmi); in vma_iter_store_gfp()
1141 __mas_set_range(&vmi->mas, vma->vm_start, vma->vm_end - 1); in vma_iter_store_gfp()
1142 mas_store_gfp(&vmi->mas, vma, gfp); in vma_iter_store_gfp()
1143 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_store_gfp()