/linux-6.3-rc2/mm/ |
A D | rmap.c | 91 struct anon_vma *anon_vma; in anon_vma_alloc() local 98 anon_vma->parent = anon_vma; in anon_vma_alloc() 103 anon_vma->root = anon_vma; in anon_vma_alloc() 154 avc->anon_vma = anon_vma; in anon_vma_chain_link() 213 vma->anon_vma = anon_vma; in __anon_vma_prepare() 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 1144 struct anon_vma *anon_vma = vma->anon_vma; in __page_set_anon_rmap() local [all …]
|
A D | mmap.c | 351 struct anon_vma *anon_vma = vma->anon_vma; in validate_mm() local 474 vp->anon_vma = vma->anon_vma; in init_multi_vma_prep() 479 vp->anon_vma = next->anon_vma; in init_multi_vma_prep() 635 if (src->anon_vma && !dst->anon_vma) { in dup_anon_vma() 636 dst->anon_vma = src->anon_vma; in dup_anon_vma() 800 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_before() argument 822 struct anon_vma *anon_vma, struct file *file, in can_vma_merge_after() argument 889 struct anon_vma *anon_vma, struct file *file, in vma_merge() argument 1000 vp.anon_vma != adjust->anon_vma); in vma_merge() 1077 struct anon_vma *anon_vma = READ_ONCE(old->anon_vma); in reusable_anon_vma() local [all …]
|
A D | migrate.c | 1039 struct anon_vma *anon_vma; member 1044 struct anon_vma *anon_vma) in __migrate_folio_record() argument 1046 union migration_ptr ptr = { .anon_vma = anon_vma }; in __migrate_folio_record() 1065 struct anon_vma *anon_vma, in migrate_folio_undo_src() argument 1072 if (anon_vma) in migrate_folio_undo_src() 1123 struct anon_vma *anon_vma = NULL; in migrate_folio_unmap() local 1287 struct anon_vma *anon_vma = NULL; in migrate_folio_move() local 1334 if (anon_vma) in migrate_folio_move() 1385 struct anon_vma *anon_vma = NULL; in unmap_and_move_huge_page() local 1463 if (anon_vma) in unmap_and_move_huge_page() [all …]
|
A D | ksm.c | 197 struct anon_vma *anon_vma; /* when stable */ member 1316 rmap_item->anon_vma = vma->anon_vma; in try_to_merge_with_ksm_page() 1317 get_anon_vma(vma->anon_vma); in try_to_merge_with_ksm_page() 2325 if (!vma->anon_vma) in scan_get_next_rmap_item() 2508 if (vma->anon_vma) { in ksm_madvise() 2608 struct anon_vma *anon_vma = folio_anon_vma(folio); in ksm_might_need_to_copy() local 2615 } else if (!anon_vma) { in ksm_might_need_to_copy() 2618 anon_vma->root == vma->anon_vma->root) { in ksm_might_need_to_copy() 2666 struct anon_vma *anon_vma = rmap_item->anon_vma; in rmap_walk_ksm() local 2676 anon_vma_lock_read(anon_vma); in rmap_walk_ksm() [all …]
|
A D | khugepaged.c | 1052 anon_vma_lock_write(vma->anon_vma); in collapse_huge_page() 1091 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page() 1099 anon_vma_unlock_write(vma->anon_vma); in collapse_huge_page() 1423 if (vma->anon_vma) in collapse_and_free_pmd() 1424 lockdep_assert_held_write(&vma->anon_vma->root->rwsem); in collapse_and_free_pmd() 1582 if (vma->anon_vma) in collapse_pte_mapped_thp() 1583 anon_vma_lock_write(vma->anon_vma); in collapse_pte_mapped_thp() 1587 if (vma->anon_vma) in collapse_pte_mapped_thp() 1588 anon_vma_unlock_write(vma->anon_vma); in collapse_pte_mapped_thp() 1664 if (READ_ONCE(vma->anon_vma)) { in retract_page_tables() [all …]
|
A D | mremap.c | 109 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() 1053 extension_end, vma->vm_flags, vma->anon_vma, in SYSCALL_DEFINE5()
|
A D | internal.h | 513 struct anon_vma *folio_anon_vma(struct folio *folio); 1040 struct anon_vma *anon_vma; member
|
A D | huge_memory.c | 148 if (!vma->anon_vma) in hugepage_vma_check() 1312 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page() 2648 struct anon_vma *anon_vma = NULL; in split_huge_page_to_list() local 2674 anon_vma = folio_get_anon_vma(folio); in split_huge_page_to_list() 2675 if (!anon_vma) { in split_huge_page_to_list() 2681 anon_vma_lock_write(anon_vma); in split_huge_page_to_list() 2708 anon_vma = NULL; in split_huge_page_to_list() 2782 if (anon_vma) { in split_huge_page_to_list() 2783 anon_vma_unlock_write(anon_vma); in split_huge_page_to_list() 2784 put_anon_vma(anon_vma); in split_huge_page_to_list()
|
A D | debug.c | 149 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_vma()
|
A D | util.c | 742 struct anon_vma *folio_anon_vma(struct folio *folio) in folio_anon_vma()
|
A D | mlock.c | 422 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), in mlock_fixup()
|
A D | mprotect.c | 646 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), in mprotect_fixup()
|
A D | madvise.c | 154 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma), in madvise_update_vma()
|
A D | memory-failure.c | 554 struct anon_vma *av; in collect_procs_anon()
|
A D | mempolicy.c | 821 vma->anon_vma, vma->vm_file, pgoff, in mbind_range()
|
A D | memory.c | 513 (void *)addr, vma->vm_flags, vma->anon_vma, mapping, index); in print_bad_pte() 1220 if (src_vma->anon_vma) in vma_needs_copy()
|
/linux-6.3-rc2/include/linux/ |
A D | rmap.h | 31 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 void anon_vma_unlock_write(struct anon_vma *anon_vma) in anon_vma_unlock_write() argument 129 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument 134 static inline int anon_vma_trylock_read(struct anon_vma *anon_vma) in anon_vma_trylock_read() argument 139 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument [all …]
|
A D | mm_types.h | 522 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
|
A D | mm.h | 34 struct anon_vma; 2948 unsigned long end, unsigned long vm_flags, struct anon_vma *, 2951 extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
|
/linux-6.3-rc2/Documentation/translations/zh_CN/admin-guide/mm/ |
A D | ksm.rst | 194 制,因为do_swap_page()不能做所有的锁,而需要重组一个跨anon_vma的KSM页。
|
/linux-6.3-rc2/fs/ |
A D | userfaultfd.c | 913 new_flags, vma->anon_vma, in userfaultfd_release() 1456 vma->anon_vma, vma->vm_file, vma->vm_pgoff, in userfaultfd_register() 1636 vma->anon_vma, vma->vm_file, vma->vm_pgoff, in userfaultfd_unregister()
|
A D | coredump.c | 1071 if ((!IS_ENABLED(CONFIG_MMU) || vma->anon_vma) && FILTER(ANON_PRIVATE)) in vma_dump_size()
|
/linux-6.3-rc2/Documentation/mm/ |
A D | transhuge.rst | 96 takes the mmap_lock in write mode in addition to the anon_vma lock). If
|
/linux-6.3-rc2/Documentation/admin-guide/mm/ |
A D | ksm.rst | 237 cannot do all the locking needed to reconstitute a cross-anon_vma KSM page.
|
/linux-6.3-rc2/kernel/ |
A D | fork.c | 659 tmp->anon_vma = NULL; in dup_mmap()
|