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
184 void prep_transhuge_page(struct page *page);
185 void free_transhuge_page(struct page *page);
186 bool is_transparent_hugepage(struct page *page);
188 bool can_split_huge_page(struct page *page, int *pextra_pins);
189 int split_huge_page_to_list(struct page *page, struct list_head *list);
190 static inline int split_huge_page(struct page *page) in split_huge_page() argument
192 return split_huge_page_to_list(page, NULL); in split_huge_page()
194 void deferred_split_huge_page(struct page *page);
197 unsigned long address, bool freeze, struct page *page);
210 bool freeze, struct page *page);
254 * thp_head - Head page of a transparent huge page.
255 * @page: Any page (tail, head or regular) found in the page cache.
257 static inline struct page *thp_head(struct page *page) in thp_head() argument
259 return compound_head(page); in thp_head()
263 * thp_order - Order of a transparent huge page.
264 * @page: Head page of a transparent huge page.
266 static inline unsigned int thp_order(struct page *page) in thp_order() argument
268 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
269 if (PageHead(page)) in thp_order()
275 * thp_nr_pages - The number of regular pages in this huge page.
276 * @page: The head page of a huge page.
278 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
280 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
281 if (PageHead(page)) in thp_nr_pages()
286 struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
288 struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
293 extern struct page *huge_zero_page;
296 static inline bool is_huge_zero_page(struct page *page) in is_huge_zero_page() argument
298 return READ_ONCE(huge_zero_page) == page; in is_huge_zero_page()
311 struct page *mm_get_huge_zero_page(struct mm_struct *mm);
314 #define mk_huge_pmd(page, prot) pmd_mkhuge(mk_pmd(page, prot)) argument
321 static inline struct list_head *page_deferred_list(struct page *page) in page_deferred_list() argument
327 return &page[2].deferred_list; in page_deferred_list()
339 static inline struct page *thp_head(struct page *page) in thp_head() argument
341 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_head()
342 return page; in thp_head()
345 static inline unsigned int thp_order(struct page *page) in thp_order() argument
347 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_order()
351 static inline int thp_nr_pages(struct page *page) in thp_nr_pages() argument
353 VM_BUG_ON_PGFLAGS(PageTail(page), page); in thp_nr_pages()
379 static inline void prep_transhuge_page(struct page *page) {} in prep_transhuge_page() argument
381 static inline bool is_transparent_hugepage(struct page *page) in is_transparent_hugepage() argument
391 can_split_huge_page(struct page *page, int *pextra_pins) in can_split_huge_page() argument
397 split_huge_page_to_list(struct page *page, struct list_head *list) in split_huge_page_to_list() argument
401 static inline int split_huge_page(struct page *page) in split_huge_page() argument
405 static inline void deferred_split_huge_page(struct page *page) {} in deferred_split_huge_page() argument
410 unsigned long address, bool freeze, struct page *page) {} in __split_huge_pmd() argument
412 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
469 static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, in follow_devmap_pmd()
475 static inline struct page *follow_devmap_pud(struct vm_area_struct *vma, in follow_devmap_pud()
488 * thp_size - Size of a transparent huge page.
489 * @page: Head page of a transparent huge page.
491 * Return: Number of bytes in this page.
493 static inline unsigned long thp_size(struct page *page) in thp_size() argument
495 return PAGE_SIZE << thp_order(page); in thp_size()