mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] mm/zswap: batch the writeback IO
@ 2026-10-07 15:34 Alexandre Ghiti
  2026-10-07 15:34 ` [PATCH 1/2] mm/zswap: batch the writeback IO of consecutive entries Alexandre Ghiti
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Alexandre Ghiti @ 2026-10-07 15:34 UTC (permalink / raw)
  To: linux-mm
  Cc: linux-kernel, Andrew Morton, Johannes Weiner, Yosry Ahmed,
	Nhat Pham, Chengming Zhou, Christoph Hellwig, Chris Li,
	Kairui Song

Since commit 8f29aa226f82 ("mm/swap: introduce struct swap_io_ctx"),
reclaim merges the swap writes of folios with consecutive slots into a
single bio, but zswap writeback still issues one IO per entry. Patch 1
makes each zswap LRU walk batch its writeback IO. Patch 2 plugs the
walk, so that the block layer can merge what the batch cannot.

Kernel build (defconfig, -j4) in a 600M memory.max cgroup with the zswap
shrinker enabled, swapping to an NVMe partition with iocost enabled,
next to a sibling fio random writer with 10 times its io.weight. Mean
+- stddev:

                                  before          after
  patch 1  build time (s)        2269 +- 50      2203 +- 62
           pages per request     1.08 +- 0.00    1.30 +- 0.02
  patch 2  build time (s)        2188 +- 45      2104 +- 75
           pages per request     1.30 +- 0.01    1.35 +- 0.02

Alexandre Ghiti (2):
  mm/zswap: batch the writeback IO of consecutive entries
  mm/zswap: plug the writeback IO of an LRU walk

 mm/zswap.c | 54 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 43 insertions(+), 11 deletions(-)


base-commit: 3fa97dbf7e37bff1e4dbe8bfd026c1b4a13e186e
-- 
2.53.0-Meta


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

end of thread, other threads:[~2026-10-09  6:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-07 15:34 [PATCH 0/2] mm/zswap: batch the writeback IO Alexandre Ghiti
2026-10-07 15:34 ` [PATCH 1/2] mm/zswap: batch the writeback IO of consecutive entries Alexandre Ghiti
2026-10-09  6:34   ` Nhat Pham
2026-10-07 15:34 ` [PATCH 2/2] mm/zswap: plug the writeback IO of an LRU walk Alexandre Ghiti
2026-10-09  6:36   ` Nhat Pham
2026-10-08 10:04 ` [PATCH 0/2] mm/zswap: batch the writeback IO Christoph Hellwig

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

all inboxes | Powered by JetHome®