Make sure all mm_counter() and mm_counter_file() callers have a folio, then convert mm counter functions to take a folio, which saves some compound_head() calls. v3: - Rebase on top of my similar patch to add pfn_swap_entry_folio() - Various wordsmithing & notes about where we're actually saving calls to compound_head(). v2: - rebase on v6.7, since most of mm counter callers already with a folio, drop some unneeded changes. v1: - rename should_zap_page() to should_zap_folio(), per Matthew Wilcox - pass page to page_remove_rmap/page_try_dup_anon_rmap for device private page, per Matthew Wilcox Kefeng Wang (7): s390: use pfn_swap_entry_folio() in ptep_zap_swap_entry() mm: use pfn_swap_entry_folio() in __split_huge_pmd_locked() mm: use pfn_swap_entry_to_folio() in zap_huge_pmd() mm: use pfn_swap_entry_folio() in copy_nonpresent_pte() mm: Convert to should_zap_page() to should_zap_folio() mm: convert mm_counter() to take a folio mm: convert mm_counter_file() to take a folio Matthew Wilcox (Oracle) (3): mm: Add pfn_swap_entry_folio() proc: Use pfn_swap_entry_folio where obvious mprotect: Use pfn_swap_entry_folio arch/s390/mm/pgtable.c | 4 ++-- fs/proc/task_mmu.c | 4 ++-- include/linux/mm.h | 12 +++++----- include/linux/swapops.h | 13 +++++++++++ kernel/events/uprobes.c | 2 +- mm/filemap.c | 2 +- mm/huge_memory.c | 23 ++++++++++--------- mm/khugepaged.c | 4 ++-- mm/memory.c | 49 ++++++++++++++++++++++------------------- mm/mprotect.c | 4 ++-- mm/rmap.c | 10 ++++----- mm/userfaultfd.c | 2 +- 12 files changed, 74 insertions(+), 55 deletions(-) -- 2.43.0