Lines Matching refs:anon_vma
27 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()
108 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
110 down_write(&anon_vma->root->rwsem); in anon_vma_lock_write()
113 static inline void anon_vma_unlock_write(struct anon_vma *anon_vma) in anon_vma_unlock_write() argument
115 up_write(&anon_vma->root->rwsem); in anon_vma_unlock_write()
118 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
120 down_read(&anon_vma->root->rwsem); in anon_vma_lock_read()
123 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
125 up_read(&anon_vma->root->rwsem); in anon_vma_unlock_read()
141 VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma); in anon_vma_merge()
145 struct anon_vma *page_get_anon_vma(struct page *page);
217 struct anon_vma *page_lock_anon_vma_read(struct page *page);
218 void page_unlock_anon_vma_read(struct anon_vma *anon_vma);
235 struct anon_vma *(*anon_lock)(struct page *page);