Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/8] mm: remove page_swap_entry()
@ 2026-09-08 15:16 Tal Zussman
  2026-09-08 15:16 ` [PATCH v2 1/8] mm/swap: add folio_swap_entry() and folio_page_swap_entry() Tal Zussman
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Tal Zussman @ 2026-09-08 15:16 UTC (permalink / raw)
  To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
	Baoquan He, Barry Song, Youngjun Park, David Hildenbrand, Zi Yan,
	Baolin Wang, Liam R. Howlett, Nico Pache, Ryan Roberts, Dev Jain,
	Lance Yang, Usama Arif, Kiryl Shutsemau, Lorenzo Stoakes,
	Rik van Riel, Vlastimil Babka, Harry Yoo, Jann Horn,
	Johannes Weiner, Yosry Ahmed, Chengming Zhou, Catalin Marinas,
	Will Deacon, Mark Rutland
  Cc: linux-mm, linux-kernel, linux-arm-kernel, Tal Zussman

A folio in the swap cache occupies folio_nr_pages() contiguous swap
entries starting at folio->swap, so a page's swap entry is just
folio->swap plus the page's index in the folio. The swap entry is
folio state, but the only helper for it is page-based:
page_swap_entry() takes a page and recomputes the folio its callers
already hold. Several callers avoid it by open-coding the arithmetic
on folio->swap instead.

Add folio_swap_entry() and folio_page_swap_entry(), convert all users,
and remove page_swap_entry(), with a few other cleanups along the way.

---
Changes in v2:
- Keep the swap entry computation in __split_folio_to_order() open-coded
  and add a comment, per Zi Yan.
- Reduce the zswap patch to using folio_swap_entry(), as the folio
  conversion landed separately.
- Link to v1: https://patch.msgid.link/20260830-folio_swap_entry-v1-0-7786b52acbc8@columbia.edu

---
Tal Zussman (8):
      mm/swap: add folio_swap_entry() and folio_page_swap_entry()
      mm/huge_memory: add a comment to the open-coded swap entry
      mm/rmap: use folio_page_swap_entry() in ttu_anon_swapbacked_folio()
      mm/zswap: use folio_swap_entry() in zswap_store_page()
      mm/swapfile: use folio_page_swap_entry()
      arm64: mte: make mte_save_tags() and mte_restore_tags() static
      arm64: mte: pass the swap entry to mte_save_tags()
      mm/swap: remove page_swap_entry()

 arch/arm64/include/asm/mte.h |  2 --
 arch/arm64/mm/mteswap.c      | 32 ++++++++++++++------------------
 include/linux/swap.h         | 30 +++++++++++++++++++++++++++---
 mm/huge_memory.c             |  4 ++++
 mm/rmap.c                    |  2 +-
 mm/swapfile.c                |  4 ++--
 mm/zswap.c                   |  3 +--
 7 files changed, 49 insertions(+), 28 deletions(-)
---
base-commit: 9d3243fc689fef444f87e0a703b4c99653137e1b
change-id: 20260807-folio_swap_entry-e53d68610de0

Best regards,
--  
Tal Zussman <tz2294@columbia.edu>



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

end of thread, other threads:[~2026-09-09 17:25 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-08 15:16 [PATCH v2 0/8] mm: remove page_swap_entry() Tal Zussman
2026-09-08 15:16 ` [PATCH v2 1/8] mm/swap: add folio_swap_entry() and folio_page_swap_entry() Tal Zussman
2026-09-09 14:00   ` David Hildenbrand (Arm)
2026-09-09 17:21     ` Tal Zussman
2026-09-09 17:25       ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 2/8] mm/huge_memory: add a comment to the open-coded swap entry Tal Zussman
2026-09-08 15:26   ` Zi Yan
2026-09-09 13:52   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 3/8] mm/rmap: use folio_page_swap_entry() in ttu_anon_swapbacked_folio() Tal Zussman
2026-09-09 14:00   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 4/8] mm/zswap: use folio_swap_entry() in zswap_store_page() Tal Zussman
2026-09-09 14:00   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 5/8] mm/swapfile: use folio_page_swap_entry() Tal Zussman
2026-09-09 14:01   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 6/8] arm64: mte: make mte_save_tags() and mte_restore_tags() static Tal Zussman
2026-09-09 14:01   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 7/8] arm64: mte: pass the swap entry to mte_save_tags() Tal Zussman
2026-09-09 14:06   ` David Hildenbrand (Arm)
2026-09-08 15:16 ` [PATCH v2 8/8] mm/swap: remove page_swap_entry() Tal Zussman
2026-09-09 14:06   ` David Hildenbrand (Arm)
2026-09-08 17:55 ` [PATCH v2 0/8] mm: " Andrew Morton

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