Lines Matching refs:page
141 static inline int Page##uname(const struct page *page) \
142 { return test_bit(PG_##lname, &page->flags); }
145 static inline void SetPage##uname(struct page *page) \
146 { set_bit(PG_##lname, &page->flags); }
149 static inline void ClearPage##uname(struct page *page) \
150 { clear_bit(PG_##lname, &page->flags); }
153 static inline void __SetPage##uname(struct page *page) \
154 { __set_bit(PG_##lname, &page->flags); }
157 static inline void __ClearPage##uname(struct page *page) \
158 { __clear_bit(PG_##lname, &page->flags); }
161 static inline int TestSetPage##uname(struct page *page) \
162 { return test_and_set_bit(PG_##lname, &page->flags); }
165 static inline int TestClearPage##uname(struct page *page) \
166 { return test_and_clear_bit(PG_##lname, &page->flags); }
169 static inline int __TestClearPage##uname(struct page *page) \
170 { return __test_and_clear_bit(PG_##lname, &page->flags); }
182 static inline int Page##uname(const struct page *page) { return 0; }
185 static inline void SetPage##uname(struct page *page) { }
188 static inline void ClearPage##uname(struct page *page) { }
191 static inline void __ClearPage##uname(struct page *page) { }
194 static inline int TestSetPage##uname(struct page *page) { return 0; }
197 static inline int TestClearPage##uname(struct page *page) { return 0; }
200 static inline int __TestClearPage##uname(struct page *page) { return 0; }
208 struct page; /* forward declaration */
312 static inline int PageAnon(struct page *page) in PAGEFLAG()
314 return ((unsigned long)page->mapping & PAGE_MAPPING_ANON) != 0; in PAGEFLAG()
324 static inline int PageKsm(struct page *page) in PageKsm() argument
326 return ((unsigned long)page->mapping & PAGE_MAPPING_FLAGS) == in PageKsm()
333 u64 stable_page_flags(struct page *page);
335 static inline int PageUptodate(struct page *page) in PageUptodate() argument
337 int ret = test_bit(PG_uptodate, &(page)->flags); in PageUptodate()
353 static inline void __SetPageUptodate(struct page *page) in __SetPageUptodate() argument
356 __set_bit(PG_uptodate, &(page)->flags); in __SetPageUptodate()
359 static inline void SetPageUptodate(struct page *page) in SetPageUptodate() argument
367 set_bit(PG_uptodate, &(page)->flags); in SetPageUptodate()
372 int test_clear_page_writeback(struct page *page);
373 int __test_set_page_writeback(struct page *page, bool keep_write);
375 #define test_set_page_writeback(page) \ argument
376 __test_set_page_writeback(page, false)
377 #define test_set_page_writeback_keepwrite(page) \ argument
378 __test_set_page_writeback(page, true)
380 static inline void set_page_writeback(struct page *page) in set_page_writeback() argument
382 test_set_page_writeback(page); in set_page_writeback()
385 static inline void set_page_writeback_keepwrite(struct page *page) in set_page_writeback_keepwrite() argument
387 test_set_page_writeback_keepwrite(page); in set_page_writeback_keepwrite()
402 static inline int PageCompound(struct page *page) in __PAGEFLAG()
404 return page->flags & ((1L << PG_head) | (1L << PG_tail)); in __PAGEFLAG()
408 static inline void ClearPageCompound(struct page *page) in ClearPageCompound() argument
410 BUG_ON(!PageHead(page)); in ClearPageCompound()
411 ClearPageHead(page); in ClearPageCompound()
440 static inline int PageHead(struct page *page) in TESTPAGEFLAG()
442 return ((page->flags & PG_head_tail_mask) == PG_head_mask); in TESTPAGEFLAG()
445 static inline int PageTail(struct page *page) in PageTail() argument
447 return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask); in PageTail()
450 static inline void __SetPageTail(struct page *page) in __SetPageTail() argument
452 page->flags |= PG_head_tail_mask; in __SetPageTail()
455 static inline void __ClearPageTail(struct page *page) in __ClearPageTail() argument
457 page->flags &= ~PG_head_tail_mask; in __ClearPageTail()
461 static inline void ClearPageCompound(struct page *page) in ClearPageCompound() argument
463 BUG_ON((page->flags & PG_head_tail_mask) != (1 << PG_compound)); in ClearPageCompound()
464 clear_bit(PG_compound, &page->flags); in ClearPageCompound()
471 int PageHuge(struct page *page);
472 int PageHeadHuge(struct page *page);
473 bool page_huge_active(struct page *page);
478 static inline bool page_huge_active(struct page *page) in TESTPAGEFLAG_FALSE()
494 static inline int PageTransHuge(struct page *page) in PageTransHuge() argument
496 VM_BUG_ON_PAGE(PageTail(page), page); in PageTransHuge()
497 return PageHead(page); in PageTransHuge()
505 static inline int PageTransCompound(struct page *page) in PageTransCompound() argument
507 return PageCompound(page); in PageTransCompound()
515 static inline int PageTransTail(struct page *page) in PageTransTail() argument
517 return PageTail(page); in PageTransTail()
522 static inline int PageTransHuge(struct page *page) in PageTransHuge() argument
527 static inline int PageTransCompound(struct page *page) in PageTransCompound() argument
532 static inline int PageTransTail(struct page *page) in PageTransTail() argument
549 static inline int PageBuddy(struct page *page) in PageBuddy() argument
551 return atomic_read(&page->_mapcount) == PAGE_BUDDY_MAPCOUNT_VALUE; in PageBuddy()
554 static inline void __SetPageBuddy(struct page *page) in __SetPageBuddy() argument
556 VM_BUG_ON_PAGE(atomic_read(&page->_mapcount) != -1, page); in __SetPageBuddy()
557 atomic_set(&page->_mapcount, PAGE_BUDDY_MAPCOUNT_VALUE); in __SetPageBuddy()
560 static inline void __ClearPageBuddy(struct page *page) in __ClearPageBuddy() argument
562 VM_BUG_ON_PAGE(!PageBuddy(page), page); in __ClearPageBuddy()
563 atomic_set(&page->_mapcount, -1); in __ClearPageBuddy()
568 static inline int PageBalloon(struct page *page) in PageBalloon() argument
570 return atomic_read(&page->_mapcount) == PAGE_BALLOON_MAPCOUNT_VALUE; in PageBalloon()
573 static inline void __SetPageBalloon(struct page *page) in __SetPageBalloon() argument
575 VM_BUG_ON_PAGE(atomic_read(&page->_mapcount) != -1, page); in __SetPageBalloon()
576 atomic_set(&page->_mapcount, PAGE_BALLOON_MAPCOUNT_VALUE); in __SetPageBalloon()
579 static inline void __ClearPageBalloon(struct page *page) in __ClearPageBalloon() argument
581 VM_BUG_ON_PAGE(!PageBalloon(page), page); in __ClearPageBalloon()
582 atomic_set(&page->_mapcount, -1); in __ClearPageBalloon()
589 static inline int PageSlabPfmemalloc(struct page *page) in PageSlabPfmemalloc() argument
591 VM_BUG_ON_PAGE(!PageSlab(page), page); in PageSlabPfmemalloc()
592 return PageActive(page); in PageSlabPfmemalloc()
595 static inline void SetPageSlabPfmemalloc(struct page *page) in SetPageSlabPfmemalloc() argument
597 VM_BUG_ON_PAGE(!PageSlab(page), page); in SetPageSlabPfmemalloc()
598 SetPageActive(page); in SetPageSlabPfmemalloc()
601 static inline void __ClearPageSlabPfmemalloc(struct page *page) in __ClearPageSlabPfmemalloc() argument
603 VM_BUG_ON_PAGE(!PageSlab(page), page); in __ClearPageSlabPfmemalloc()
604 __ClearPageActive(page); in __ClearPageSlabPfmemalloc()
607 static inline void ClearPageSlabPfmemalloc(struct page *page) in ClearPageSlabPfmemalloc() argument
609 VM_BUG_ON_PAGE(!PageSlab(page), page); in ClearPageSlabPfmemalloc()
610 ClearPageActive(page); in ClearPageSlabPfmemalloc()
657 static inline int page_has_private(struct page *page) in page_has_private() argument
659 return !!(page->flags & PAGE_FLAGS_PRIVATE); in page_has_private()