The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v3 0/5] mm/rmap: Refactor try_to_unmap_one
@ 2026-07-13  5:00 Dev Jain
  2026-07-13  5:00 ` [PATCH v3 1/5] mm/rmap: convert page -> folio for hwpoison checks Dev Jain
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Dev Jain @ 2026-07-13  5:00 UTC (permalink / raw)
  To: akpm, david, ljs, muchun.song, osalvador
  Cc: Dev Jain, riel, liam, vbabka, harry, jannh, lance.yang, linux-mm,
	linux-kernel, ryan.roberts, anshuman.khandual

In preparation for batching anonymous large folio unmapping to optimize it,
refactor try_to_unmap_one. This series refactors hugetlb, anon-lazyfree
and anon-swapbacked logic into their own functions, significantly
reducing the length of the huge try_to_unmap_one.

---
Split out from
https://lore.kernel.org/all/20260526063635.61721-1-dev.jain@arm.com/

mm-selftests pass on arm64, built on arm64 and x86.

v2->v3:
 - Patch 2: fix comment to say that TTU_HWPOISON can be true for small
   folios only in try_to_unmap_one, since hugetlb bits are now refactored
   away
 - Patch 5: Directly do if (WARN_ON_ONCE())
 - Rebase on latest mm-unstable to resolve conflicts with 30c83145c5b3
   ("mm: rename uffd-wp PTE accessors to uffd")

v1->v2:
 - constify ttu flags in try_to_unmap_hugetlb_one, move const variables up
 - Assert address passed to try_to_unmap_hugetlb_one equals pvmw.address
 - Patch 3: code and comment polishing, do the stat update in the function
 - Remove unnecessary inline hints, remove set_swp_pte_at, instead have
   swp_pte_prepare + set_ptes. Rename subpage -> page. constify
   anon_exclusive.
 - Do pte restoration in caller

Dev Jain (5):
  mm/rmap: convert page -> folio for hwpoison checks
  mm/rmap: Add try_to_unmap_hugetlb_one
  mm/rmap: refactor some code around lazyfree folio unmapping
  mm/rmap: refactor anon folio unmap in try_to_unmap_one
  mm/rmap: add anon folio unmap dispatcher

 include/linux/hugetlb.h |   1 +
 mm/rmap.c               | 415 ++++++++++++++++++++++------------------
 2 files changed, 232 insertions(+), 184 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-13  5:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-13  5:00 [PATCH v3 0/5] mm/rmap: Refactor try_to_unmap_one Dev Jain
2026-07-13  5:00 ` [PATCH v3 1/5] mm/rmap: convert page -> folio for hwpoison checks Dev Jain
2026-07-13  5:00 ` [PATCH v3 2/5] mm/rmap: Add try_to_unmap_hugetlb_one Dev Jain
2026-07-13  5:00 ` [PATCH v3 3/5] mm/rmap: refactor some code around lazyfree folio unmapping Dev Jain
2026-07-13  5:00 ` [PATCH v3 4/5] mm/rmap: refactor anon folio unmap in try_to_unmap_one Dev Jain
2026-07-13  5:00 ` [PATCH v3 5/5] mm/rmap: add anon folio unmap dispatcher Dev Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox