Lines Matching refs:anon_vma
29 struct anon_vma { struct
30 struct anon_vma *root; /* Root of this anon_vma tree */ argument
49 struct anon_vma *parent; /* Parent of this anon_vma */ argument
79 struct anon_vma *anon_vma; member
105 static inline void get_anon_vma(struct anon_vma *anon_vma) in get_anon_vma() argument
107 atomic_inc(&anon_vma->refcount); in get_anon_vma()
110 void __put_anon_vma(struct anon_vma *anon_vma);
112 static inline void put_anon_vma(struct anon_vma *anon_vma) in put_anon_vma() argument
114 if (atomic_dec_and_test(&anon_vma->refcount)) in put_anon_vma()
115 __put_anon_vma(anon_vma); in put_anon_vma()
118 static inline void anon_vma_lock_write(struct anon_vma *anon_vma) in anon_vma_lock_write() argument
120 down_write(&anon_vma->root->rwsem); in anon_vma_lock_write()
123 static inline void anon_vma_unlock_write(struct anon_vma *anon_vma) in anon_vma_unlock_write() argument
125 up_write(&anon_vma->root->rwsem); in anon_vma_unlock_write()
128 static inline void anon_vma_lock_read(struct anon_vma *anon_vma) in anon_vma_lock_read() argument
130 down_read(&anon_vma->root->rwsem); in anon_vma_lock_read()
133 static inline void anon_vma_unlock_read(struct anon_vma *anon_vma) in anon_vma_unlock_read() argument
135 up_read(&anon_vma->root->rwsem); in anon_vma_unlock_read()
150 if (likely(vma->anon_vma)) in anon_vma_prepare()
159 VM_BUG_ON_VMA(vma->anon_vma != next->anon_vma, vma); in anon_vma_merge()
163 struct anon_vma *page_get_anon_vma(struct page *page);
249 struct anon_vma *page_lock_anon_vma_read(struct page *page);
250 void page_unlock_anon_vma_read(struct anon_vma *anon_vma);
271 struct anon_vma *(*anon_lock)(struct page *page);