* [PATCH 0/6] mm/page_io: folio conversion cleanups
@ 2026-08-06 22:55 Tal Zussman
2026-08-06 22:55 ` [PATCH 1/6] mm/page_io: convert write completion handlers to folios Tal Zussman
` (5 more replies)
0 siblings, 6 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
Convert the remaining struct page usage in mm/page_io.c to folios. This
removes one of the last callers of end_page_writeback(), along with the
last caller of ClearPageReclaim(). This allows us to remove the
PG_reclaim page accessors entirely. Clean up a few other stale
references to pages throughout while at it.
---
Tal Zussman (6):
mm/page_io: convert write completion handlers to folios
mm: remove PageReclaim
mm/page_io: use swap entries directly in zeromap helpers
mm/page_io: rename bio_associate_blkg_from_page()
mm/page_io: refer to folios in swap_writeout() comments
mm/swap: rename __swap_writepage() to __swap_writeout()
include/linux/page-flags.h | 4 ++--
mm/page_io.c | 38 ++++++++++++++++++++------------------
mm/swap.h | 2 +-
mm/swapfile.c | 2 +-
mm/zswap.c | 2 +-
5 files changed, 25 insertions(+), 23 deletions(-)
---
base-commit: 1fb556c523f6c18b43b1f52fb366f61c9963ce06
change-id: 20260806-b4-page_io-folios-5980317b0bd5
Best regards,
--
Tal Zussman <tz2294@columbia.edu>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 1/6] mm/page_io: convert write completion handlers to folios
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 16:49 ` Johannes Weiner
2026-08-06 22:55 ` [PATCH 2/6] mm: remove PageReclaim Tal Zussman
` (4 subsequent siblings)
5 siblings, 1 reply; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
Convert swap_write_end() and swap_fs_write_complete() to operate on
folios directly instead of going through the folio-compat page APIs.
This removes calls to end_page_writeback() and set_page_dirty(), and the
last caller of ClearPageReclaim(), saving two calls to compound_head()
per folio on the write error path.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
mm/page_io.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index e4fa7ffffe8b..43b4383a4729 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -496,13 +496,13 @@ static void swap_write_end(struct swap_iocb *sio, bool failed)
int p;
for (p = 0; p < sio->nr_bvecs; p++) {
- struct page *page = sio->bvecs[p].bv_page;
+ struct folio *folio = bvec_folio(&sio->bvecs[p]);
if (failed) {
- set_page_dirty(page);
- ClearPageReclaim(page);
+ folio_mark_dirty(folio);
+ folio_clear_reclaim(folio);
}
- end_page_writeback(page);
+ folio_end_writeback(folio);
}
mempool_free(sio, sio_pool);
}
@@ -513,16 +513,16 @@ static void swap_fs_write_complete(struct kiocb *iocb, long ret)
bool failed = ret != sio->len;
if (failed) {
- struct page *page = sio->bvecs[0].bv_page;
+ struct folio *folio = bvec_folio(&sio->bvecs[0]);
/*
* In the case of swap-over-nfs, this can be a temporary failure
* if the system has limited memory for allocating transmit
- * buffers. Mark the page dirty and avoid
+ * buffers. Mark the folio dirty and avoid
* folio_rotate_reclaimable but rate-limit the messages.
*/
pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
- ret, swap_dev_pos(page_swap_entry(page)));
+ ret, swap_dev_pos(folio->swap));
}
swap_write_end(sio, failed);
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 2/6] mm: remove PageReclaim
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
2026-08-06 22:55 ` [PATCH 1/6] mm/page_io: convert write completion handlers to folios Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 16:50 ` Johannes Weiner
2026-08-07 18:48 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Tal Zussman
` (3 subsequent siblings)
5 siblings, 2 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
This flag is now only used on folios, so we can remove all the page
accessors.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
include/linux/page-flags.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 7a863572adce..4cc83f41ef09 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -593,8 +593,8 @@ TESTPAGEFLAG(Writeback, writeback, PF_NO_TAIL)
FOLIO_FLAG(mappedtodisk, FOLIO_HEAD_PAGE)
/* PG_readahead is only used for reads; PG_reclaim is only for writes */
-PAGEFLAG(Reclaim, reclaim, PF_NO_TAIL)
- TESTCLEARFLAG(Reclaim, reclaim, PF_NO_TAIL)
+FOLIO_FLAG(reclaim, FOLIO_HEAD_PAGE)
+ FOLIO_TEST_CLEAR_FLAG(reclaim, FOLIO_HEAD_PAGE)
FOLIO_FLAG(readahead, FOLIO_HEAD_PAGE)
FOLIO_TEST_CLEAR_FLAG(readahead, FOLIO_HEAD_PAGE)
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
2026-08-06 22:55 ` [PATCH 1/6] mm/page_io: convert write completion handlers to folios Tal Zussman
2026-08-06 22:55 ` [PATCH 2/6] mm: remove PageReclaim Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:50 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Tal Zussman
` (2 subsequent siblings)
5 siblings, 2 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
Increment swp_entry_t::val directly instead of recomputing each entry
with page_swap_entry(). This removes the last struct page usage in
page_io.c and saves one call to compound_head() per page.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
mm/page_io.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index 43b4383a4729..c6d0949b3f1e 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -159,7 +159,7 @@ static void swap_zeromap_folio_set(struct folio *folio)
struct obj_cgroup *objcg = get_obj_cgroup_from_folio(folio);
int nr_pages = folio_nr_pages(folio);
struct swap_cluster_info *ci;
- swp_entry_t entry;
+ swp_entry_t entry = folio->swap;
unsigned int i;
VM_WARN_ON_ONCE_FOLIO(!folio_test_swapcache(folio), folio);
@@ -167,8 +167,8 @@ static void swap_zeromap_folio_set(struct folio *folio)
ci = swap_cluster_get_and_lock(folio);
for (i = 0; i < folio_nr_pages(folio); i++) {
- entry = page_swap_entry(folio_page(folio, i));
__swap_table_set_zero(ci, swp_cluster_offset(entry));
+ entry.val++;
}
swap_cluster_unlock(ci);
@@ -182,7 +182,7 @@ static void swap_zeromap_folio_set(struct folio *folio)
static void swap_zeromap_folio_clear(struct folio *folio)
{
struct swap_cluster_info *ci;
- swp_entry_t entry;
+ swp_entry_t entry = folio->swap;
unsigned int i;
VM_WARN_ON_ONCE_FOLIO(!folio_test_swapcache(folio), folio);
@@ -190,8 +190,8 @@ static void swap_zeromap_folio_clear(struct folio *folio)
ci = swap_cluster_get_and_lock(folio);
for (i = 0; i < folio_nr_pages(folio); i++) {
- entry = page_swap_entry(folio_page(folio, i));
__swap_table_clear_zero(ci, swp_cluster_offset(entry));
+ entry.val++;
}
swap_cluster_unlock(ci);
}
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page()
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
` (2 preceding siblings ...)
2026-08-06 22:55 ` [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:56 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Tal Zussman
2026-08-06 22:55 ` [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Tal Zussman
5 siblings, 2 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
This function takes a folio. Rename it to
bio_associate_blkg_from_folio() accordingly. While at it, convert the
macro in the !CONFIG_MEMCG || !CONFIG_BLK_CGROUP case to a function.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
mm/page_io.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index c6d0949b3f1e..8573f7b8967a 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -276,7 +276,7 @@ static bool folio_blkg_can_merge(struct folio *folio, struct folio *prev_folio)
return can_merge;
}
-static void bio_associate_blkg_from_page(struct bio *bio, struct folio *folio)
+static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *folio)
{
struct cgroup_subsys_state *css;
@@ -297,7 +297,9 @@ static bool folio_blkg_can_merge(struct folio *folio, struct folio *prev_folio)
{
return true;
}
-#define bio_associate_blkg_from_page(bio, folio) do { } while (0)
+static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *folio)
+{
+}
#endif /* CONFIG_MEMCG && CONFIG_BLK_CGROUP */
struct swap_iocb {
@@ -595,7 +597,7 @@ static void swap_bdev_submit_write(struct swap_io_ctx *ctx)
REQ_OP_WRITE | REQ_SWAP);
bio->bi_iter.bi_size = sio->len;
bio->bi_iter.bi_sector = swap_folio_sector(bio_first_folio_all(bio));
- bio_associate_blkg_from_page(bio, bio_first_folio_all(bio));
+ bio_associate_blkg_from_folio(bio, bio_first_folio_all(bio));
if (ctx->sis->flags & SWP_SYNCHRONOUS_IO) {
submit_bio_wait(bio);
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
` (3 preceding siblings ...)
2026-08-06 22:55 ` [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 16:54 ` Johannes Weiner
2026-08-07 18:59 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Tal Zussman
5 siblings, 2 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
swap_writeout() operates on folios, not pages. Update its comments
accordingly.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
mm/page_io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index 8573f7b8967a..b18d3b7d853c 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -208,7 +208,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio *folio)
goto out_unlock;
/*
- * Arch code may have to preserve more data than just the page
+ * Arch code may have to preserve more data than just the folio
* contents, e.g. memory tags.
*/
ret = arch_prepare_to_swap(folio);
@@ -219,7 +219,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio *folio)
/*
* Use the swap table zero mark to avoid doing IO for zero-filled
- * pages. The zero mark is protected by the cluster lock, which is
+ * folios. The zero mark is protected by the cluster lock, which is
* acquired internally by swap_zeromap_folio_set/clear.
*/
if (is_folio_zero_filled(folio)) {
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout()
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
` (4 preceding siblings ...)
2026-08-06 22:55 ` [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Tal Zussman
@ 2026-08-06 22:55 ` Tal Zussman
2026-08-07 17:01 ` Johannes Weiner
2026-08-07 19:06 ` Matthew Wilcox
5 siblings, 2 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-06 22:55 UTC (permalink / raw)
To: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Johannes Weiner, Yosry Ahmed, Chengming Zhou
Cc: linux-mm, linux-kernel, Tal Zussman
Commit 84798514db50 ("mm: Remove swap_writepage() and
shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename
__swap_writepage(), which operates on a folio, to match its caller.
Update a stale reference to swap_writepage() in swapfile.c as well.
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
---
mm/page_io.c | 4 ++--
mm/swap.h | 2 +-
mm/swapfile.c | 2 +-
mm/zswap.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index b18d3b7d853c..e2a269425ac5 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -247,7 +247,7 @@ int swap_writeout(struct swap_io_ctx *ctx, struct folio *folio)
}
rcu_read_unlock();
- __swap_writepage(ctx, folio);
+ __swap_writeout(ctx, folio);
return 0;
out_unlock:
folio_unlock(folio);
@@ -368,7 +368,7 @@ static void swap_add_folio(struct swap_io_ctx *ctx, struct folio *folio, int rw)
}
}
-void __swap_writepage(struct swap_io_ctx *ctx, struct folio *folio)
+void __swap_writeout(struct swap_io_ctx *ctx, struct folio *folio)
{
VM_BUG_ON_FOLIO(!folio_test_swapcache(folio), folio);
diff --git a/mm/swap.h b/mm/swap.h
index ec580c713204..c3ff9132de5e 100644
--- a/mm/swap.h
+++ b/mm/swap.h
@@ -279,7 +279,7 @@ void swap_read_folio(struct swap_io_ctx *ctx, struct folio *folio);
void swap_read_submit(struct swap_io_ctx *ctx);
void swap_write_submit(struct swap_io_ctx *ctx);
int swap_writeout(struct swap_io_ctx *ctx, struct folio *folio);
-void __swap_writepage(struct swap_io_ctx *ctx, struct folio *folio);
+void __swap_writeout(struct swap_io_ctx *ctx, struct folio *folio);
/* linux/mm/swap_state.c */
extern struct address_space swap_space __read_mostly;
diff --git a/mm/swapfile.c b/mm/swapfile.c
index dea2d3b36e06..2ff6de0a8c36 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2982,7 +2982,7 @@ EXPORT_SYMBOL_GPL(add_swap_extent);
/*
* A `swap extent' is a simple thing which maps a contiguous range of pages
* onto a contiguous range of disk blocks. A rbtree of swap extents is
- * built at swapon time and is then used at swap_writepage/swap_read_folio
+ * built at swapon time and is then used at swap_writeout/swap_read_folio
* time for locating where on disk a page belongs.
*
* If the swapfile is an S_ISBLK block device, a single extent is installed.
diff --git a/mm/zswap.c b/mm/zswap.c
index f7c9c89f6449..38cb6a8318a5 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -1050,7 +1050,7 @@ static int zswap_writeback_entry(struct zswap_entry *entry,
folio_set_reclaim(folio);
/* start writeback */
- __swap_writepage(&ctx, folio);
+ __swap_writeout(&ctx, folio);
swap_write_submit(&ctx);
out:
--
2.39.5
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] mm/page_io: convert write completion handlers to folios
2026-08-06 22:55 ` [PATCH 1/6] mm/page_io: convert write completion handlers to folios Tal Zussman
@ 2026-08-07 16:49 ` Johannes Weiner
2026-08-07 18:42 ` Matthew Wilcox
0 siblings, 1 reply; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 16:49 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:33PM -0400, Tal Zussman wrote:
> Convert swap_write_end() and swap_fs_write_complete() to operate on
> folios directly instead of going through the folio-compat page APIs.
> This removes calls to end_page_writeback() and set_page_dirty(), and the
> last caller of ClearPageReclaim(), saving two calls to compound_head()
> per folio on the write error path.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Also the last end_page_writeback() user in mm/ :) Nice.
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] mm: remove PageReclaim
2026-08-06 22:55 ` [PATCH 2/6] mm: remove PageReclaim Tal Zussman
@ 2026-08-07 16:50 ` Johannes Weiner
2026-08-07 18:48 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 16:50 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:34PM -0400, Tal Zussman wrote:
> This flag is now only used on folios, so we can remove all the page
> accessors.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers
2026-08-06 22:55 ` [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Tal Zussman
@ 2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:50 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 16:53 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:35PM -0400, Tal Zussman wrote:
> Increment swp_entry_t::val directly instead of recomputing each entry
> with page_swap_entry(). This removes the last struct page usage in
> page_io.c and saves one call to compound_head() per page.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
...plus that unholy dance in folio_page_idx() for every +1.
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page()
2026-08-06 22:55 ` [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Tal Zussman
@ 2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:56 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 16:53 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:36PM -0400, Tal Zussman wrote:
> This function takes a folio. Rename it to
> bio_associate_blkg_from_folio() accordingly. While at it, convert the
> macro in the !CONFIG_MEMCG || !CONFIG_BLK_CGROUP case to a function.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments
2026-08-06 22:55 ` [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Tal Zussman
@ 2026-08-07 16:54 ` Johannes Weiner
2026-08-07 18:59 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 16:54 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:37PM -0400, Tal Zussman wrote:
> swap_writeout() operates on folios, not pages. Update its comments
> accordingly.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout()
2026-08-06 22:55 ` [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Tal Zussman
@ 2026-08-07 17:01 ` Johannes Weiner
2026-08-07 19:05 ` Matthew Wilcox
2026-08-07 19:44 ` Tal Zussman
2026-08-07 19:06 ` Matthew Wilcox
1 sibling, 2 replies; 23+ messages in thread
From: Johannes Weiner @ 2026-08-07 17:01 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:38PM -0400, Tal Zussman wrote:
> Commit 84798514db50 ("mm: Remove swap_writepage() and
> shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename
> __swap_writepage(), which operates on a folio, to match its caller.
> Update a stale reference to swap_writepage() in swapfile.c as well.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Looking at that commit, I can only guess that pageout() had an
influence on the swap_writeout() name.
However, on the read side of the page_io.c API, we're following
swap_read_folio* consistently.
[__]swap_write_folio* would seem more symmetrical?
[ At the risk of starting something, should the file itself be
renamed? swap_rw.c or swap_io.c or something. ]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] mm/page_io: convert write completion handlers to folios
2026-08-07 16:49 ` Johannes Weiner
@ 2026-08-07 18:42 ` Matthew Wilcox
0 siblings, 0 replies; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 18:42 UTC (permalink / raw)
To: Johannes Weiner
Cc: Tal Zussman, Andrew Morton, Chris Li, Kairui Song, Kemeng Shi,
Nhat Pham, Baoquan He, Barry Song, Youngjun Park,
David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
Vlastimil Babka, Mike Rapoport, Suren Baghdasaryan, Michal Hocko,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Fri, Aug 07, 2026 at 12:49:49PM -0400, Johannes Weiner wrote:
> On Thu, Aug 06, 2026 at 06:55:33PM -0400, Tal Zussman wrote:
> > Convert swap_write_end() and swap_fs_write_complete() to operate on
> > folios directly instead of going through the folio-compat page APIs.
> > This removes calls to end_page_writeback() and set_page_dirty(), and the
> > last caller of ClearPageReclaim(), saving two calls to compound_head()
> > per folio on the write error path.
> >
> > Signed-off-by: Tal Zussman <tz2294@columbia.edu>
>
> Also the last end_page_writeback() user in mm/ :) Nice.
And some uses of bv_page ;-) This is just good stuff all around.
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] mm: remove PageReclaim
2026-08-06 22:55 ` [PATCH 2/6] mm: remove PageReclaim Tal Zussman
2026-08-07 16:50 ` Johannes Weiner
@ 2026-08-07 18:48 ` Matthew Wilcox
2026-08-07 19:27 ` Tal Zussman
1 sibling, 1 reply; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 18:48 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:34PM -0400, Tal Zussman wrote:
> This flag is now only used on folios, so we can remove all the page
> accessors.
And we don't use folio_test_clear_reclaim() at all (it's mentioned in
a comment, but that's it), so we can drop that line entirely.
> -PAGEFLAG(Reclaim, reclaim, PF_NO_TAIL)
> - TESTCLEARFLAG(Reclaim, reclaim, PF_NO_TAIL)
> +FOLIO_FLAG(reclaim, FOLIO_HEAD_PAGE)
> + FOLIO_TEST_CLEAR_FLAG(reclaim, FOLIO_HEAD_PAGE)
With that last line removed,
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers
2026-08-06 22:55 ` [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
@ 2026-08-07 18:50 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 18:50 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:35PM -0400, Tal Zussman wrote:
> Increment swp_entry_t::val directly instead of recomputing each entry
> with page_swap_entry(). This removes the last struct page usage in
> page_io.c and saves one call to compound_head() per page.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page()
2026-08-06 22:55 ` [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
@ 2026-08-07 18:56 ` Matthew Wilcox
2026-08-07 19:30 ` Tal Zussman
1 sibling, 1 reply; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 18:56 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:36PM -0400, Tal Zussman wrote:
> This function takes a folio. Rename it to
> bio_associate_blkg_from_folio() accordingly. While at it, convert the
> macro in the !CONFIG_MEMCG || !CONFIG_BLK_CGROUP case to a function.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> -static void bio_associate_blkg_from_page(struct bio *bio, struct folio *folio)
> +static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *folio)
It's s shame this isn't const-qualified (after all, we don't modify the folio).
That needs folio_memcg_charged() to take a const folio pointer, which it
could. And folio_memcg_blkg_css() and folio_memcg(). That's a followup
patch though.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments
2026-08-06 22:55 ` [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Tal Zussman
2026-08-07 16:54 ` Johannes Weiner
@ 2026-08-07 18:59 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 18:59 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:37PM -0400, Tal Zussman wrote:
> swap_writeout() operates on folios, not pages. Update its comments
> accordingly.
Sloppy of me. Thanks for catching.
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout()
2026-08-07 17:01 ` Johannes Weiner
@ 2026-08-07 19:05 ` Matthew Wilcox
2026-08-07 19:44 ` Tal Zussman
1 sibling, 0 replies; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 19:05 UTC (permalink / raw)
To: Johannes Weiner
Cc: Tal Zussman, Andrew Morton, Chris Li, Kairui Song, Kemeng Shi,
Nhat Pham, Baoquan He, Barry Song, Youngjun Park,
David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
Vlastimil Babka, Mike Rapoport, Suren Baghdasaryan, Michal Hocko,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Fri, Aug 07, 2026 at 01:01:08PM -0400, Johannes Weiner wrote:
> On Thu, Aug 06, 2026 at 06:55:38PM -0400, Tal Zussman wrote:
> > Commit 84798514db50 ("mm: Remove swap_writepage() and
> > shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename
> > __swap_writepage(), which operates on a folio, to match its caller.
> > Update a stale reference to swap_writepage() in swapfile.c as well.
> >
> > Signed-off-by: Tal Zussman <tz2294@columbia.edu>
>
> Looking at that commit, I can only guess that pageout() had an
> influence on the swap_writeout() name.
>
> However, on the read side of the page_io.c API, we're following
> swap_read_folio* consistently.
>
> [__]swap_write_folio* would seem more symmetrical?
I wanted to be sure that filesystem authors see this as something unusual
rather than something they should implement as a counterpart to their
read_folio operation. So it was intentionally asymmetric. I'm open
to discussion of better names, but my hope is that we get closer to the
'do direct IO' model and shmem doesn't need to swizzle its folios into
the swapcache to get them into the swap system.
> [ At the risk of starting something, should the file itself be
> renamed? swap_rw.c or swap_io.c or something. ]
I'm not opposed to that either!
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout()
2026-08-06 22:55 ` [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Tal Zussman
2026-08-07 17:01 ` Johannes Weiner
@ 2026-08-07 19:06 ` Matthew Wilcox
1 sibling, 0 replies; 23+ messages in thread
From: Matthew Wilcox @ 2026-08-07 19:06 UTC (permalink / raw)
To: Tal Zussman
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On Thu, Aug 06, 2026 at 06:55:38PM -0400, Tal Zussman wrote:
> Commit 84798514db50 ("mm: Remove swap_writepage() and
> shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename
> __swap_writepage(), which operates on a folio, to match its caller.
> Update a stale reference to swap_writepage() in swapfile.c as well.
>
> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] mm: remove PageReclaim
2026-08-07 18:48 ` Matthew Wilcox
@ 2026-08-07 19:27 ` Tal Zussman
0 siblings, 0 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-07 19:27 UTC (permalink / raw)
To: Matthew Wilcox
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On 8/7/26 2:48 PM, Matthew Wilcox wrote:
> On Thu, Aug 06, 2026 at 06:55:34PM -0400, Tal Zussman wrote:
>> This flag is now only used on folios, so we can remove all the page
>> accessors.
>
> And we don't use folio_test_clear_reclaim() at all (it's mentioned in
> a comment, but that's it), so we can drop that line entirely.
>
Aha, I missed that - even better.
>> -PAGEFLAG(Reclaim, reclaim, PF_NO_TAIL)
>> - TESTCLEARFLAG(Reclaim, reclaim, PF_NO_TAIL)
>> +FOLIO_FLAG(reclaim, FOLIO_HEAD_PAGE)
>> + FOLIO_TEST_CLEAR_FLAG(reclaim, FOLIO_HEAD_PAGE)
>
> With that last line removed,
>
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
>
Thanks!
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page()
2026-08-07 18:56 ` Matthew Wilcox
@ 2026-08-07 19:30 ` Tal Zussman
0 siblings, 0 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-07 19:30 UTC (permalink / raw)
To: Matthew Wilcox
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Christoph Hellwig,
Johannes Weiner, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On 8/7/26 2:56 PM, Matthew Wilcox wrote:
> On Thu, Aug 06, 2026 at 06:55:36PM -0400, Tal Zussman wrote:
>> This function takes a folio. Rename it to
>> bio_associate_blkg_from_folio() accordingly. While at it, convert the
>> macro in the !CONFIG_MEMCG || !CONFIG_BLK_CGROUP case to a function.
>>
>> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
>
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
>
>> -static void bio_associate_blkg_from_page(struct bio *bio, struct folio *folio)
>> +static void bio_associate_blkg_from_folio(struct bio *bio, struct folio *folio)
>
> It's s shame this isn't const-qualified (after all, we don't modify the folio).
> That needs folio_memcg_charged() to take a const folio pointer, which it
> could. And folio_memcg_blkg_css() and folio_memcg(). That's a followup
> patch though.
>
I had the same thought when looking at this and went all the way down the
callchain to dump_page(). I didn't want to flood the list with patches, but
happy to send a couple follow-up patches once this is in mm-new.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout()
2026-08-07 17:01 ` Johannes Weiner
2026-08-07 19:05 ` Matthew Wilcox
@ 2026-08-07 19:44 ` Tal Zussman
1 sibling, 0 replies; 23+ messages in thread
From: Tal Zussman @ 2026-08-07 19:44 UTC (permalink / raw)
To: Johannes Weiner
Cc: Andrew Morton, Chris Li, Kairui Song, Kemeng Shi, Nhat Pham,
Baoquan He, Barry Song, Youngjun Park, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Matthew Wilcox,
Christoph Hellwig, Yosry Ahmed, Chengming Zhou, linux-mm,
linux-kernel
On 8/7/26 1:01 PM, Johannes Weiner wrote:
> On Thu, Aug 06, 2026 at 06:55:38PM -0400, Tal Zussman wrote:
>> Commit 84798514db50 ("mm: Remove swap_writepage() and
>> shmem_writepage()") renamed swap_writepage() to swap_writeout(). Rename
>> __swap_writepage(), which operates on a folio, to match its caller.
>> Update a stale reference to swap_writepage() in swapfile.c as well.
>>
>> Signed-off-by: Tal Zussman <tz2294@columbia.edu>
>
Thanks for the reviews!
> Looking at that commit, I can only guess that pageout() had an
> influence on the swap_writeout() name.
>
> However, on the read side of the page_io.c API, we're following
> swap_read_folio* consistently.
>
> [__]swap_write_folio* would seem more symmetrical?
>
That sounds reasonable, will change it.
> [ At the risk of starting something, should the file itself be
> renamed? swap_rw.c or swap_io.c or something. ]
>
You said it, not me... :)
I like swap_io.c - happy to stick a patch at the beginning renaming it
if there are no objections.
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2026-08-08 1:59 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06 22:55 [PATCH 0/6] mm/page_io: folio conversion cleanups Tal Zussman
2026-08-06 22:55 ` [PATCH 1/6] mm/page_io: convert write completion handlers to folios Tal Zussman
2026-08-07 16:49 ` Johannes Weiner
2026-08-07 18:42 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 2/6] mm: remove PageReclaim Tal Zussman
2026-08-07 16:50 ` Johannes Weiner
2026-08-07 18:48 ` Matthew Wilcox
2026-08-07 19:27 ` Tal Zussman
2026-08-06 22:55 ` [PATCH 3/6] mm/page_io: use swap entries directly in zeromap helpers Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:50 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 4/6] mm/page_io: rename bio_associate_blkg_from_page() Tal Zussman
2026-08-07 16:53 ` Johannes Weiner
2026-08-07 18:56 ` Matthew Wilcox
2026-08-07 19:30 ` Tal Zussman
2026-08-06 22:55 ` [PATCH 5/6] mm/page_io: refer to folios in swap_writeout() comments Tal Zussman
2026-08-07 16:54 ` Johannes Weiner
2026-08-07 18:59 ` Matthew Wilcox
2026-08-06 22:55 ` [PATCH 6/6] mm/swap: rename __swap_writepage() to __swap_writeout() Tal Zussman
2026-08-07 17:01 ` Johannes Weiner
2026-08-07 19:05 ` Matthew Wilcox
2026-08-07 19:44 ` Tal Zussman
2026-08-07 19:06 ` Matthew Wilcox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox