Lines Matching refs:page
21 struct page *page; in pte_frag_destroy() local
23 page = virt_to_page(pte_frag); in pte_frag_destroy()
27 if (atomic_sub_and_test(PTE_FRAG_NR - count, &page->pt_frag_refcount)) { in pte_frag_destroy()
28 pgtable_pte_page_dtor(page); in pte_frag_destroy()
29 __free_page(page); in pte_frag_destroy()
58 struct page *page; in __alloc_for_ptecache() local
61 page = alloc_page(PGALLOC_GFP | __GFP_ACCOUNT); in __alloc_for_ptecache()
62 if (!page) in __alloc_for_ptecache()
64 if (!pgtable_pte_page_ctor(page)) { in __alloc_for_ptecache()
65 __free_page(page); in __alloc_for_ptecache()
69 page = alloc_page(PGALLOC_GFP); in __alloc_for_ptecache()
70 if (!page) in __alloc_for_ptecache()
74 atomic_set(&page->pt_frag_refcount, 1); in __alloc_for_ptecache()
76 ret = page_address(page); in __alloc_for_ptecache()
90 atomic_set(&page->pt_frag_refcount, PTE_FRAG_NR); in __alloc_for_ptecache()
111 struct page *page = virt_to_page(table); in pte_fragment_free() local
113 BUG_ON(atomic_read(&page->pt_frag_refcount) <= 0); in pte_fragment_free()
114 if (atomic_dec_and_test(&page->pt_frag_refcount)) { in pte_fragment_free()
116 pgtable_pte_page_dtor(page); in pte_fragment_free()
117 __free_page(page); in pte_fragment_free()