* [merged mm-stable] mm-page_io-convert-write-completion-handlers-to-folios.patch removed from -mm tree
@ 2026-10-07 0:50 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2026-10-07 0:50 UTC (permalink / raw)
To: mm-commits, willy, vbabka, surenb, shikemeng, rppt, nphamcs,
mhocko, ljs, liam, kasong, hch, hannes, david, chrisl,
chengming.zhou, baoquan.he, baohua, tz2294, akpm
The quilt patch titled
Subject: mm/page_io: convert write completion handlers to folios
has been removed from the -mm tree. Its filename was
mm-page_io-convert-write-completion-handlers-to-folios.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Tal Zussman <tz2294@columbia.edu>
Subject: mm/page_io: convert write completion handlers to folios
Date: Sat, 29 Aug 2026 15:09:00 -0400
Patch series "mm/page_io: folio conversion cleanups", v2.
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.
The rename of mm/page_io.c to mm/swap_io.c is deferred to a separate
series.
This patch (of 6):
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.
Link: https://lore.kernel.org/20260829-b4-page_io-folios-v2-0-649728091117@columbia.edu
Link: https://lore.kernel.org/20260829-b4-page_io-folios-v2-1-649728091117@columbia.edu
Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Cc: Baoquan He <baoquan.he@linux.dev>
Cc: Barry Song <baohua@kernel.org>
Cc: Chengming Zhou <chengming.zhou@linux.dev>
Cc: Chris Li <chrisl@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: David Hildenbrand <david@kernel.org>
Cc: Kairui Song <kasong@tencent.com>
Cc: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Nhat Pham <nphamcs@gmail.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
---
mm/page_io.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- a/mm/page_io.c~mm-page_io-convert-write-completion-handlers-to-folios
+++ a/mm/page_io.c
@@ -497,13 +497,13 @@ static void swap_write_end(struct swap_i
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);
}
@@ -514,16 +514,16 @@ static void swap_fs_write_complete(struc
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);
_
Patches currently in -mm which might be from tz2294@columbia.edu are
mm-remove-pagewriteback.patch
mm-swap-add-folio_swap_entry-and-folio_page_swap_entry.patch
mm-swap-add-folio_swap_entry-and-folio_page_swap_entry-fix.patch
mm-huge_memory-add-a-comment-to-the-open-coded-swap-entry.patch
mm-rmap-use-folio_page_swap_entry-in-ttu_anon_swapbacked_folio.patch
mm-zswap-use-folio_swap_entry-in-zswap_store_page.patch
mm-swapfile-use-folio_page_swap_entry.patch
arm64-mte-make-mte_save_tags-and-mte_restore_tags-static.patch
arm64-mte-pass-the-swap-entry-to-mte_save_tags.patch
mm-swap-remove-page_swap_entry.patch
mm-memcontrol-take-a-const-folio-in-folio_memcg-and-friends.patch
mm-memcontrol-constify-obj_cgroup_memcg-and-friends.patch
mm-memcontrol-constify-the-lruvec-helpers.patch
mm-page_io-take-a-const-folio-in-bio_associate_blkg_from_folio.patch
mm-memcontrol-constify-the-mem_cgroup-accessors.patch
mm-page_counter-constify-page_counter_read-and-page_counter_margin.patch
mm-memcontrol-constify-the-reclaim-protection-helpers.patch
mm-memcontrol-constify-the-memcg-and-lruvec-stat-readers.patch
mm-memcontrol-constify-the-swap-accounting-helpers.patch
mm-memcontrol-constify-mem_cgroup_swappiness-and-mem_cgroup_get_max.patch
mm-memcontrol-constify-the-zswap-and-socket-pressure-helpers.patch
vmcore-convert-mmap_vmcore_fault-to-use-folios.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-07 0:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-07 0:50 [merged mm-stable] mm-page_io-convert-write-completion-handlers-to-folios.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.