[PATCH v6 0/3] mm: clean up folio LRU and swap declarations
From: Jianyue Wu
Date: Tue Jun 30 2026 - 12:32:49 EST
The previous version moved the folio LRU helpers out of mm/swap.c in
one step. Based on review feedback from Johannes, Baoquan and Barry,
split the cleanup into smaller steps:
- move the page-cluster sysctl next to swap readahead in mm/swap_state.c
- rename mm/swap.c to mm/folio.c after the swap-specific bits move out
- move MM-internal reclaim declarations out of include/linux/swap.h
After this series, swap cache and swap-in readahead stay in mm/swap_state.c,
folio LRU helpers live in mm/folio.c, and MM-internal reclaim/workingset
declarations move from include/linux/swap.h to mm/internal.h (public LRU
helpers used outside mm/ remain in swap.h).
The first patch handles the swap-specific page-cluster state before the
file rename, so the rename commit only carries folio LRU code. The last
patch keeps the LRU helpers used outside mm/ in include/linux/swap.h and
moves the internal reclaim/workingset declarations to mm/internal.h.
This series is based on akpm/mm-unstable as of 2026-06-29
(81652c5a65d4).
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Chris Li <chrisl@xxxxxxxxxx>
To: Kairui Song <kasong@xxxxxxxxxxx>
To: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>
To: Nhat Pham <nphamcs@xxxxxxxxx>
To: Baoquan He <bhe@xxxxxxxxxx>
To: Barry Song <baohua@xxxxxxxxxx>
To: Youngjun Park <youngjun.park@xxxxxxx>
To: Qi Zheng <qi.zheng@xxxxxxxxx>
To: Shakeel Butt <shakeel.butt@xxxxxxxxx>
To: Axel Rasmussen <axelrasmussen@xxxxxxxxxx>
To: Yuanchu Xie <yuanchu@xxxxxxxxxx>
To: Wei Xu <weixugc@xxxxxxxxxx>
To: Johannes Weiner <hannes@xxxxxxxxxxx>
To: David Hildenbrand <david@xxxxxxxxxx>
To: Michal Hocko <mhocko@xxxxxxxxxx>
To: Lorenzo Stoakes <ljs@xxxxxxxxxx>
To: Liam R. Howlett <liam@xxxxxxxxxxxxx>
To: Vlastimil Babka <vbabka@xxxxxxxxxx>
To: Mike Rapoport <rppt@xxxxxxxxxx>
To: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: Michal Hocko <mhocko@xxxxxxxx>
To: Hugh Dickins <hughd@xxxxxxxxxx>
To: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
To: Jonathan Corbet <corbet@xxxxxxx>
To: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
Signed-off-by: Jianyue Wu <wujianyue000@xxxxxxxxx>
Changes in v6:
- Rename mm/swap.c to mm/folio.c instead of folio_lru.c.
- Link to v5: https://lore.kernel.org/r/20260630-ch-swap-series-plus-folio-lru-cleanup-v5-0-4627aba8ed1e@xxxxxxxxx
Changes in v5:
- Rebased onto akpm/mm-unstable (81652c5a65d4).
- Fix mm/swap.h for CONFIG_SWAP=n after rebase.
- Tested swap-in readahead on x86 with swap: vm.page-cluster present
and writable, swap in/out under anon memory pressure, page-cluster 0
and 3 paths, no oops in dmesg; run_vmtests.sh passed.
- Link to v4: https://lore.kernel.org/r/20260603-ch-swap-series-plus-folio-lru-cleanup-v4-0-ce0219e100d9@xxxxxxxxx
Changes in v4:
- Address Baoquan He's review on v3: align patch 2 subject with
rename-only scope; fix vm.rst sysctl documentation; refresh file
header comments in mm/folio_lru.c and swap.h declaration comments.
- Expand patch 1 commit message on CONFIG_SWAP=n vm.page-cluster
registration (also on CONFIG_SWAP=n kernels).
- Link to v3: https://lore.kernel.org/all/20260602-ch-swap-series-plus-folio-lru-cleanup-v3-0-5bbb567f8c99@xxxxxxxxx
---
Jianyue Wu (3):
mm/swap: colocate page-cluster sysctl with swap readahead
mm: rename swap.c to folio.c
mm: move reclaim-internal declarations out of swap.h
Documentation/admin-guide/sysctl/vm.rst | 3 --
Documentation/core-api/mm-api.rst | 2 +-
MAINTAINERS | 3 +-
include/linux/swap.h | 75 +++------------------------------
mm/Makefile | 2 +-
mm/{swap.c => folio.c} | 46 ++------------------
mm/internal.h | 67 +++++++++++++++++++++++++++++
mm/memfd.c | 1 +
mm/swap.h | 9 +++-
mm/swap_state.c | 37 ++++++++++++++++
mm/vmscan.c | 2 +-
11 files changed, 126 insertions(+), 121 deletions(-)
---
base-commit: 81652c5a65d4ae28e9b18c16ef917a40025c3653
change-id: 20260531-ch-swap-series-plus-folio-lru-cleanup-d9781c8332dc
Best regards,
--
Jianyue Wu <wujianyue000@xxxxxxxxx>