Lines Matching refs:anon_vma

33 struct anon_vma {  struct
34 struct anon_vma *root; /* Root of this anon_vma tree */ argument
53 struct anon_vma *parent; /* Parent of this anon_vma */ argument
83 struct anon_vma *anon_vma; member
109 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
111 atomic_inc(&anon_vma->refcount); in get_anon_vma()
114 void __put_anon_vma(struct anon_vma *anon_vma);
116 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
118 if (atomic_dec_and_test(&anon_vma->refcount)) in put_anon_vma()
119 __put_anon_vma(anon_vma); in put_anon_vma()
122 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
124 down_write(&anon_vma->root->rwsem); in anon_vma_lock_write()
127 static inline void anon_vma_unlock_write(struct anon_vma *anon_vma) in anon_vma_unlock_write() argument
129 up_write(&anon_vma->root->rwsem); in anon_vma_unlock_write()
132 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
134 down_read(&anon_vma->root->rwsem); in anon_vma_lock_read()
137 static inline int anon_vma_trylock_read(struct anon_vma *anon_vma) in anon_vma_trylock_read() argument
139 return down_read_trylock(&anon_vma->root->rwsem); in anon_vma_trylock_read()
142 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
144 up_read(&anon_vma->root->rwsem); in anon_vma_unlock_read()
159 if (likely(vma->anon_vma)) in anon_vma_prepare()
168 VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma); in anon_vma_merge()
172 struct anon_vma *page_get_anon_vma(struct page *page);
293 struct anon_vma *(*anon_lock)(struct page *page,
304 struct anon_vma *page_lock_anon_vma_read(struct page *page,
306 void page_unlock_anon_vma_read(struct anon_vma *anon_vma);