Lines Matching full:page
28 extern struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
54 * @pgprot: page protection to use
73 * @pgprot: page protection to use
186 extern void prep_transhuge_page(struct page *page);
187 extern void free_transhuge_page(struct page *page);
188 bool is_transparent_hugepage(struct page *page);
190 bool can_split_huge_page(struct page *page, int *pextra_pins);
191 int split_huge_page_to_list(struct page *page, struct list_head *list);
192 static inline int split_huge_page(struct page *page) in split_huge_page() argument
194 return split_huge_page_to_list(page, NULL); in split_huge_page()
196 void deferred_split_huge_page(struct page *page);
199 unsigned long address, bool freeze, struct page *page);
212 bool freeze, struct page *page);
260 * thp_head - Head page of a transparent huge page.
261 * @page: Any page (tail, head or regular) found in the page cache.
263 static inline struct page *thp_head(struct page *page) in thp_head() argument
265 return compound_head(page); in thp_head()
269 * thp_order - Order of a transparent huge page.
270 * @page: Head page of a transparent huge page.
272 static inline unsigned int thp_order(struct page *page) in thp_order() argument
274 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
275 if (PageHead(page)) in thp_order()
281 * thp_nr_pages - The number of regular pages in this huge page.
282 * @page: The head page of a huge page.
284 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
286 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
287 if (PageHead(page)) in thp_nr_pages()
292 struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
294 struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
299 extern struct page *huge_zero_page;
301 static inline bool is_huge_zero_page(struct page *page) in is_huge_zero_page() argument
303 return READ_ONCE(huge_zero_page) == page; in is_huge_zero_page()
316 struct page *mm_get_huge_zero_page(struct mm_struct *mm);
319 #define mk_huge_pmd(page, prot) pmd_mkhuge(mk_pmd(page, prot)) argument
326 static inline struct list_head *page_deferred_list(struct page *page) in page_deferred_list() argument
332 return &page[2].deferred_list; in page_deferred_list()
344 static inline struct page *thp_head(struct page *page) in thp_head() argument
346 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_head()
347 return page; in thp_head()
350 static inline unsigned int thp_order(struct page *page) in thp_order() argument
352 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
356 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
358 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
378 static inline void prep_transhuge_page(struct page *page) {} in prep_transhuge_page() argument
380 static inline bool is_transparent_hugepage(struct page *page) in is_transparent_hugepage() argument
390 can_split_huge_page(struct page *page, int *pextra_pins) in can_split_huge_page() argument
396 split_huge_page_to_list(struct page *page, struct list_head *list) in split_huge_page_to_list() argument
400 static inline int split_huge_page(struct page *page) in split_huge_page() argument
404 static inline void deferred_split_huge_page(struct page *page) {} in deferred_split_huge_page() argument
409 unsigned long address, bool freeze, struct page *page) {} in __split_huge_pmd() argument
411 unsigned long address, bool freeze, struct page *page) {} in split_huge_pmd_address() argument
449 static inline bool is_huge_zero_page(struct page *page) in is_huge_zero_page() argument
464 static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, in follow_devmap_pmd()
470 static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, in follow_devmap_pud()
483 * thp_size - Size of a transparent huge page.
484 * @page: Head page of a transparent huge page.
486 * Return: Number of bytes in this page.
488 static inline unsigned long thp_size(struct page *page) in thp_size() argument
490 return PAGE_SIZE << thp_order(page); in thp_size()