linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCHv5 0/6] zram: introduce writeback bio batching
@ 2025-11-20 15:21 Sergey Senozhatsky
  2025-11-20 15:21 ` [RFC PATCHv5 1/6] " Sergey Senozhatsky
                   ` (6 more replies)
  0 siblings, 7 replies; 36+ messages in thread
From: Sergey Senozhatsky @ 2025-11-20 15:21 UTC (permalink / raw)
  To: Andrew Morton, Minchan Kim, Yuwen Chen, Richard Chang
  Cc: Brian Geffon, Fengyu Lian, linux-kernel, linux-mm, linux-block,
	Sergey Senozhatsky

RFC

This is a different approach compared to [1].  Instead of
using blk plug API to batch writeback bios, we just keep
submitting them and track available of done/idle requests
(we still use a pool of requests, to put a constraint on
memory usage).  The intuition is that blk plug API is good
for sequential IO patterns, but zram writeback is more
likely to use random IO patterns.

I only did minimal testing so far (in a VM).  More testing
(on real H/W) is needed, any help is highly appreciated.

[1] https://lore.kernel.org/linux-kernel/20251118073000.1928107-1-senozhatsky@chromium.org

v3 -> v4:
- do not use blk plug API

Sergey Senozhatsky (6):
  zram: introduce writeback bio batching
  zram: add writeback batch size device attr
  zram: take write lock in wb limit store handlers
  zram: drop wb_limit_lock
  zram: rework bdev block allocation
  zram: read slot block idx under slot lock

 drivers/block/zram/zram_drv.c | 470 ++++++++++++++++++++++++++--------
 drivers/block/zram/zram_drv.h |   2 +-
 2 files changed, 364 insertions(+), 108 deletions(-)

-- 
2.52.0.rc1.455.g30608eb744-goog



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

end of thread, other threads:[~2025-11-24 14:49 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-20 15:21 [RFC PATCHv5 0/6] zram: introduce writeback bio batching Sergey Senozhatsky
2025-11-20 15:21 ` [RFC PATCHv5 1/6] " Sergey Senozhatsky
2025-11-21  7:05   ` Yuwen Chen
2025-11-21  7:18     ` Sergey Senozhatsky
2025-11-21  7:40   ` Hannes Reinecke
2025-11-21  7:47     ` Sergey Senozhatsky
2025-11-20 15:21 ` [RFC PATCHv5 2/6] zram: add writeback batch size device attr Sergey Senozhatsky
2025-11-20 15:57   ` Brian Geffon
2025-11-21  1:56     ` Sergey Senozhatsky
2025-11-21  2:48   ` Sergey Senozhatsky
2025-11-20 15:21 ` [RFC PATCHv5 3/6] zram: take write lock in wb limit store handlers Sergey Senozhatsky
2025-11-20 16:03   ` Brian Geffon
2025-11-20 15:21 ` [RFC PATCHv5 4/6] zram: drop wb_limit_lock Sergey Senozhatsky
2025-11-20 16:03   ` Brian Geffon
2025-11-20 15:21 ` [RFC PATCHv5 5/6] zram: rework bdev block allocation Sergey Senozhatsky
2025-11-20 16:35   ` Brian Geffon
2025-11-20 15:21 ` [RFC PATCHv5 6/6] zram: read slot block idx under slot lock Sergey Senozhatsky
2025-11-20 18:13   ` Brian Geffon
2025-11-24 14:49   ` Brian Geffon
2025-11-21  7:14 ` [RFC PATCHv5 0/6] zram: introduce writeback bio batching Yuwen Chen
2025-11-21  7:32   ` Sergey Senozhatsky
2025-11-21  7:44     ` Yuwen Chen
2025-11-21  7:58       ` Sergey Senozhatsky
2025-11-21  8:23         ` Yuwen Chen
2025-11-21  9:12           ` Sergey Senozhatsky
2025-11-21 12:21             ` Gao Xiang
2025-11-21 12:43               ` Gao Xiang
2025-11-22 10:07               ` Sergey Senozhatsky
2025-11-22 12:24                 ` Gao Xiang
2025-11-22 13:43                   ` Sergey Senozhatsky
2025-11-22 14:09                     ` Gao Xiang
2025-11-23  0:08                       ` Sergey Senozhatsky
2025-11-23  1:23                         ` Gao Xiang
2025-11-23  3:07                           ` Sergey Senozhatsky
2025-11-23  0:22                   ` Sergey Senozhatsky
2025-11-23  1:39                     ` Gao Xiang

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