Home
last modified time | relevance | path

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

12

/linux-6.15/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 Dvma.c102 return is_mergeable_anon_vma(vma1->anon_vma, vma2->anon_vma, NULL); in are_anon_vmas_compatible()
121 vp->anon_vma = vma->anon_vma; in init_multi_vma_prep()
139 vp->anon_vma = adjust->anon_vma; in init_multi_vma_prep()
141 VM_WARN_ON(vp->anon_vma && adjust && adjust->anon_vma && in init_multi_vma_prep()
142 vp->anon_vma != adjust->anon_vma); in init_multi_vma_prep()
572 if (src->anon_vma && !dst->anon_vma) { in dup_anon_vma()
576 dst->anon_vma = src->anon_vma; in dup_anon_vma()
598 struct anon_vma *anon_vma = vma->anon_vma; in validate_mm() local
1901 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); in reusable_anon_vma() local
1919 struct anon_vma *anon_vma = NULL; in find_mergeable_anon_vma() local
[all …]
H A Dmigrate.c1119 struct anon_vma *anon_vma) in __migrate_folio_record() argument
1138 struct anon_vma *anon_vma, in migrate_folio_undo_src() argument
1145 if (anon_vma) in migrate_folio_undo_src()
1146 put_anon_vma(anon_vma); in migrate_folio_undo_src()
1192 struct anon_vma *anon_vma = NULL; in migrate_folio_unmap() local
1352 struct anon_vma *anon_vma = NULL; in migrate_folio_move() local
1399 if (anon_vma) in migrate_folio_move()
1400 put_anon_vma(anon_vma); in migrate_folio_move()
1449 struct anon_vma *anon_vma = NULL; in unmap_and_move_huge_page() local
1525 if (anon_vma) in unmap_and_move_huge_page()
[all …]
H A Dvma.h18 struct anon_vma *anon_vma; member
101 struct anon_vma *anon_vma; member
183 .anon_vma = vma_->anon_vma, \
292 struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma);
H A Dksm.c204 struct anon_vma *anon_vma; /* when stable */ member
1573 rmap_item->anon_vma = vma->anon_vma; in try_to_merge_with_ksm_page()
1574 get_anon_vma(vma->anon_vma); in try_to_merge_with_ksm_page()
2540 if (!vma->anon_vma) in scan_get_next_rmap_item()
2717 if (vma->anon_vma) { in __ksm_del_vma()
2855 if (vma->anon_vma) { in ksm_madvise()
2959 struct anon_vma *anon_vma = folio_anon_vma(folio); in ksm_might_need_to_copy() local
2969 } else if (!anon_vma) { in ksm_might_need_to_copy()
2972 anon_vma->root == vma->anon_vma->root) { in ksm_might_need_to_copy()
3022 struct anon_vma *anon_vma = rmap_item->anon_vma; in rmap_walk_ksm() local
[all …]
H A Ddebug.c198 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_vma()
292 vmg->file, vmg->anon_vma, vmg->policy, in dump_vmg()
H A Dmremap.c146 if (vma->anon_vma) in take_rmap_locks()
147 anon_vma_lock_write(vma->anon_vma); in take_rmap_locks()
152 if (vma->anon_vma) in drop_rmap_locks()
153 anon_vma_unlock_write(vma->anon_vma); in drop_rmap_locks()
H A Dhuge_memory.c205 if (!vma->anon_vma) in __thp_vma_allowable_orders()
1931 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page()
2559 struct anon_vma *src_anon_vma; in move_pages_huge_pmd()
3735 struct anon_vma *anon_vma = NULL; in __folio_split() local
3775 anon_vma = folio_get_anon_vma(folio); in __folio_split()
3776 if (!anon_vma) { in __folio_split()
3782 anon_vma_lock_write(anon_vma); in __folio_split()
3825 anon_vma = NULL; in __folio_split()
3914 if (anon_vma) { in __folio_split()
3915 anon_vma_unlock_write(anon_vma); in __folio_split()
[all …]
H A Dkhugepaged.c946 if (expect_anon && (!(*vmap)->anon_vma || !vma_is_anonymous(*vmap))) in hugepage_vma_revalidate()
1176 anon_vma_lock_write(vma->anon_vma); in collapse_huge_page()
1217 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1225 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page()
1733 if (READ_ONCE(vma->anon_vma)) in retract_page_tables()
1789 if (likely(!vma->anon_vma && !userfaultfd_wp(vma))) { in retract_page_tables()
H A Dutil.c669 struct anon_vma *folio_anon_vma(const struct folio *folio) in folio_anon_vma()
H A Dmprotect.c654 !vma->anon_vma) { in mprotect_fixup()
H A Duserfaultfd.c80 if (!(vma->vm_flags & VM_SHARED) && unlikely(!vma->anon_vma)) in uffd_lock_vma()
1166 struct anon_vma *src_anon_vma = NULL; in move_pages_pte()
H A Dinternal.h921 struct anon_vma *folio_anon_vma(const struct folio *folio);
H A Dmmap.c1353 BUG_ON(vma->anon_vma); in insert_vm_struct()
/linux-6.15/include/linux/
H A Drmap.h32 struct anon_vma { struct
85 struct anon_vma *anon_vma; member
107 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
112 void __put_anon_vma(struct anon_vma *anon_vma);
114 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
120 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
125 static inline int anon_vma_trylock_write(struct anon_vma *anon_vma) in anon_vma_trylock_write() argument
135 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
140 static inline int anon_vma_trylock_read(struct anon_vma *anon_vma) in anon_vma_trylock_read() argument
145 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
[all …]
H A Dmm_types.h832 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
/linux-6.15/tools/testing/vma/
H A Dvma.c421 .anon_vma = &dummy_anon_vma, in test_merge_new()
424 .anon_vma = &dummy_anon_vma, in test_merge_new()
427 .anon_vma = &dummy_anon_vma, in test_merge_new()
430 .anon_vma = &dummy_anon_vma, in test_merge_new()
1184 .anon_vma = &dummy_anon_vma, in test_anon_vma_non_mergeable()
1187 .anon_vma = &dummy_anon_vma, in test_anon_vma_non_mergeable()
1222 vma_next->anon_vma = (struct anon_vma *)2; in test_anon_vma_non_mergeable()
1225 ASSERT_FALSE(is_mergeable_anon_vma(vma_prev->anon_vma, vma_next->anon_vma, NULL)); in test_anon_vma_non_mergeable()
1258 vma_prev->anon_vma = (struct anon_vma *)1; in test_anon_vma_non_mergeable()
1262 vma_next->anon_vma = (struct anon_vma *)2; in test_anon_vma_non_mergeable()
[all …]
H A Dvma_internal.h171 struct anon_vma { struct
172 struct anon_vma *root; argument
181 struct anon_vma *anon_vma; argument
290 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
771 if (src->anon_vma != NULL) { in anon_vma_clone()
772 dst->anon_vma = src->anon_vma; in anon_vma_clone()
1158 struct anon_vma *anon_vma = calloc(1, sizeof(struct anon_vma)); in __anon_vma_prepare() local
1160 if (!anon_vma) in __anon_vma_prepare()
1163 anon_vma->root = anon_vma; in __anon_vma_prepare()
1164 vma->anon_vma = anon_vma; in __anon_vma_prepare()
[all …]
/linux-6.15/Documentation/mm/
H A Dprocess_addrs.rst55 :c:struct:`!struct address_space` or :c:struct:`!struct anon_vma` object
256 :c:type:`!anon_vma` objects and
257 :c:member:`!vma->anon_vma` if it is
259 …:c:member:`!anon_vma` :c:type:`!anon_vma` object used by When :c:macro:`NULL`…
270 anonymous mappings, to be able to access both related :c:struct:`!struct anon_vma` objects
271 and the :c:struct:`!struct anon_vma` in which folios mapped exclusively to this VMA should
275 then it can be in both the :c:type:`!anon_vma` and :c:type:`!i_mmap`
387 anon_vma->rwsem
432 ->anon_vma.lock (vma_merge)
434 ->anon_vma.lock
[all …]
H A Dtranshuge.rst96 takes the mmap_lock in write mode in addition to the anon_vma lock). If
/linux-6.15/Documentation/translations/zh_TW/admin-guide/mm/
H A Dksm.rst194 制,因爲do_swap_page()不能做所有的鎖,而需要重組一個跨anon_vma的KSM頁。
/linux-6.15/Documentation/translations/zh_CN/admin-guide/mm/
H A Dksm.rst194 制,因为do_swap_page()不能做所有的锁,而需要重组一个跨anon_vma的KSM页。
/linux-6.15/kernel/
H A Dfork.c457 dest->anon_vma = src->anon_vma; in vm_area_init_from()
689 tmp->anon_vma = NULL; in dup_mmap()
/linux-6.15/fs/
H A Dcoredump.c1156 if ((!IS_ENABLED(CONFIG_MMU) || vma->anon_vma) && FILTER(ANON_PRIVATE)) in vma_dump_size()
/linux-6.15/Documentation/admin-guide/mm/
H A Dksm.rst290 cannot do all the locking needed to reconstitute a cross-anon_vma KSM page.

12