From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Hugh Dickins <hughd@google.com>, Shaohua Li <shli@kernel.org>,
Jerome Marchand <jmarchan@redhat.com>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Dan Streetman <ddstreet@ieee.org>,
Nitin Gupta <ngupta@vflare.org>,
Luigi Semenzato <semenzato@google.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 0/3] make vm aware of zram-swap
Date: Thu, 4 Sep 2014 10:39:43 +0900 [thread overview]
Message-ID: <1409794786-10951-1-git-send-email-minchan@kernel.org> (raw)
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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Hugh Dickins <hughd@google.com>, Shaohua Li <shli@kernel.org>,
Jerome Marchand <jmarchan@redhat.com>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Dan Streetman <ddstreet@ieee.org>,
Nitin Gupta <ngupta@vflare.org>,
Luigi Semenzato <semenzato@google.com>,
Minchan Kim <minchan@kernel.org>
Subject: [RFC 0/3] make vm aware of zram-swap
Date: Thu, 4 Sep 2014 10:39:43 +0900 [thread overview]
Message-ID: <1409794786-10951-1-git-send-email-minchan@kernel.org> (raw)
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
next reply other threads:[~2014-09-04 1:38 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-04 1:39 Minchan Kim [this message]
2014-09-04 1:39 ` [RFC 0/3] make vm aware of zram-swap Minchan Kim
2014-09-04 1:39 ` [RFC 1/3] zram: generalize swap_slot_free_notify Minchan Kim
2014-09-04 1:39 ` Minchan Kim
2014-09-04 1:39 ` [RFC 2/3] mm: add swap_get_free hint for zram Minchan Kim
2014-09-04 1:39 ` Minchan Kim
2014-09-13 19:01 ` Dan Streetman
2014-09-13 19:01 ` Dan Streetman
2014-09-15 0:30 ` Minchan Kim
2014-09-15 0:30 ` Minchan Kim
2014-09-15 14:53 ` Dan Streetman
2014-09-15 14:53 ` Dan Streetman
2014-09-16 0:33 ` Minchan Kim
2014-09-16 0:33 ` Minchan Kim
2014-09-16 15:09 ` Dan Streetman
2014-09-16 15:09 ` Dan Streetman
2014-09-17 7:14 ` Minchan Kim
2014-09-17 7:14 ` Minchan Kim
2014-09-04 1:39 ` [RFC 3/3] zram: add swap_get_free hint Minchan Kim
2014-09-04 1:39 ` Minchan Kim
2014-09-04 6:26 ` Heesub Shin
2014-09-04 6:26 ` Heesub Shin
2014-09-04 23:59 ` Minchan Kim
2014-09-04 23:59 ` Minchan Kim
2014-09-13 19:39 ` Dan Streetman
2014-09-13 19:39 ` Dan Streetman
2014-09-15 0:57 ` Minchan Kim
2014-09-15 0:57 ` Minchan Kim
2014-09-15 16:00 ` Dan Streetman
2014-09-15 16:00 ` Dan Streetman
2014-09-16 1:21 ` Minchan Kim
2014-09-16 1:21 ` Minchan Kim
2014-09-16 15:58 ` Dan Streetman
2014-09-16 15:58 ` Dan Streetman
2014-09-17 7:44 ` Minchan Kim
2014-09-17 7:44 ` Minchan Kim
2014-09-17 16:28 ` Dan Streetman
2014-09-17 16:28 ` Dan Streetman
2014-09-19 6:14 ` Minchan Kim
2014-09-19 6:14 ` Minchan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1409794786-10951-1-git-send-email-minchan@kernel.org \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=ddstreet@ieee.org \
--cc=hughd@google.com \
--cc=jmarchan@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ngupta@vflare.org \
--cc=semenzato@google.com \
--cc=sergey.senozhatsky@gmail.com \
--cc=shli@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.