Lines Matching refs:page_head
119 void put_unrefcounted_compound_page(struct page *page_head, struct page *page) in put_unrefcounted_compound_page() argument
134 VM_BUG_ON_PAGE(!PageHead(page_head), page_head); in put_unrefcounted_compound_page()
135 if (put_page_testzero(page_head)) { in put_unrefcounted_compound_page()
150 VM_BUG_ON_PAGE(PageSlab(page_head), page_head); in put_unrefcounted_compound_page()
151 __put_compound_page(page_head); in put_unrefcounted_compound_page()
166 void put_refcounted_compound_page(struct page *page_head, struct page *page) in put_refcounted_compound_page() argument
168 if (likely(page != page_head && get_page_unless_zero(page_head))) { in put_refcounted_compound_page()
177 flags = compound_lock_irqsave(page_head); in put_refcounted_compound_page()
180 compound_unlock_irqrestore(page_head, flags); in put_refcounted_compound_page()
181 if (put_page_testzero(page_head)) { in put_refcounted_compound_page()
194 if (PageHead(page_head)) in put_refcounted_compound_page()
195 __put_compound_page(page_head); in put_refcounted_compound_page()
197 __put_single_page(page_head); in put_refcounted_compound_page()
204 VM_BUG_ON_PAGE(page_head != compound_head(page), page); in put_refcounted_compound_page()
211 if (put_page_testzero(page_head)) in put_refcounted_compound_page()
212 VM_BUG_ON_PAGE(1, page_head); in put_refcounted_compound_page()
216 VM_BUG_ON_PAGE(atomic_read(&page_head->_count) <= 0, page_head); in put_refcounted_compound_page()
218 compound_unlock_irqrestore(page_head, flags); in put_refcounted_compound_page()
220 if (put_page_testzero(page_head)) { in put_refcounted_compound_page()
221 if (PageHead(page_head)) in put_refcounted_compound_page()
222 __put_compound_page(page_head); in put_refcounted_compound_page()
224 __put_single_page(page_head); in put_refcounted_compound_page()
235 struct page *page_head; in put_compound_page() local
265 page_head = compound_head(page); in put_compound_page()
266 if (!__compound_tail_refcounted(page_head)) in put_compound_page()
267 put_unrefcounted_compound_page(page_head, page); in put_compound_page()
269 put_refcounted_compound_page(page_head, page); in put_compound_page()
297 struct page *page_head = compound_head(page); in __get_page_tail() local
300 if (!__compound_tail_refcounted(page_head)) { in __get_page_tail()
308 VM_BUG_ON_PAGE(!PageHead(page_head), page_head); in __get_page_tail()
326 if (likely(page != page_head && get_page_unless_zero(page_head))) { in __get_page_tail()
333 flags = compound_lock_irqsave(page_head); in __get_page_tail()
339 compound_unlock_irqrestore(page_head, flags); in __get_page_tail()
341 put_page(page_head); in __get_page_tail()