Home
last modified time | relevance | path

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

/linux-4.1.27/mm/
Drmap.c68 static inline struct anon_vma *anon_vma_alloc(void) in anon_vma_alloc()
70 struct anon_vma *anon_vma; in anon_vma_alloc() local
72 anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL); in anon_vma_alloc()
73 if (anon_vma) { in anon_vma_alloc()
74 atomic_set(&anon_vma->refcount, 1); in anon_vma_alloc()
75 anon_vma->degree = 1; /* Reference for first vma */ in anon_vma_alloc()
76 anon_vma->parent = anon_vma; in anon_vma_alloc()
81 anon_vma->root = anon_vma; in anon_vma_alloc()
84 return anon_vma; in anon_vma_alloc()
87 static inline void anon_vma_free(struct anon_vma *anon_vma) in anon_vma_free() argument
[all …]
Dmmap.c443 struct anon_vma *anon_vma = vma->anon_vma; in validate_mm() local
446 if (anon_vma) { in validate_mm()
447 anon_vma_lock_read(anon_vma); in validate_mm()
450 anon_vma_unlock_read(anon_vma); in validate_mm()
541 anon_vma_interval_tree_remove(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_pre_update_vma()
550 anon_vma_interval_tree_insert(avc, &avc->anon_vma->rb_root); in anon_vma_interval_tree_post_update_vma()
734 struct anon_vma *anon_vma = NULL; in vma_adjust() local
776 if (exporter && exporter->anon_vma && !importer->anon_vma) { in vma_adjust()
779 importer->anon_vma = exporter->anon_vma; in vma_adjust()
808 anon_vma = vma->anon_vma; in vma_adjust()
[all …]
Dmremap.c94 struct anon_vma *anon_vma = NULL; in move_ptes() local
122 if (vma->anon_vma) { in move_ptes()
123 anon_vma = vma->anon_vma; in move_ptes()
124 anon_vma_lock_write(anon_vma); in move_ptes()
154 if (anon_vma) in move_ptes()
155 anon_vma_unlock_write(anon_vma); in move_ptes()
196 VM_BUG_ON_VMA(vma->vm_file || !vma->anon_vma, in move_page_tables()
200 anon_vma_lock_write(vma->anon_vma); in move_page_tables()
205 anon_vma_unlock_write(vma->anon_vma); in move_page_tables()
Dksm.c164 struct anon_vma *anon_vma; /* when stable */ member
420 if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in find_mergeable_vma()
435 put_anon_vma(rmap_item->anon_vma); in break_cow()
504 put_anon_vma(rmap_item->anon_vma); in remove_node_from_stable_tree()
633 put_anon_vma(rmap_item->anon_vma); in remove_rmap_item_from_tree()
786 if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) in unmerge_and_remove_all_rmap_items()
1104 rmap_item->anon_vma = vma->anon_vma; in try_to_merge_with_ksm_page()
1105 get_anon_vma(vma->anon_vma); in try_to_merge_with_ksm_page()
1611 if (!vma->anon_vma) in scan_get_next_rmap_item()
1772 if (vma->anon_vma) { in ksm_madvise()
[all …]
Dhuge_memory.c896 wait_split_huge_page(vma->anon_vma, src_pmd); /* src_vma */ in copy_huge_pmd()
1095 VM_BUG_ON_VMA(!vma->anon_vma, vma); in do_huge_pmd_wp_page()
1263 struct anon_vma *anon_vma = NULL; in do_huge_pmd_numa_page() local
1332 anon_vma = page_lock_anon_vma_read(page); in do_huge_pmd_numa_page()
1344 if (unlikely(!anon_vma)) { in do_huge_pmd_numa_page()
1378 if (anon_vma) in do_huge_pmd_numa_page()
1379 page_unlock_anon_vma_read(anon_vma); in do_huge_pmd_numa_page()
1536 wait_split_huge_page(vma->anon_vma, pmd); in __pmd_trans_huge_lock()
1828 struct anon_vma *anon_vma, in __split_huge_page() argument
1839 anon_vma_interval_tree_foreach(avc, &anon_vma->rb_root, pgoff, pgoff) { in __split_huge_page()
[all …]
Dmigrate.c771 struct anon_vma *anon_vma = NULL; in __unmap_and_move() local
824 anon_vma = page_get_anon_vma(page); in __unmap_and_move()
825 if (anon_vma) { in __unmap_and_move()
895 if (anon_vma) in __unmap_and_move()
896 put_anon_vma(anon_vma); in __unmap_and_move()
1010 struct anon_vma *anon_vma = NULL; in unmap_and_move_huge_page() local
1037 anon_vma = page_get_anon_vma(hpage); in unmap_and_move_huge_page()
1051 if (anon_vma) in unmap_and_move_huge_page()
1052 put_anon_vma(anon_vma); in unmap_and_move_huge_page()
Ddebug.c163 vma->anon_vma, vma->vm_ops, vma->vm_pgoff, in dump_vma()
Dutil.c345 struct anon_vma *page_anon_vma(struct page *page) in page_anon_vma()
Dmprotect.c293 vma->anon_vma, vma->vm_file, pgoff, vma_policy(vma)); in mprotect_fixup()
Dmadvise.c104 *prev = vma_merge(mm, *prev, start, end, new_flags, vma->anon_vma, in madvise_behavior()
Dmlock.c512 *prev = vma_merge(mm, *prev, start, end, newflags, vma->anon_vma, in mlock_fixup()
Dgup.c198 wait_split_huge_page(vma->anon_vma, pmd); in follow_page_mask()
Dmemory.c599 wait_split_huge_page(vma->anon_vma, pmd); in __pte_alloc()
689 (void *)addr, vma->vm_flags, vma->anon_vma, mapping, index); in print_bad_pte()
1024 !vma->anon_vma) in copy_page_range()
Dmemory-failure.c419 struct anon_vma *av; in collect_procs_anon()
Dmempolicy.c725 vma->anon_vma, vma->vm_file, pgoff, in mbind_range()
Dswapfile.c1270 if (vma->anon_vma && (ret = unuse_vma(vma, entry, page))) in unuse_mm()
/linux-4.1.27/include/linux/
Drmap.h27 struct anon_vma { struct
28 struct anon_vma *root; /* Root of this anon_vma tree */ argument
47 struct anon_vma *parent; /* Parent of this anon_vma */ argument
75 struct anon_vma *anon_vma; member
95 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
97 atomic_inc(&anon_vma->refcount); in get_anon_vma()
100 void __put_anon_vma(struct anon_vma *anon_vma);
102 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
104 if (atomic_dec_and_test(&anon_vma->refcount)) in put_anon_vma()
105 __put_anon_vma(anon_vma); in put_anon_vma()
[all …]
Dmm_types.h290 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ member
Dhuge_mm.h146 if (!vma->anon_vma || vma->vm_ops) in vma_adjust_trans_huge()
Dmm.h25 struct anon_vma;
957 extern struct anon_vma *page_anon_vma(struct page *page);
1828 unsigned long vm_flags, struct anon_vma *, struct file *, pgoff_t,
1830 extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
/linux-4.1.27/Documentation/vm/
Dtranshuge.txt341 takes the mmap_sem in write mode in addition to the anon_vma lock). If
Dunevictable-lru.txt533 To unmap anonymous pages, each VMA in the list anchored in the anon_vma
/linux-4.1.27/fs/
Dbinfmt_elf_fdpic.c1226 if (!vma->anon_vma) { in maydump()
Dbinfmt_elf.c1261 if (vma->anon_vma && FILTER(ANON_PRIVATE)) in vma_dump_size()
/linux-4.1.27/security/selinux/
Dhooks.c3368 } else if (vma->vm_file && vma->anon_vma) { in selinux_file_mprotect()