The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v2 0/5] mm/rmap: Refactor try_to_unmap_one
@ 2026-07-10  5:59 Dev Jain
  2026-07-10  5:59 ` [PATCH v2 1/5] mm/rmap: convert page -> folio for hwpoison checks Dev Jain
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Dev Jain @ 2026-07-10  5:59 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.

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               | 420 ++++++++++++++++++++++------------------
 2 files changed, 237 insertions(+), 184 deletions(-)

-- 
2.43.0


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

end of thread, other threads:[~2026-07-11 12:15 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-10  5:59 [PATCH v2 0/5] mm/rmap: Refactor try_to_unmap_one Dev Jain
2026-07-10  5:59 ` [PATCH v2 1/5] mm/rmap: convert page -> folio for hwpoison checks Dev Jain
2026-07-10 12:22   ` David Hildenbrand (Arm)
2026-07-10 13:14     ` Dev Jain
2026-07-10  5:59 ` [PATCH v2 2/5] mm/rmap: Add try_to_unmap_hugetlb_one Dev Jain
2026-07-10 13:16   ` Dev Jain
2026-07-10  5:59 ` [PATCH v2 3/5] mm/rmap: refactor some code around lazyfree folio unmapping Dev Jain
2026-07-10  5:59 ` [PATCH v2 4/5] mm/rmap: refactor anon folio unmap in try_to_unmap_one Dev Jain
2026-07-10  5:59 ` [PATCH v2 5/5] mm/rmap: add anon folio unmap dispatcher Dev Jain
2026-07-10 12:27   ` David Hildenbrand (Arm)
2026-07-10 13:13     ` Dev Jain
2026-07-11  0:35       ` Andrew Morton
2026-07-11 12:14         ` Dev Jain

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