[RFC 0/7] writeback incompressible pages to storage

From: Minchan Kim
Date: Mon Jun 12 2017 - 01:04:47 EST


zRam is useful for memory saving with compressible pages but sometime,
workload can be changed and system has lots of incompressible pages
which is very harmful for zram.

This patch supports writeback feature of zram so admin can set up
a block device and with it, zram can save the memory via writing
out the incompressile pages once it found it's incompressible pages
(1/4 comp ratio) instead of keeping the page in memory.

[1,2] is just clean up and [3-7] is step by step feature enablement.
[3-7] is logically not bisectable(ie, logical unit separation)
although I tried to compiled out without breaking but I think it would
be better to review.

Thanks.

Minchan Kim (7):
[1] zram: inlining zram_compress
[2] zram: rename zram_decompress_page with __zram_bvec_read
[3] zram: add interface to specify backing device
[4] zram: add free space management in backing device
[5] zram: identify asynchronous IO's return value
[6] zram: write incompressible pages to backing device
[7] zram: read page from backing device

drivers/block/zram/Kconfig | 13 +
drivers/block/zram/zram_drv.c | 549 ++++++++++++++++++++++++++++++++++++------
drivers/block/zram/zram_drv.h | 9 +
3 files changed, 500 insertions(+), 71 deletions(-)

--
2.7.4