lkml.org 
[lkml]   [2014]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC 0/3] make vm aware of zram-swap
Date
VM uses nr_swap_pages as one of information when it reclaims
anonymous page because nr_swap_pages means how many freeable
space in swap so VM is able to throttle swap out if it found
there is no more space in swap.

But for zram-swap, there is size gap between virtual disksize
and physical memory to be able to store compressed memory so
nr_swap_pages is not correct parameter to throttle swap.

It causes endless anonymous reclaim(ie, swapout) even if there
is no free space in zram-swap so it makes system unresponsive.

This patch adds new hint SWAP_GET_FREE so zram can return how
many of freeable space to VM. With using that, VM can know whether
zram is full and substract remained freeable space from
nr_swap_pages to make it less than 0. IOW, from now on, VM sees
there is no more space of zram so that it will stop anonymous
reclaiming until swap_entry_free free a page which increases
nr_swap_pages again.

With this patch, user will see OOM when zram-swap is full
instead of hang with no response.

Minchan Kim (3):
zram: generalize swap_slot_free_notify
mm: add swap_get_free hint for zram
zram: add swap_get_free hint

Documentation/filesystems/Locking | 7 ++----
drivers/block/zram/zram_drv.c | 36 +++++++++++++++++++++++++--
include/linux/blkdev.h | 8 ++++--
mm/page_io.c | 7 +++---
mm/swapfile.c | 52 +++++++++++++++++++++++++++++++++++----
5 files changed, 93 insertions(+), 17 deletions(-)

--
2.0.0



\
 
 \ /
  Last update: 2014-09-04 04:21    [W:0.156 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site