On Mon, 26 Nov 2018 17:28:13 +0900 Minchan Kim <[email protected]> wrote:
> On small memory system, there are lots of write IO so if we use > flash device as swap, there would be serious flash wearout. > To overcome the problem, system developers need to design write > limitation strategy to guarantee flash health for entire product life. > > This patch creates a new konb "writeback_limit" on zram. With that, > if current writeback IO count(/sys/block/zramX/io_stat) excceds > the limitation, zram stops further writeback until admin can reset > the limit. > > +++ b/Documentation/ABI/testing/sysfs-block-zram > @@ -121,3 +121,12 @@ Contact: Minchan Kim <[email protected]> > The bd_stat file is read-only and represents backing device's > statistics (bd_count, bd_reads, bd_writes) in a format > similar to block layer statistics file format. > + > +What: /sys/block/zram<id>/writeback_limit > +Date: November 2018 > +Contact: Minchan Kim <[email protected]> > +Description: > + The writeback_limit file is read-write and specifies the maximum > + amount of writeback ZRAM can do. The limit could be changed > + in run time and "0" means disable the limit. > + No limit is the initial state. > diff --git a/Documentation/blockdev/zram.txt b/Documentation/blockdev/zram.txt > index 550bca77d322..41748d52712d 100644 > --- a/Documentation/blockdev/zram.txt > +++ b/Documentation/blockdev/zram.txt > @@ -164,6 +164,8 @@ reset WO trigger device reset > mem_used_max WO reset the `mem_used_max' counter (see later) > mem_limit WO specifies the maximum amount of memory ZRAM can use > to store the compressed data > +writeback_limit WO specifies the maximum amount of write IO zram > can > + write out to backing device Neither the changelog nor the Documentation specify the units of writeback_limit. Bytes? Pages? Blocks? This gets so confusing that in many /proc/sys/vm files we actually put the units into the filenames.

