Re: [PATCH v2 7/7] zram: writeback throttle

From: Andrew Morton
Date: Mon Nov 26 2018 - 15:54:50 EST


On Mon, 26 Nov 2018 17:28:13 +0900 Minchan Kim <minchan@xxxxxxxxxx> 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 <minchan@xxxxxxxxxx>
> 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 <minchan@xxxxxxxxxx>
> +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.