diff options
Diffstat (limited to 'include/linux/huge_mm.h')
-rw-r--r-- | include/linux/huge_mm.h | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 91672e2deec3..b826239bdce0 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h | |||
@@ -157,23 +157,6 @@ static inline int hpage_nr_pages(struct page *page) | |||
157 | return HPAGE_PMD_NR; | 157 | return HPAGE_PMD_NR; |
158 | return 1; | 158 | return 1; |
159 | } | 159 | } |
160 | static inline struct page *compound_trans_head(struct page *page) | ||
161 | { | ||
162 | if (PageTail(page)) { | ||
163 | struct page *head; | ||
164 | head = page->first_page; | ||
165 | smp_rmb(); | ||
166 | /* | ||
167 | * head may be a dangling pointer. | ||
168 | * __split_huge_page_refcount clears PageTail before | ||
169 | * overwriting first_page, so if PageTail is still | ||
170 | * there it means the head pointer isn't dangling. | ||
171 | */ | ||
172 | if (PageTail(page)) | ||
173 | return head; | ||
174 | } | ||
175 | return page; | ||
176 | } | ||
177 | 160 | ||
178 | extern int do_huge_pmd_numa_page(struct mm_struct *mm, struct vm_area_struct *vma, | 161 | extern int do_huge_pmd_numa_page(struct mm_struct *mm, struct vm_area_struct *vma, |
179 | unsigned long addr, pmd_t pmd, pmd_t *pmdp); | 162 | unsigned long addr, pmd_t pmd, pmd_t *pmdp); |
@@ -203,7 +186,6 @@ static inline int split_huge_page(struct page *page) | |||
203 | do { } while (0) | 186 | do { } while (0) |
204 | #define split_huge_page_pmd_mm(__mm, __address, __pmd) \ | 187 | #define split_huge_page_pmd_mm(__mm, __address, __pmd) \ |
205 | do { } while (0) | 188 | do { } while (0) |
206 | #define compound_trans_head(page) compound_head(page) | ||
207 | static inline int hugepage_madvise(struct vm_area_struct *vma, | 189 | static inline int hugepage_madvise(struct vm_area_struct *vma, |
208 | unsigned long *vm_flags, int advice) | 190 | unsigned long *vm_flags, int advice) |
209 | { | 191 | { |