[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1409794786-10951-1-git-send-email-minchan@kernel.org>
Date: Thu, 4 Sep 2014 10:39:43 +0900
From: Minchan Kim <minchan@...nel.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Hugh Dickins <hughd@...gle.com>, Shaohua Li <shli@...nel.org>,
Jerome Marchand <jmarchan@...hat.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Dan Streetman <ddstreet@...e.org>,
Nitin Gupta <ngupta@...are.org>,
Luigi Semenzato <semenzato@...gle.com>,
Minchan Kim <minchan@...nel.org>
Subject: [RFC 0/3] make vm aware of zram-swap
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists