Re: [PATCH v1 0/5] stop anon reclaim when zram is full

From: Minchan Kim
Date: Mon Dec 01 2014 - 22:03:50 EST


Hello all,

On Mon, Sep 22, 2014 at 09:03:06AM +0900, Minchan Kim wrote:
> For zram-swap, there is size gap between virtual disksize
> and available physical memory size for zram so that VM
> can try to reclaim anonymous pages even though zram is full.
> It makes system alomost hang(ie, unresponsible) easily in
> my kernel build test(ie, 1G DRAM, CPU 12, 4G zram swap,
> 50M zram limit). VM should have killed someone.
>
> This patch adds new hint SWAP_FULL so VM can ask fullness
> to zram and if it founds zram is full, VM doesn't reclaim
> anonymous pages until zram-swap gets new free space.
>
> With this patch, I see OOM when zram-swap is full instead of
> hang with no response.
>
> Minchan Kim (5):
> zram: generalize swap_slot_free_notify
> mm: add full variable in swap_info_struct
> mm: VM can be aware of zram fullness
> zram: add swap full hint
> zram: add fullness knob to control swap full

I'm sorry for long delay for this patch althogh you guys gave great
feedback to me.

The reason I was hesitant about this patchset is that I want to avoid
weird fullness knob which was introduced by zsmalloc's internal limit.
So, before this feature, I hope we get zsmalloc's compaction firstly
Then, I hope to remove fullness knob totally.

Thanks.

>
> Documentation/ABI/testing/sysfs-block-zram | 10 +++
> Documentation/filesystems/Locking | 4 +-
> drivers/block/zram/zram_drv.c | 114 +++++++++++++++++++++++++++--
> drivers/block/zram/zram_drv.h | 2 +
> include/linux/blkdev.h | 8 +-
> include/linux/swap.h | 1 +
> mm/page_io.c | 6 +-
> mm/swapfile.c | 77 ++++++++++++++-----
> 8 files changed, 189 insertions(+), 33 deletions(-)
>
> --
> 2.0.0
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/