mbox series

[PATCHv2,0/7] zram: split page type read/write handling

Message ID 20241218063513.297475-1-senozhatsky@chromium.org (mailing list archive)
Headers show
Series zram: split page type read/write handling | expand

Message

Sergey Senozhatsky Dec. 18, 2024, 6:34 a.m. UTC
This is a subset of [1] series which contains only fixes and
improvements (no new features, as ZRAM_HUGE split is still
under consideration).

The motivation for factoring out is that zram_write_page()
gets more and more complex all the time, because it tries
to handle too many scenarios: ZRAM_SAME store, ZRAM_HUGE
store, compress page store with zs_malloc allocation slowpath
and conditional recompression, etc.  Factor those out and
make things easier to handle.

Addition of cond_resched() is simply a fix, I can trigger
watchdog from zram writeback().  And early slot free is
just a reasonable thing to do.

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

Sergey Senozhatsky (7):
  zram: free slot memory early during write
  zram: remove entry element member
  zram: factor out ZRAM_SAME write
  zram: factor out ZRAM_HUGE write
  zram: factor out different page types read
  zram: use zram_read_from_zspool() in writeback
  zram: cond_resched() in writeback loop

 drivers/block/zram/zram_drv.c | 301 +++++++++++++++++++---------------
 drivers/block/zram/zram_drv.h |   5 +-
 2 files changed, 171 insertions(+), 135 deletions(-)

--
2.47.1.613.gc27f4b7a9f-goog