Lines Matching refs:page
198 struct page *page, int nr_pages, enum rmap_level level) in __folio_rmap_sanity_checks() argument
216 VM_WARN_ON_FOLIO(page_folio(page) != folio, folio); in __folio_rmap_sanity_checks()
217 VM_WARN_ON_FOLIO(page_folio(page + nr_pages - 1) != folio, folio); in __folio_rmap_sanity_checks()
240 void folio_add_anon_rmap_ptes(struct folio *, struct page *, int nr_pages,
242 #define folio_add_anon_rmap_pte(folio, page, vma, address, flags) \ argument
243 folio_add_anon_rmap_ptes(folio, page, 1, vma, address, flags)
244 void folio_add_anon_rmap_pmd(struct folio *, struct page *,
248 void folio_add_file_rmap_ptes(struct folio *, struct page *, int nr_pages,
250 #define folio_add_file_rmap_pte(folio, page, vma) \ argument
251 folio_add_file_rmap_ptes(folio, page, 1, vma)
252 void folio_add_file_rmap_pmd(struct folio *, struct page *,
254 void folio_remove_rmap_ptes(struct folio *, struct page *, int nr_pages,
256 #define folio_remove_rmap_pte(folio, page, vma) \ argument
257 folio_remove_rmap_ptes(folio, page, 1, vma)
258 void folio_remove_rmap_pmd(struct folio *, struct page *,
273 if (PageAnonExclusive(&folio->page)) { in hugetlb_try_dup_anon_rmap()
276 ClearPageAnonExclusive(&folio->page); in hugetlb_try_dup_anon_rmap()
288 VM_WARN_ON_FOLIO(!PageAnonExclusive(&folio->page), folio); in hugetlb_try_share_anon_rmap()
296 ClearPageAnonExclusive(&folio->page); in hugetlb_try_share_anon_rmap()
325 struct page *page, int nr_pages, enum rmap_level level) in __folio_dup_file_rmap() argument
329 __folio_rmap_sanity_checks(folio, page, nr_pages, level); in __folio_dup_file_rmap()
339 atomic_inc(&page->_mapcount); in __folio_dup_file_rmap()
340 } while (page++, --nr_pages > 0); in __folio_dup_file_rmap()
361 struct page *page, int nr_pages) in folio_dup_file_rmap_ptes() argument
363 __folio_dup_file_rmap(folio, page, nr_pages, RMAP_LEVEL_PTE); in folio_dup_file_rmap_ptes()
367 struct page *page) in folio_dup_file_rmap_pte() argument
369 __folio_dup_file_rmap(folio, page, 1, RMAP_LEVEL_PTE); in folio_dup_file_rmap_pte()
382 struct page *page) in folio_dup_file_rmap_pmd() argument
385 __folio_dup_file_rmap(folio, page, HPAGE_PMD_NR, RMAP_LEVEL_PTE); in folio_dup_file_rmap_pmd()
392 struct page *page, int nr_pages, struct vm_area_struct *src_vma, in __folio_try_dup_anon_rmap() argument
400 __folio_rmap_sanity_checks(folio, page, nr_pages, level); in __folio_try_dup_anon_rmap()
421 if (PageAnonExclusive(page + i)) in __folio_try_dup_anon_rmap()
426 if (PageAnonExclusive(page)) in __folio_try_dup_anon_rmap()
427 ClearPageAnonExclusive(page); in __folio_try_dup_anon_rmap()
433 if (PageAnonExclusive(page)) in __folio_try_dup_anon_rmap()
434 ClearPageAnonExclusive(page); in __folio_try_dup_anon_rmap()
435 atomic_inc(&page->_mapcount); in __folio_try_dup_anon_rmap()
436 } while (page++, --nr_pages > 0); in __folio_try_dup_anon_rmap()
440 if (PageAnonExclusive(page)) { in __folio_try_dup_anon_rmap()
443 ClearPageAnonExclusive(page); in __folio_try_dup_anon_rmap()
476 struct page *page, int nr_pages, struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_ptes() argument
478 return __folio_try_dup_anon_rmap(folio, page, nr_pages, src_vma, in folio_try_dup_anon_rmap_ptes()
483 struct page *page, struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_pte() argument
485 return __folio_try_dup_anon_rmap(folio, page, 1, src_vma, in folio_try_dup_anon_rmap_pte()
512 struct page *page, struct vm_area_struct *src_vma) in folio_try_dup_anon_rmap_pmd() argument
515 return __folio_try_dup_anon_rmap(folio, page, HPAGE_PMD_NR, src_vma, in folio_try_dup_anon_rmap_pmd()
524 struct page *page, int nr_pages, enum rmap_level level) in __folio_try_share_anon_rmap() argument
527 VM_WARN_ON_FOLIO(!PageAnonExclusive(page), folio); in __folio_try_share_anon_rmap()
528 __folio_rmap_sanity_checks(folio, page, nr_pages, level); in __folio_try_share_anon_rmap()
532 ClearPageAnonExclusive(page); in __folio_try_share_anon_rmap()
584 ClearPageAnonExclusive(page); in __folio_try_share_anon_rmap()
617 struct page *page) in folio_try_share_anon_rmap_pte() argument
619 return __folio_try_share_anon_rmap(folio, page, 1, RMAP_LEVEL_PTE); in folio_try_share_anon_rmap_pte()
646 struct page *page) in folio_try_share_anon_rmap_pmd() argument
649 return __folio_try_share_anon_rmap(folio, page, HPAGE_PMD_NR, in folio_try_share_anon_rmap_pmd()
667 unsigned long end, struct page **pages,
735 unsigned long page_address_in_vma(struct page *, struct vm_area_struct *);