Home
last modified time | relevance | path

Searched refs:anon_vma (Results 1 – 21 of 21) sorted by relevance

/linux/mm/
H A Drmap.c30 * anon_vma->rwsem
45 * anon_vma->rwsem,mapping->i_mmap_rwsem (memory_failure, collect_procs_anon)
91 static inline struct anon_vma *anon_vma_alloc(void) in anon_vma_alloc()
93 struct anon_vma *anon_vma; in anon_vma_alloc()
95 anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL); in anon_vma_alloc()
96 if (anon_vma) { in anon_vma_alloc()
97 atomic_set(&anon_vma->refcount, 1); in anon_vma_alloc()
98 anon_vma->num_children = 0; in anon_vma_alloc()
99 anon_vma in anon_vma_alloc()
92 struct anon_vma *anon_vma; anon_vma_alloc() local
110 anon_vma_free(struct anon_vma * anon_vma) anon_vma_free() argument
152 anon_vma_chain_link(struct vm_area_struct * vma,struct anon_vma_chain * avc,struct anon_vma * anon_vma) anon_vma_chain_link() argument
189 struct anon_vma *anon_vma, *allocated; __anon_vma_prepare() local
243 lock_anon_vma_root(struct anon_vma * root,struct anon_vma * anon_vma) lock_anon_vma_root() argument
286 struct anon_vma *anon_vma; anon_vma_clone() local
337 struct anon_vma *anon_vma; anon_vma_fork() local
406 struct anon_vma *anon_vma = avc->anon_vma; unlink_anon_vmas() local
440 struct anon_vma *anon_vma = avc->anon_vma; unlink_anon_vmas() local
453 struct anon_vma *anon_vma = data; anon_vma_ctor() local
501 struct anon_vma *anon_vma = NULL; folio_get_anon_vma() local
546 struct anon_vma *anon_vma = NULL; folio_lock_anon_vma_read() local
1199 void *anon_vma = vma->anon_vma; folio_move_anon_rmap() local
1223 struct anon_vma *anon_vma = vma->anon_vma; __folio_set_anon() local
2543 __put_anon_vma(struct anon_vma * anon_vma) __put_anon_vma() argument
2555 struct anon_vma *anon_vma; rmap_walk_anon_lock() local
2597 struct anon_vma *anon_vma; rmap_walk_anon() local
[all...]
H A Dmmap.c473 * Set pgoff according to addr for anon_vma. in init_multi_vma_prep()
1070 /* Check that both stack segments have the same anon_vma? */ in vma_merge()
1080 /* We must make sure the anon_vma is allocated. */ in vma_merge()
1091 * anon_vma lock to serialize against concurrent expand_stacks. in vma_merge()
1093 anon_vma_lock_write(vma->anon_vma);
1130 anon_vma_unlock_write(vma->anon_vma);
1157 /* Check that both stack segments have the same anon_vma? */ in find_mergeable_anon_vma()
1172 /* We must make sure the anon_vma is allocated. */ in find_mergeable_anon_vma()
1183 * anon_vma lock to serialize against concurrent expand_stacks. in find_mergeable_anon_vma()
1185 anon_vma_lock_write(vma->anon_vma); in find_mergeable_anon_vma()
332 struct anon_vma *anon_vma = vma->anon_vma; validate_mm() local
814 can_vma_merge_before(struct vm_area_struct * vma,unsigned long vm_flags,struct anon_vma * anon_vma,struct file * file,pgoff_t vm_pgoff,struct vm_userfaultfd_ctx vm_userfaultfd_ctx,struct anon_vma_name * anon_name) can_vma_merge_before() argument
837 can_vma_merge_after(struct vm_area_struct * vma,unsigned long vm_flags,struct anon_vma * anon_vma,struct file * file,pgoff_t vm_pgoff,struct vm_userfaultfd_ctx vm_userfaultfd_ctx,struct anon_vma_name * anon_name) can_vma_merge_after() argument
911 struct anon_vma *anon_vma = src->anon_vma; vma_merge() local
1140 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); reusable_anon_vma() local
1158 struct anon_vma *anon_vma = NULL; find_mergeable_anon_vma() local
3778 vm_lock_anon_vma(struct mm_struct * mm,struct anon_vma * anon_vma) vm_lock_anon_vma() argument
3913 vm_unlock_anon_vma(struct anon_vma * anon_vma) vm_unlock_anon_vma() argument
[all...]
H A Dmigrate.c1125 struct anon_vma *anon_vma) in __migrate_folio_record() argument
1127 dst->private = (void *)anon_vma + old_page_state; in __migrate_folio_record()
1132 struct anon_vma **anon_vmap) in __migrate_folio_extract()
1136 *anon_vmap = (struct anon_vma *)(private & ~PAGE_OLD_STATES); in __migrate_folio_extract()
1144 struct anon_vma *anon_vma, in migrate_folio_undo_src() argument
1150 /* Drop an anon_vma reference if we took one */ in migrate_folio_undo_src()
1151 if (anon_vma) in migrate_folio_undo_src()
1152 put_anon_vma(anon_vma); in migrate_folio_undo_src()
1198 struct anon_vma *anon_vma = NULL; migrate_folio_unmap() local
1358 struct anon_vma *anon_vma = NULL; migrate_folio_move() local
1455 struct anon_vma *anon_vma = NULL; unmap_and_move_huge_page() local
1937 struct anon_vma *anon_vma = NULL; migrate_pages_batch() local
[all...]
H A Dksm.c191 * @anon_vma: pointer to anon_vma for this mm,address, when in stable tree
205 struct anon_vma *anon_vma; /* when stable */ member
710 if (!vma || !(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in break_ksm()
723 * to undo, we also need to drop a reference to the anon_vma. in vma_ksm_compatible()
725 put_anon_vma(rmap_item->anon_vma); in vma_ksm_compatible()
837 put_anon_vma(rmap_item->anon_vma); in alloc_stable_node_chain()
990 put_anon_vma(rmap_item->anon_vma);
1194 if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in unmerge_and_remove_all_rmap_items()
2970 struct anon_vma *anon_vma = folio_anon_vma(folio); ksm_might_need_to_copy() local
3033 struct anon_vma *anon_vma = rmap_item->anon_vma; rmap_walk_ksm() local
[all...]
H A Dmremap.c109 if (vma->anon_vma) in take_rmap_locks()
110 anon_vma_lock_write(vma->anon_vma); in take_rmap_locks()
115 if (vma->anon_vma) in drop_rmap_locks()
116 anon_vma_unlock_write(vma->anon_vma); in drop_rmap_locks()
149 * When need_rmap_locks is true, we take the i_mmap_rwsem and anon_vma in move_ptes()
773 * anon_vma links of the old vma is no longer needed after its page in move_vma()
H A Dhuge_memory.c197 * though anon_vma is not initialized yet. in __thp_vma_allowable_orders()
199 * Allow page fault since anon_vma may be not initialized until in __thp_vma_allowable_orders()
202 if (!vma->anon_vma) in __thp_vma_allowable_orders()
1787 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page()
2395 struct anon_vma *src_anon_vma; in move_pages_huge_pmd()
2448 * split_huge_page walks the anon_vma chain without the page in move_pages_huge_pmd()
2449 * lock. Serialize against it with the anon_vma lock, the page in move_pages_huge_pmd()
3368 struct anon_vma *anon_vma = NULL; in split_huge_page_to_list_to_order() local
3423 * prevent the anon_vma disappearin in split_huge_page_to_list_to_order()
[all...]
H A Dkhugepaged.c942 if (expect_anon && (!(*vmap)->anon_vma || !vma_is_anonymous(*vmap))) in hugepage_vma_revalidate()
1149 * handled by the anon_vma lock + PG_lock. in collapse_huge_page()
1164 anon_vma_lock_write(vma->anon_vma); in collapse_huge_page()
1205 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1210 * All pages are isolated and locked so anon_vma rmap in collapse_huge_page()
1213 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1711 * Check vma->anon_vma to exclude MAP_PRIVATE mappings that in retract_page_tables()
1715 if (READ_ONCE(vma->anon_vma)) in retract_page_tables()
1751 * must remain empty; and we have already skipped anon_vma in retract_page_tables()
1755 * repeating the anon_vma chec in retract_page_tables()
[all...]
H A Ddebug.c179 "prot %lx anon_vma %px vm_ops %px\n"
184 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_mm()
H A Dinternal.h799 struct anon_vma *folio_anon_vma(struct folio *folio); in is_stack_mapping()
1478 struct anon_vma *anon_vma; global() member
H A Duserfaultfd.c79 if (!(vma->vm_flags & VM_SHARED) && unlikely(!vma->anon_vma)) in uffd_lock_vma()
1140 struct anon_vma *src_anon_vma = NULL; in move_pages_pte()
H A Dmprotect.c642 * anon_vma has yet to be assigned. in mprotect_fixup()
660 !vma->anon_vma) { in mprotect_fixup()
H A Dutil.c823 struct anon_vma *folio_anon_vma(struct folio *folio)
H A Dmemory.c538 (void *)addr, vma->vm_flags, vma->anon_vma, mapping, index); in print_bad_pte()
1343 if (src_vma->anon_vma) in vma_needs_copy()
3301 if (likely(vma->anon_vma)) in __vmf_anon_prepare()
H A Dmemory-failure.c613 struct anon_vma *av; in collect_procs_anon()
H A Dswapfile.c2315 if (vma->anon_vma) { in add_swap_extent()
/linux/Documentation/translations/zh_CN/admin-guide/mm/
H A Dksm.rst194 制,因为do_swap_page()不能做所有的锁,而需要重组一个跨anon_vma的KSM页。
/linux/Documentation/translations/zh_TW/admin-guide/mm/
H A Dksm.rst194 制,因爲do_swap_page()不能做所有的鎖,而需要重組一個跨anon_vma的KSM頁。
/linux/Documentation/admin-guide/mm/
H A Dksm.rst290 cannot do all the locking needed to reconstitute a cross-anon_vma KSM page.
/linux/kernel/
H A Dfork.c712 tmp->anon_vma = NULL; in dup_mmap()
/linux/include/linux/
H A Dmm.h36 struct anon_vma;
/linux/security/selinux/
H A Dhooks.c3870 } else if (vma->vm_file && vma->anon_vma) { in selinux_file_mprotect()