Home
last modified time | relevance | path

Searched refs:vmi (Results 1 – 25 of 37) sorted by relevance

12

/linux/mm/
H A Dvma.h42 struct vma_iterator *vmi; member
78 struct vma_iterator *vmi; member
187 struct vma_iterator *vmi, struct vm_area_struct *vma) in unmap_all_init() argument
189 unmap->mas = &vmi->mas; in unmap_all_init()
211 struct vma_iterator *vmi) in unmap_pgtable_init() argument
213 vma_iter_set(vmi, unmap->tree_reset); in unmap_pgtable_init()
328 .vmi = vmi_, \
340 .vmi = vmi_, \
364 __must_check int vma_shrink(struct vma_iterator *vmi,
367 static inline int vma_iter_store_gfp(struct vma_iterator *vmi, in vma_iter_store_gfp() argument
581 vma_prev_limit(struct vma_iterator * vmi,unsigned long min) vma_prev_limit() argument
624 vma_iter_config(struct vma_iterator * vmi,unsigned long index,unsigned long last) vma_iter_config() argument
630 vma_iter_reset(struct vma_iterator * vmi) vma_iter_reset() argument
636 vma_iter_prev_range_limit(struct vma_iterator * vmi,unsigned long min) vma_iter_prev_range_limit() argument
642 vma_iter_next_range_limit(struct vma_iterator * vmi,unsigned long max) vma_iter_next_range_limit() argument
647 vma_iter_area_lowest(struct vma_iterator * vmi,unsigned long min,unsigned long max,unsigned long size) vma_iter_area_lowest() argument
653 vma_iter_area_highest(struct vma_iterator * vmi,unsigned long min,unsigned long max,unsigned long size) vma_iter_area_highest() argument
662 vma_iter_prealloc(struct vma_iterator * vmi,struct vm_area_struct * vma) vma_iter_prealloc() argument
668 vma_iter_clear(struct vma_iterator * vmi) vma_iter_clear() argument
673 vma_iter_load(struct vma_iterator * vmi) vma_iter_load() argument
679 vma_iter_store_overwrite(struct vma_iterator * vmi,struct vm_area_struct * vma) vma_iter_store_overwrite() argument
707 vma_iter_store_new(struct vma_iterator * vmi,struct vm_area_struct * vma) vma_iter_store_new() argument
714 vma_iter_addr(struct vma_iterator * vmi) vma_iter_addr() argument
719 vma_iter_end(struct vma_iterator * vmi) vma_iter_end() argument
725 vma_iter_prev_range(struct vma_iterator * vmi) vma_iter_prev_range() argument
735 vma_iter_next_rewind(struct vma_iterator * vmi,struct vm_area_struct ** pprev) vma_iter_next_rewind() argument
[all...]
H A Dvma.c16 struct vma_iterator *vmi; member
53 .vmi = vmi_, \
67 .vmi = (map_)->vmi, \
380 * @vmi: The vma iterator
383 static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi, in vma_complete() argument
403 vma_iter_store_new(vmi, vp->insert); in vma_complete()
544 __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, in __split_vma() argument
572 vma_iter_config(vmi, new->vm_start, new->vm_end); in __split_vma()
573 if (vma_iter_prealloc(vmi, ne in __split_vma()
637 split_vma(struct vma_iterator * vmi,struct vm_area_struct * vma,unsigned long addr,int new_below) split_vma() argument
1331 vma_shrink(struct vma_iterator * vmi,struct vm_area_struct * vma,unsigned long end) vma_shrink() argument
1627 init_vma_munmap(struct vma_munmap_struct * vms,struct vma_iterator * vmi,struct vm_area_struct * vma,unsigned long start,unsigned long end,struct list_head * uf,bool unlock) init_vma_munmap() argument
1663 do_vmi_align_munmap(struct vma_iterator * vmi,struct vm_area_struct * vma,struct mm_struct * mm,unsigned long start,unsigned long end,struct list_head * uf,bool unlock) do_vmi_align_munmap() argument
1710 do_vmi_munmap(struct vma_iterator * vmi,struct mm_struct * mm,unsigned long start,size_t len,struct list_head * uf,bool unlock) do_vmi_munmap() argument
1788 vma_modify_flags(struct vma_iterator * vmi,struct vm_area_struct * prev,struct vm_area_struct * vma,unsigned long start,unsigned long end,vma_flags_t * vma_flags_ptr) vma_modify_flags() argument
1813 vma_modify_name(struct vma_iterator * vmi,struct vm_area_struct * prev,struct vm_area_struct * vma,unsigned long start,unsigned long end,struct anon_vma_name * new_name) vma_modify_name() argument
1825 vma_modify_policy(struct vma_iterator * vmi,struct vm_area_struct * prev,struct vm_area_struct * vma,unsigned long start,unsigned long end,struct mempolicy * new_pol) vma_modify_policy() argument
1837 vma_modify_flags_uffd(struct vma_iterator * vmi,struct vm_area_struct * prev,struct vm_area_struct * vma,unsigned long start,unsigned long end,const vma_flags_t * vma_flags,struct vm_userfaultfd_ctx new_ctx,bool give_up_on_oom) vma_modify_flags_uffd() argument
1857 vma_merge_extend(struct vma_iterator * vmi,struct vm_area_struct * vma,unsigned long delta) vma_merge_extend() argument
2531 struct vma_iterator *vmi = map->vmi; __mmap_setup() local
2593 struct vma_iterator *vmi = map->vmi; __mmap_new_file_vma() local
2647 struct vma_iterator *vmi = map->vmi; __mmap_new_vma() local
2998 do_brk_flags(struct vma_iterator * vmi,struct vm_area_struct * vma,unsigned long addr,unsigned long len,vma_flags_t vma_flags) do_brk_flags() argument
[all...]
H A Dvma_exec.c42 VMA_ITERATOR(vmi, mm, new_start); in relocate_vma_down()
43 VMG_STATE(vmg, mm, &vmi, new_start, old_end, EMPTY_VMA_FLAGS, in relocate_vma_down()
55 if (vma != vma_next(&vmi)) in relocate_vma_down()
58 vma_iter_prev_range(&vmi); in relocate_vma_down()
75 next = vma_next(&vmi); in relocate_vma_down()
94 vma_prev(&vmi); in relocate_vma_down()
96 return vma_shrink(&vmi, vma, new_end); in relocate_vma_down()
H A Dnommu.c599 VMA_ITERATOR(vmi, vma->vm_mm, vma->vm_start); in delete_vma_from_mm()
601 vma_iter_config(&vmi, vma->vm_start, vma->vm_end); in delete_vma_from_mm()
602 if (vma_iter_prealloc(&vmi, NULL)) { in delete_vma_from_mm()
610 vma_iter_clear(&vmi); in delete_vma_from_mm()
642 VMA_ITERATOR(vmi, mm, addr); in find_vma()
644 return vma_iter_load(&vmi); in find_vma()
673 VMA_ITERATOR(vmi, mm, addr); in find_vma_exact()
675 vma = vma_iter_load(&vmi); in find_vma_exact()
1028 VMA_ITERATOR(vmi, current->mm, 0); in do_mmap()
1200 vma_iter_config(&vmi, vma->vm_start, vma->vm_end); in do_mmap()
[all …]
H A Dmlock.c467 static int mlock_fixup(struct vma_iterator *vmi, struct vm_area_struct *vma, in mlock_fixup() argument
485 vma = vma_modify_flags(vmi, *prev, vma, start, end, new_vma_flags); in mlock_fixup()
524 VMA_ITERATOR(vmi, current->mm, start); in apply_vma_lock_flags()
533 vma = vma_iter_load(&vmi); in apply_vma_lock_flags()
537 prev = vma_prev(&vmi); in apply_vma_lock_flags()
543 for_each_vma_range(vmi, vma, end) { in apply_vma_lock_flags()
558 error = mlock_fixup(&vmi, vma, &prev, nstart, tmp, &newflags); in apply_vma_lock_flags()
561 tmp = vma_iter_end(&vmi); in apply_vma_lock_flags()
584 VMA_ITERATOR(vmi, mm, start); in count_mm_mlocked_page_nr()
592 for_each_vma_range(vmi, vma, end) { in count_mm_mlocked_page_nr()
[all …]
H A Duserfaultfd.c1113 VMA_ITERATOR(vmi, dst_mm, start); in mwriteprotect_range()
1137 for_each_vma_range(vmi, dst_vma, end) { in mwriteprotect_range()
1176 VMA_ITERATOR(vmi, dst_mm, start); in mrwprotect_range()
1198 for_each_vma_range(vmi, dst_vma, end) { in mrwprotect_range()
1214 vma_iter_set(&vmi, start); in mrwprotect_range()
1216 for_each_vma_range(vmi, dst_vma, end) { in mrwprotect_range()
2262 static struct vm_area_struct *userfaultfd_clear_vma(struct vma_iterator *vmi, in userfaultfd_clear_vma() argument
2298 ret = vma_modify_flags_uffd(vmi, prev, vma, start, end, in userfaultfd_clear_vma()
2321 VMA_ITERATOR(vmi, ctx->mm, start); in userfaultfd_register_range()
2322 struct vm_area_struct *prev = vma_prev(&vmi); in userfaultfd_register_range()
[all …]
H A Dmremap.c1169 VMA_ITERATOR(vmi, vma->vm_mm, old_addr); in unmap_source_vma()
1172 err = split_vma(&vmi, vma, old_addr, 1); in unmap_source_vma()
1174 err = split_vma(&vmi, vma, old_addr + old_len, 0); in unmap_source_vma()
1196 VMA_ITERATOR(vmi, mm, addr); in unmap_source_vma()
1234 err = do_vmi_munmap(&vmi, mm, addr, len, vrm->uf_unmap, /* unlock= */false); in unmap_source_vma()
1272 struct vm_area_struct *prev = vma_prev(&vmi); in copy_vma_and_data()
1279 struct vm_area_struct *next = vma_next(&vmi); in copy_vma_and_data()
1462 VMA_ITERATOR(vmi, mm, unmap_start); in mremap_to()
1466 res = do_vmi_munmap(&vmi, mm, unmap_start, unmap_bytes, in mremap_to()
1585 VMA_ITERATOR(vmi, m in align_hugetlb()
[all...]
H A Dmempolicy.c568 VMA_ITERATOR(vmi, mm, 0); in mpol_rebind_mm()
571 for_each_vma(vmi, vma) { in mpol_rebind_mm()
1042 static int mbind_range(struct vma_iterator *vmi, struct vm_area_struct *vma, in mbind_range() argument
1061 vma = vma_modify_policy(vmi, *prev, vma, vmstart, vmend, new_pol); in mbind_range()
1495 struct vma_iterator vmi; in do_mbind() local
1560 vma_iter_init(&vmi, mm, start); in do_mbind()
1561 prev = vma_prev(&vmi); in do_mbind()
1562 for_each_vma_range(vmi, vma, end) { in do_mbind()
1563 err = mbind_range(&vmi, vma, &prev, start, end, new); in do_mbind()
1595 vma_iter_init(&vmi, mm, start); in do_mbind()
[all …]
H A Dksm.c1230 VMA_ITERATOR(vmi, mm_slot->slot.mm, 0); in unmerge_and_remove_all_rmap_items()
1242 for_each_vma(vmi, vma) { in unmerge_and_remove_all_rmap_items()
2617 struct vma_iterator vmi; in scan_get_next_rmap_item() local
2682 vma_iter_init(&vmi, mm, ksm_scan.address); in scan_get_next_rmap_item()
2688 for_each_vma(vmi, vma) { in scan_get_next_rmap_item()
2924 VMA_ITERATOR(vmi, mm, 0); in ksm_add_vmas()
2925 for_each_vma(vmi, vma) in ksm_add_vmas()
2934 VMA_ITERATOR(vmi, mm, 0); in ksm_del_vmas()
2935 for_each_vma(vmi, vma) { in ksm_del_vmas()
3473 VMA_ITERATOR(vmi, mm, 0); in ksm_process_mergeable()
[all …]
/linux/tools/testing/vma/tests/
H A Dmerge.c11 vmg->next = vma_next(vmg->vmi); in merge_new()
12 vmg->prev = vma_prev(vmg->vmi); in merge_new()
13 vma_iter_next_range(vmg->vmi); in merge_new()
38 vma_iter_set(vmg->vmi, start); in vmg_set_range()
104 VMA_ITERATOR(vmi, &mm, 0x1000); in test_simple_merge()
107 .vmi = &vmi, in test_simple_merge()
140 VMA_ITERATOR(vmi, &mm, 0x1000); in test_simple_modify()
148 vma = vma_modify_flags(&vmi, init_vma, init_vma, in test_simple_modify()
164 vma_iter_set(&vmi, 0); in test_simple_modify()
165 vma = vma_iter_load(&vmi); in test_simple_modify()
[all …]
H A Dmmap.c10 VMA_ITERATOR(vmi, &mm, 0); in test_mmap_region_basic()
32 for_each_vma(vmi, vma) { in test_mmap_region_basic()
44 cleanup_mm(&mm, &vmi); in test_mmap_region_basic()
H A Dvma.c35 VMA_ITERATOR(vmi, &mm, 0); in test_copy_vma()
49 cleanup_mm(&mm, &vmi); in test_copy_vma()
62 cleanup_mm(&mm, &vmi); in test_copy_vma()
80 cleanup_mm(&mm, &vmi); in test_copy_vma()
92 cleanup_mm(&mm, &vmi); in test_copy_vma()
103 cleanup_mm(&mm, &vmi); in test_copy_vma()
/linux/tools/testing/vma/include/
H A Ddup.h777 static inline void vma_iter_invalidate(struct vma_iterator *vmi) in vma_iter_invalidate() argument
779 mas_pause(&vmi->mas); in vma_iter_invalidate()
1176 static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) in vma_next() argument
1182 return mas_find(&vmi->mas, ULONG_MAX); in vma_next()
1277 struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) in vma_find() argument
1279 return mas_find(&vmi->mas, max - 1); in vma_find()
1282 static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, in vma_iter_clear_gfp() argument
1285 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp()
1286 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp()
1287 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp()
[all …]
/linux/arch/xtensa/kernel/
H A Dsyscall.c62 struct vma_iterator vmi; in arch_get_unmapped_area() local
84 vma_iter_init(&vmi, current->mm, addr); in arch_get_unmapped_area()
85 for_each_vma(vmi, vmm) { in arch_get_unmapped_area()
/linux/fs/proc/
H A Dtask_nommu.c23 VMA_ITERATOR(vmi, mm, 0); in task_mem()
29 for_each_vma(vmi, vma) { in task_mem()
83 VMA_ITERATOR(vmi, mm, 0); in task_vsize()
88 for_each_vma(vmi, vma) in task_vsize()
98 VMA_ITERATOR(vmi, mm, 0); in task_statm()
104 for_each_vma(vmi, vma) { in task_statm()
H A Dtask_mmu.c585 struct vma_iterator vmi; in query_vma_find_by_addr() local
593 vma_iter_init(&vmi, mm, addr); in query_vma_find_by_addr()
594 vma = lock_next_vma(mm, &vmi, addr); in query_vma_find_by_addr()
1495 VMA_ITERATOR(vmi, mm, 0); in show_smaps_rollup()
1511 vma = vma_next(&vmi); in show_smaps_rollup()
1526 vma_iter_invalidate(&vmi); in show_smaps_rollup()
1570 vma = vma_next(&vmi); in show_smaps_rollup()
1588 } for_each_vma(vmi, vma); in show_smaps_rollup()
1885 VMA_ITERATOR(vmi, mm, 0); in clear_refs_write()
1905 for_each_vma(vmi, vma) { in clear_refs_write()
/linux/tools/testing/vma/
H A Dshared.h75 #define vma_iter_prealloc(vmi, vma) \
76 (fail_prealloc ? -ENOMEM : mas_preallocate(&(vmi)->mas, (vma), GFP_KERNEL))
131 int cleanup_mm(struct mm_struct *mm, struct vma_iterator *vmi);
43 vma_iter_prealloc(vmi,vma) global() argument
H A Dshared.c70 int cleanup_mm(struct mm_struct *mm, struct vma_iterator *vmi) in cleanup_mm() argument
78 vma_iter_set(vmi, 0); in cleanup_mm()
79 for_each_vma(*vmi, vma) { in cleanup_mm()
/linux/arch/powerpc/mm/book3s32/
H A Dtlb.c84 VMA_ITERATOR(vmi, mm, 0); in hash__flush_tlb_mm()
92 for_each_vma(vmi, mp) in hash__flush_tlb_mm()
/linux/include/linux/
H A Dmm.h1665 struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) in vma_find() argument
1667 return mas_find(&vmi->mas, max - 1); in vma_find()
1670 static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) in vma_next() argument
1676 return mas_find(&vmi->mas, ULONG_MAX); in vma_next()
1680 struct vm_area_struct *vma_iter_next_range(struct vma_iterator *vmi) in vma_iter_next_range() argument
1682 return mas_next_range(&vmi->mas, ULONG_MAX); in vma_iter_next_range()
1686 static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) in vma_prev() argument
1688 return mas_prev(&vmi->mas, 0); in vma_prev()
1691 static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, in vma_iter_clear_gfp() argument
1694 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp()
[all …]
/linux/arch/s390/mm/
H A Dgmap_helpers.c239 VMA_ITERATOR(vmi, mm, 0); in __gmap_helper_unshare_zeropages()
244 for_each_vma(vmi, vma) { in __gmap_helper_unshare_zeropages()
/linux/arch/powerpc/mm/book3s64/
H A Dsubpage_prot.c155 VMA_ITERATOR(vmi, mm, addr); in subpage_mark_vma_nohuge()
161 for_each_vma_range(vmi, vma, addr + len) { in subpage_mark_vma_nohuge()
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_userptr.c404 VMA_ITERATOR(vmi, mm, addr); in probe_range()
409 for_each_vma_range(vmi, vma, end) { in probe_range()
/linux/fs/
H A Dcoredump.c1672 static struct vm_area_struct *coredump_next_vma(struct vma_iterator *vmi, in coredump_next_vma() argument
1679 vma = vma_next(vmi); in coredump_next_vma()
1719 VMA_ITERATOR(vmi, mm, 0); in dump_vma_snapshot()
1740 while ((vma = coredump_next_vma(&vmi, vma, gate_vma)) != NULL) { in dump_vma_snapshot()
/linux/kernel/bpf/
H A Dtask_iter.c951 struct vma_iterator vmi; in bpf_iter_task_vma_find_next() local
956 vma_iter_init(&vmi, data->mm, data->next_addr); in bpf_iter_task_vma_find_next()
957 vma = vma_next(&vmi); in bpf_iter_task_vma_find_next()

12