[PATCH v2 0/8] mm: remove page_swap_entry()
Tal Zussman
tz2294 at columbia.edu
Tue Sep 8 08:16:30 PDT 2026
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 at columbia.edu>
More information about the linux-arm-kernel
mailing list