Lines Matching refs:details
1554 static inline bool should_zap_cows(struct zap_details *details) in should_zap_cows() argument
1557 if (!details) in should_zap_cows()
1560 VM_WARN_ON_ONCE(details->skip_cows && details->reclaim_pt); in should_zap_cows()
1563 return !details->skip_cows; in should_zap_cows()
1567 static inline bool should_zap_folio(struct zap_details *details, in should_zap_folio() argument
1571 if (should_zap_cows(details)) in should_zap_folio()
1578 static inline bool zap_drop_markers(struct zap_details *details) in zap_drop_markers() argument
1580 if (!details) in zap_drop_markers()
1583 return details->zap_flags & ZAP_FLAG_DROP_MARKER; in zap_drop_markers()
1595 struct zap_details *details, pte_t pteval) in zap_install_uffd_wp_if_needed() argument
1606 if (zap_drop_markers(details)) in zap_install_uffd_wp_if_needed()
1625 unsigned long addr, struct zap_details *details, int *rss, in zap_present_folio_ptes() argument
1653 nr, details, ptent); in zap_present_folio_ptes()
1676 struct zap_details *details, int *rss, bool *force_flush, in zap_present_ptes() argument
1692 pte, 1, details, ptent); in zap_present_ptes()
1698 if (unlikely(!should_zap_folio(details, folio))) { in zap_present_ptes()
1710 addr, details, rss, force_flush, in zap_present_ptes()
1715 details, rss, force_flush, force_break, any_skipped); in zap_present_ptes()
1722 struct zap_details *details, int *rss, bool *any_skipped) in zap_nonpresent_ptes() argument
1734 if (unlikely(!should_zap_folio(details, folio))) in zap_nonpresent_ptes()
1748 if (!should_zap_cows(details)) in zap_nonpresent_ptes()
1757 if (!should_zap_folio(details, folio)) in zap_nonpresent_ptes()
1765 if (!vma_is_anonymous(vma) && !zap_drop_markers(details)) in zap_nonpresent_ptes()
1773 if (!zap_drop_markers(details)) in zap_nonpresent_ptes()
1777 if (!should_zap_cows(details)) in zap_nonpresent_ptes()
1785 *any_skipped = zap_install_uffd_wp_if_needed(vma, addr, pte, nr, details, ptent); in zap_nonpresent_ptes()
1793 struct zap_details *details, int *rss, in do_zap_pte_range() argument
1817 details, rss, force_flush, force_break, in do_zap_pte_range()
1821 details, rss, any_skipped); in do_zap_pte_range()
1827 struct zap_details *details) in pte_table_reclaim_possible() argument
1832 return details && details->reclaim_pt && (end - start >= PMD_SIZE); in pte_table_reclaim_possible()
1887 struct zap_details *details) in zap_pte_range() argument
1889 bool can_reclaim_pt = pte_table_reclaim_possible(addr, end, details); in zap_pte_range()
1918 nr = do_zap_pte_range(tlb, vma, pte, addr, end, details, rss, in zap_pte_range()
1979 struct zap_details *details) in zap_pmd_range() argument
1995 } else if (details && details->single_folio && in zap_pmd_range()
1996 folio_test_pmd_mappable(details->single_folio) && in zap_pmd_range()
2004 addr = zap_pte_range(tlb, vma, pmd, addr, next, details); in zap_pmd_range()
2015 struct zap_details *details) in zap_pud_range() argument
2032 next = zap_pmd_range(tlb, vma, pud, addr, next, details); in zap_pud_range()
2043 struct zap_details *details) in zap_p4d_range() argument
2053 next = zap_pud_range(tlb, vma, p4d, addr, next, details); in zap_p4d_range()
2061 struct zap_details *details) in __zap_vma_range() argument
2063 const bool reaping = details && details->reaping; in __zap_vma_range()
2072 zap_flags_t zap_flags = details ? details->zap_flags : 0; in __zap_vma_range()
2093 next = zap_p4d_range(tlb, vma, pgd, addr, next, details); in __zap_vma_range()
2110 struct zap_details details = { in zap_vma_for_reaping() local
2123 __zap_vma_range(&tlb, vma, range.start, range.end, &details); in zap_vma_for_reaping()
2149 struct zap_details details = { in unmap_vmas() local
2162 __zap_vma_range(tlb, vma, start, end, &details); in unmap_vmas()
2163 hugetlb_zap_end(vma, &details); in unmap_vmas()
2185 unsigned long size, struct zap_details *details) in zap_vma_range_batched() argument
2204 __zap_vma_range(tlb, vma, address, end, details); in zap_vma_range_batched()
2212 hugetlb_zap_end(vma, details); in zap_vma_range_batched()
4326 struct zap_details *details) in unmap_mapping_range_tree() argument
4340 zap_vma_range_batched(&tlb, vma, start, size, details); in unmap_mapping_range_tree()
4359 struct zap_details details = { }; in unmap_mapping_folio() local
4368 details.skip_cows = true; in unmap_mapping_folio()
4369 details.single_folio = folio; in unmap_mapping_folio()
4370 details.zap_flags = ZAP_FLAG_DROP_MARKER; in unmap_mapping_folio()
4375 last_index, &details); in unmap_mapping_folio()
4394 struct zap_details details = { }; in unmap_mapping_pages() local
4398 details.skip_cows = !even_cows; in unmap_mapping_pages()
4405 last_index, &details); in unmap_mapping_pages()