Home
last modified time | relevance | path

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

/linux/mm/
H A Drmap.c92 struct anon_vma *anon_vma; in anon_vma_alloc() local
99 anon_vma->parent = anon_vma; in anon_vma_alloc()
104 anon_vma->root = anon_vma; in anon_vma_alloc()
155 avc->anon_vma = anon_vma; in anon_vma_chain_link()
213 vma->anon_vma = anon_vma; in __anon_vma_prepare()
286 struct anon_vma *anon_vma; in anon_vma_clone() local
337 struct anon_vma *anon_vma; in anon_vma_fork() local
381 vma->anon_vma = anon_vma; in anon_vma_fork()
406 struct anon_vma *anon_vma = avc->anon_vma; in unlink_anon_vmas() local
440 struct anon_vma *anon_vma = avc->anon_vma; in unlink_anon_vmas() local
[all …]
H A Dmmap.c291 struct anon_vma *anon_vma = vma->anon_vma; in validate_mm() local
438 vp->anon_vma = vma->anon_vma; in init_multi_vma_prep()
443 vp->anon_vma = next->anon_vma; in init_multi_vma_prep()
601 if (src->anon_vma && !dst->anon_vma) { in dup_anon_vma()
605 dst->anon_vma = src->anon_vma; in dup_anon_vma()
773 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_before() argument
796 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_after() argument
870 struct anon_vma *anon_vma = src->anon_vma; in vma_merge() local
1020 vp.anon_vma != adjust->anon_vma); in vma_merge()
1099 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); in reusable_anon_vma() local
[all …]
H A Dmigrate.c1045 struct anon_vma *anon_vma) in __migrate_folio_record() argument
1047 dst->private = (void *)anon_vma + old_page_state; in __migrate_folio_record()
1052 struct anon_vma **anon_vmap) in __migrate_folio_extract()
1056 *anon_vmap = (struct anon_vma *)(private & ~PAGE_OLD_STATES); in __migrate_folio_extract()
1064 struct anon_vma *anon_vma, in migrate_folio_undo_src() argument
1070 /* Drop an anon_vma reference if we took one */ in migrate_folio_undo_src()
1071 if (anon_vma) in migrate_folio_undo_src()
1072 put_anon_vma(anon_vma); in migrate_folio_undo_src()
1118 struct anon_vma *anon_vma = NULL; migrate_folio_unmap() local
1279 struct anon_vma *anon_vma = NULL; migrate_folio_move() local
1376 struct anon_vma *anon_vma = NULL; unmap_and_move_huge_page() local
1841 struct anon_vma *anon_vma = NULL; migrate_pages_batch() local
[all...]
H A Dksm.c205 struct anon_vma *anon_vma; /* when stable */ member
1560 rmap_item->anon_vma = vma->anon_vma; in try_to_merge_with_ksm_page()
1561 get_anon_vma(vma->anon_vma); in try_to_merge_with_ksm_page()
2651 if (!vma->anon_vma) in scan_get_next_rmap_item()
2818 if (vma->anon_vma) { in __ksm_del_vma()
2956 if (vma->anon_vma) { in ksm_madvise()
3060 struct anon_vma *anon_vma = folio_anon_vma(folio); in ksm_might_need_to_copy() local
3070 } else if (!anon_vma) { in ksm_might_need_to_copy()
3073 anon_vma->root == vma->anon_vma->root) { in ksm_might_need_to_copy()
3124 struct anon_vma *anon_vma = rmap_item->anon_vma; in 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()
H A Dhuge_memory.c185 * though anon_vma is not initialized yet. in __thp_vma_allowable_orders()
187 * Allow page fault since anon_vma may be not initialized until in __thp_vma_allowable_orders()
190 if (!vma->anon_vma) in __thp_vma_allowable_orders()
1537 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page()
2108 struct anon_vma *src_anon_vma; in move_pages_huge_pmd()
2161 * split_huge_page walks the anon_vma chain without the page in move_pages_huge_pmd()
2162 * lock. Serialize against it with the anon_vma lock, the page in move_pages_huge_pmd()
2999 struct anon_vma *anon_vma = NULL; in split_huge_page_to_list_to_order() local
3055 * prevent the anon_vma disappearin in split_huge_page_to_list_to_order()
[all...]
H A Dkhugepaged.c923 if (expect_anon && (!(*vmap)->anon_vma || !vma_is_anonymous(*vmap))) in hugepage_vma_revalidate()
1145 anon_vma_lock_write(vma->anon_vma); in collapse_huge_page()
1186 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1194 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1695 if (READ_ONCE(vma->anon_vma)) in retract_page_tables()
1738 if (unlikely(vma->anon_vma || userfaultfd_wp(vma))) { in retract_page_tables()
H A Ddebug.c167 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_vma()
H A Dinternal.h780 struct anon_vma *folio_anon_vma(struct folio *folio);
1424 struct anon_vma *anon_vma;
1425 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()
1143 struct anon_vma *src_anon_vma = NULL; in move_pages_pte()
H A Dmprotect.c633 !vma->anon_vma) { in mprotect_fixup()
H A Dutil.c767 struct anon_vma *folio_anon_vma(struct folio *folio) in folio_anon_vma()
H A Dmemory.c531 pr_alert("addr:%px vm_flags:%08lx anon_vma:%px mapping:%px index:%lx\n", in print_bad_pte()
532 (void *)addr, vma->vm_flags, vma->anon_vma, mapping, index); in print_bad_pte()
1090 * protected by mmap_lock-less collapse skipping areas with anon_vma in copy_pte_range()
1091 * (whereas vma_needs_copy() skips areas without anon_vma). A rework in copy_pte_range()
1328 if (src_vma->anon_vma) in vma_needs_copy()
3217 * If this vma does not already have an associated anon_vma and we are
3220 * determine if this VMA can share its anon_vma, and that's not safe to
3231 if (likely(vma->anon_vma))
H A Dmemory-failure.c612 struct anon_vma *av; in collect_procs_anon()
H A Dswapfile.c2061 if (vma->anon_vma) { in unuse_mm()
/linux/include/linux/
H A Drmap.h31 struct anon_vma { struct
84 struct anon_vma *anon_vma; member
106 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
111 void __put_anon_vma(struct anon_vma *anon_vma);
113 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
119 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
124 static inline int anon_vma_trylock_write(struct anon_vma *anon_vma) in anon_vma_trylock_write() argument
134 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
139 static inline int anon_vma_trylock_read(struct anon_vma *anon_vma) in anon_vma_trylock_read() argument
144 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
[all …]
H A Dmm_types.h714 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
H A Dmm.h36 struct anon_vma;
3323 extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
/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/mm/
H A Dtranshuge.rst96 takes the mmap_lock in write mode in addition to the anon_vma lock). If
/linux/fs/
H A Dcoredump.c1127 if ((!IS_ENABLED(CONFIG_MMU) || vma->anon_vma) && FILTER(ANON_PRIVATE)) in vma_dump_size()
/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.c713 tmp->anon_vma = NULL; in dup_mmap()
/linux/security/selinux/
H A Dhooks.c3857 } else if (vma->vm_file && vma->anon_vma) { in selinux_file_mprotect()