Re: [PATCH v3 5/7] zram: support idle/huge page writeback

From: Andrew Morton
Date: Wed Nov 28 2018 - 18:36:04 EST


On Tue, 27 Nov 2018 14:54:27 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote:

> This patch supports new feature "zram idle/huge page writeback".
> On zram-swap usecase, zram has usually many idle/huge swap pages.
> It's pointless to keep in memory(ie, zram).
>
> To solve the problem, this feature introduces idle/huge page
> writeback to backing device so the goal is to save more memory
> space on embedded system.
>
> Normal sequence to use idle/huge page writeback feature is as follows,
>
> while (1) {
> # mark allocated zram slot to idle
> echo all > /sys/block/zram0/idle
> # leave system working for several hours
> # Unless there is no access for some blocks on zram,
> # they are still IDLE marked pages.
>
> echo "idle" > /sys/block/zram0/writeback
> or/and
> echo "huge" > /sys/block/zram0/writeback
> # write the IDLE or/and huge marked slot into backing device
> # and free the memory.
> }
>
> By per discussion:
> https://lore.kernel.org/lkml/20181122065926.GG3441@jagdpanzerIV/T/#u,
>
> This patch removes direct incommpressibe page writeback feature
> (d2afd25114f4, zram: write incompressible pages to backing device)
> so we could regard it as regression because incompressible pages
> doesn't go to backing storage automatically. Instead, usre should
> do it via "echo huge" > /sys/block/zram/writeback" manually.

I'm not in any position to determine the regression risk here.

Why is that feature being removed, anyway?

> If we hear some regression, we could restore the function.

Why not do that now?