This series stops using page->private on tail pages for THP_SWAP, replaces folio->private by folio->swap for swapcache folios, and starts using "new_folio" for tail pages that we are splitting to remove the usage of page->private for swapcache handling completely. @Willy, I added your SOB on patch #2 from [1], hoping that's ok. [1] https://lore.kernel.org/all/ZN1IH/8JxkkOU5Ec@xxxxxxxxxxxxxxxxxxxx/ Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: Peter Xu <peterx@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Vitaly Wool <vitaly.wool@xxxxxxxxxxxx> David Hildenbrand (3): mm/swap: stop using page->private on tail pages for THP_SWAP mm/swap: inline folio_set_swap_entry() and folio_swap_entry() mm/huge_memory: work on folio->swap instead of page->private when splitting folio Matthew Wilcox (1): mm/swap: use dedicated entry for swap in folio arch/arm64/mm/mteswap.c | 5 +++-- include/linux/mm_types.h | 35 ++++++++++++++--------------------- include/linux/swap.h | 12 +++++------- mm/huge_memory.c | 40 +++++++++++++++++++--------------------- mm/memory.c | 4 ++-- mm/rmap.c | 2 +- mm/shmem.c | 6 +++--- mm/swap_state.c | 6 +++--- mm/swapfile.c | 6 +++--- mm/util.c | 2 +- mm/vmscan.c | 2 +- mm/zswap.c | 4 ++-- 12 files changed, 57 insertions(+), 67 deletions(-) -- 2.41.0