Andrew, do you want to include these patches in -mm? - Finish the conversion from alloc_pages_vma() to vma_alloc_folio() - Finish converting shrink_page_list() to folios - Start converting shmem from pages to folios (alas, not finished, I have simply run out of time with all the debugging/fixing needed for 5.18) Matthew Wilcox (Oracle) (21): shmem: Convert shmem_alloc_hugepage() to use vma_alloc_folio() mm/huge_memory: Convert do_huge_pmd_anonymous_page() to use vma_alloc_folio() mm: Remove alloc_pages_vma() vmscan: Use folio_mapped() in shrink_page_list() vmscan: Convert the writeback handling in shrink_page_list() to folios swap: Turn get_swap_page() into folio_alloc_swap() swap: Convert add_to_swap() to take a folio vmscan: Convert dirty page handling to folios vmscan: Convert page buffer handling to use folios vmscan: Convert lazy freeing to folios vmscan: Move initialisation of mapping down vmscan: Convert the activate_locked portion of shrink_page_list to folios vmscan: Remove remaining uses of page in shrink_page_list mm/shmem: Use a folio in shmem_unused_huge_shrink mm/swap: Add folio_throttle_swaprate mm/shmem: Convert shmem_add_to_page_cache to take a folio mm/shmem: Turn shmem_should_replace_page into shmem_should_replace_folio mm/shmem: Turn shmem_alloc_page() into shmem_alloc_folio() mm/shmem: Convert shmem_alloc_and_acct_page to use a folio mm/shmem: Convert shmem_getpage_gfp to use a folio mm/shmem: Convert shmem_swapin_page() to shmem_swapin_folio() arch/arm64/include/asm/pgtable.h | 6 +- include/linux/gfp.h | 18 +- include/linux/memcontrol.h | 14 ++ include/linux/pgtable.h | 2 +- include/linux/swap.h | 23 ++- mm/huge_memory.c | 9 +- mm/memcontrol.c | 16 +- mm/mempolicy.c | 51 +++-- mm/shmem.c | 314 ++++++++++++++--------------- mm/swap_slots.c | 14 +- mm/swap_state.c | 48 ++--- mm/swapfile.c | 17 +- mm/vmscan.c | 326 ++++++++++++++++--------------- 13 files changed, 437 insertions(+), 421 deletions(-) -- 2.34.1