Lines Matching refs:mas

110 static inline unsigned long mas_range_len(struct ma_state *mas)  in mas_range_len()  argument
112 return mas->last - mas->index + 1; in mas_range_len()
162 MA_STATE(mas, free_areas, 0, ULONG_MAX); in execmem_cache_clean()
166 mas_for_each(&mas, area, ULONG_MAX) { in execmem_cache_clean()
167 size_t size = mas_range_len(&mas); in execmem_cache_clean()
170 IS_ALIGNED(mas.index, PMD_SIZE)) { in execmem_cache_clean()
174 mas_store_gfp(&mas, NULL, GFP_KERNEL); in execmem_cache_clean()
187 MA_STATE(mas, free_areas, addr - 1, addr + 1); in execmem_cache_add_locked()
194 area = mas_walk(&mas); in execmem_cache_add_locked()
195 if (area && mas.last == addr - 1) in execmem_cache_add_locked()
196 lower = mas.index; in execmem_cache_add_locked()
198 area = mas_next(&mas, ULONG_MAX); in execmem_cache_add_locked()
199 if (area && mas.index == addr + size) in execmem_cache_add_locked()
200 upper = mas.last; in execmem_cache_add_locked()
202 mas_set_range(&mas, lower, upper); in execmem_cache_add_locked()
203 return mas_store_gfp(&mas, (void *)lower, gfp_mask); in execmem_cache_add_locked()
213 static bool within_range(struct execmem_range *range, struct ma_state *mas, in within_range() argument
216 unsigned long addr = mas->index; in within_range()
354 static int __execmem_cache_free(struct ma_state *mas, void *ptr, gfp_t gfp_mask) in __execmem_cache_free() argument
356 size_t size = mas_range_len(mas); in __execmem_cache_free()
370 mas_store_gfp(mas, NULL, gfp_mask); in __execmem_cache_free()
380 MA_STATE(mas, busy_areas, 0, ULONG_MAX); in execmem_cache_free_slow()
388 mas_for_each(&mas, area, ULONG_MAX) { in execmem_cache_free_slow()
393 if (__execmem_cache_free(&mas, area, GFP_KERNEL)) in execmem_cache_free_slow()
409 MA_STATE(mas, busy_areas, addr, addr); in execmem_cache_free()
415 area = mas_walk(&mas); in execmem_cache_free()
419 err = __execmem_cache_free(&mas, area, GFP_KERNEL | __GFP_NORETRY); in execmem_cache_free()
428 mas_store_gfp(&mas, area, GFP_KERNEL); in execmem_cache_free()