mm-rmap-add-anon-folio-unmap-dispatcher.patch removed from -mm tree
The quilt patch titled
Subject: mm/rmap: add anon folio unmap dispatcher
has been removed from the -mm tree. Its filename was
mm-rmap-add-anon-folio-unmap-dispatcher.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Dev Jain <[email protected]>
Subject: mm/rmap: add anon folio unmap dispatcher
Date: Thu, 30 Jul 2026 09:45:56 +0000
Add ttu_anon_folio() as the common entry point for anonymous folio unmapping. It dispatches to the lazyfree or swapbacked helper as appropriate.
Keep restoration of cleared PTEs in the caller, where the PTEs were removed.
No functional change intended.
---
mm/rmap.c | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-)
mm/rmap.c renamed from mm/rmap.c~mm-rmap-add-anon-folio-unmap-dispatcher +23 -22
@@ -2172,6 +2172,26 @@ static bool ttu_anon_swapbacked_folio(streturn true; } +static bool ttu_anon_folio (struct vm_area_struct *vma,struct folio *folio, +struct page *page,unsigned long address,pte_t *ptep, +pte_t pteval,unsigned long nr_pages) +{ +/* +* Store the swap location in the pte. +* See handle_pte_fault() ... +*/ +if (WARN_ON_ONCE (folio_test_swapbacked (folio) != +folio_test_swapcache (folio))) +return false; + +if (!folio_test_swapbacked (folio)) +return ttu_anon_lazyfree_folio (vma, folio, nr_pages); + +/* nr_pages > 1 not supported yet */ +return ttu_anon_swapbacked_folio (vma, folio, page, address, ptep, + pteval); +} +/* * @arg: enum ttu_flags will be passed to this argument */
@@ -2349,31 +2369,12 @@ static bool try_to_unmap_one(struct foli*/ dec_mm_counter (mm,mm_counter (folio)); }else if (folio_test_anon (folio)) { -/* -* Store the swap location in the pte. -* See handle_pte_fault() ... -*/ -if (unlikely (folio_test_swapbacked (folio) != -folio_test_swapcache (folio))) { -WARN_ON_ONCE (1 ); +if (!ttu_anon_folio (vma, folio, page, address, + pvmw.pte, pteval, nr_pages)) { +set_ptes (mm, address, pvmw.pte, pteval, nr_pages); goto walk_abort; } -/* MADV_FREE page check */ -if (!folio_test_swapbacked (folio)) { -if (!ttu_anon_lazyfree_folio (vma, folio, - nr_pages)) { -set_ptes (mm, address, pvmw.pte, pteval, nr_pages); - goto walk_abort; - } - goto finish_unmap; - } - -if (!ttu_anon_swapbacked_folio (vma, folio, page, address, - pvmw.pte, pteval)) { -set_pte_at (mm, address, pvmw.pte, pteval); - goto walk_abort; - } goto finish_unmap; }else {/*
_
Patches currently in -mm which might be from [email protected] are
mm-memory-move-pte_install_uffd_wp_if_needed-into-memoryc.patch mm-memory-batch-set-uffd-wp-markers-during-zapping.patch mm-rmap-batch-unmap-file-folios-belonging-to-uffd-wp-vmas.patch