Lines Matching full:page
28 struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
48 * @pgprot: page protection to use
67 * @pgprot: page protection to use
187 void prep_transhuge_page(struct page *page);
188 void free_transhuge_page(struct page *page);
189 bool is_transparent_hugepage(struct page *page);
191 bool can_split_huge_page(struct page *page, int *pextra_pins);
192 int split_huge_page_to_list(struct page *page, struct list_head *list);
193 static inline int split_huge_page(struct page *page) in split_huge_page() argument
195 return split_huge_page_to_list(page, NULL); in split_huge_page()
197 void deferred_split_huge_page(struct page *page);
200 unsigned long address, bool freeze, struct page *page);
213 bool freeze, struct page *page);
257 * thp_head - Head page of a transparent huge page.
258 * @page: Any page (tail, head or regular) found in the page cache.
260 static inline struct page *thp_head(struct page *page) in thp_head() argument
262 return compound_head(page); in thp_head()
266 * thp_order - Order of a transparent huge page.
267 * @page: Head page of a transparent huge page.
269 static inline unsigned int thp_order(struct page *page) in thp_order() argument
271 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
272 if (PageHead(page)) in thp_order()
278 * thp_nr_pages - The number of regular pages in this huge page.
279 * @page: The head page of a huge page.
281 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
283 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
284 if (PageHead(page)) in thp_nr_pages()
289 struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
291 struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
296 extern struct page *huge_zero_page;
299 static inline bool is_huge_zero_page(struct page *page) in is_huge_zero_page() argument
301 return READ_ONCE(huge_zero_page) == page; in is_huge_zero_page()
314 struct page *mm_get_huge_zero_page(struct mm_struct *mm);
317 #define mk_huge_pmd(page, prot) pmd_mkhuge(mk_pmd(page, prot)) argument
324 static inline struct list_head *page_deferred_list(struct page *page) in page_deferred_list() argument
330 return &page[2].deferred_list; in page_deferred_list()
342 static inline struct page *thp_head(struct page *page) in thp_head() argument
344 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_head()
345 return page; in thp_head()
348 static inline unsigned int thp_order(struct page *page) in thp_order() argument
350 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
354 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
356 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
382 static inline void prep_transhuge_page(struct page *page) {} in prep_transhuge_page() argument
384 static inline bool is_transparent_hugepage(struct page *page) in is_transparent_hugepage() argument
394 can_split_huge_page(struct page *page, int *pextra_pins) in can_split_huge_page() argument
400 split_huge_page_to_list(struct page *page, struct list_head *list) in split_huge_page_to_list() argument
404 static inline int split_huge_page(struct page *page) in split_huge_page() argument
408 static inline void deferred_split_huge_page(struct page *page) {} in deferred_split_huge_page() argument
413 unsigned long address, bool freeze, struct page *page) {} in __split_huge_pmd() argument
415 unsigned long address, bool freeze, struct page *page) {} in split_huge_pmd_address() argument
453 static inline bool is_huge_zero_page(struct page *page) in is_huge_zero_page() argument
473 static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, in follow_devmap_pmd()
479 static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, in follow_devmap_pud()
492 * thp_size - Size of a transparent huge page.
493 * @page: Head page of a transparent huge page.
495 * Return: Number of bytes in this page.
497 static inline unsigned long thp_size(struct page *page) in thp_size() argument
499 return PAGE_SIZE << thp_order(page); in thp_size()