Lines Matching refs:page

30 static struct page *page_idle_get_page(unsigned long pfn)  in page_idle_get_page()
32 struct page *page; in page_idle_get_page() local
38 page = pfn_to_page(pfn); in page_idle_get_page()
39 if (!page || !PageLRU(page) || in page_idle_get_page()
40 !get_page_unless_zero(page)) in page_idle_get_page()
43 zone = page_zone(page); in page_idle_get_page()
45 if (unlikely(!PageLRU(page))) { in page_idle_get_page()
46 put_page(page); in page_idle_get_page()
47 page = NULL; in page_idle_get_page()
50 return page; in page_idle_get_page()
53 static int page_idle_clear_pte_refs_one(struct page *page, in page_idle_clear_pte_refs_one() argument
63 if (unlikely(PageTransHuge(page))) { in page_idle_clear_pte_refs_one()
64 pmd = page_check_address_pmd(page, mm, addr, in page_idle_clear_pte_refs_one()
71 pte = page_check_address(page, mm, addr, &ptl, 0); in page_idle_clear_pte_refs_one()
78 clear_page_idle(page); in page_idle_clear_pte_refs_one()
84 set_page_young(page); in page_idle_clear_pte_refs_one()
89 static void page_idle_clear_pte_refs(struct page *page) in page_idle_clear_pte_refs() argument
101 if (!page_mapped(page) || in page_idle_clear_pte_refs()
102 !page_rmapping(page)) in page_idle_clear_pte_refs()
105 need_lock = !PageAnon(page) || PageKsm(page); in page_idle_clear_pte_refs()
106 if (need_lock && !trylock_page(page)) in page_idle_clear_pte_refs()
109 rmap_walk(page, (struct rmap_walk_control *)&rwc); in page_idle_clear_pte_refs()
112 unlock_page(page); in page_idle_clear_pte_refs()
120 struct page *page; in page_idle_bitmap_read() local
139 page = page_idle_get_page(pfn); in page_idle_bitmap_read()
140 if (page) { in page_idle_bitmap_read()
141 if (page_is_idle(page)) { in page_idle_bitmap_read()
147 page_idle_clear_pte_refs(page); in page_idle_bitmap_read()
148 if (page_is_idle(page)) in page_idle_bitmap_read()
151 put_page(page); in page_idle_bitmap_read()
165 struct page *page; in page_idle_bitmap_write() local
183 page = page_idle_get_page(pfn); in page_idle_bitmap_write()
184 if (page) { in page_idle_bitmap_write()
185 page_idle_clear_pte_refs(page); in page_idle_bitmap_write()
186 set_page_idle(page); in page_idle_bitmap_write()
187 put_page(page); in page_idle_bitmap_write()