From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Jens Axboe <axboe@kernel.dk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Hugh Dickins <hughd@google.com>, Rik van Riel <riel@redhat.com>,
Konrad Rzeszutek Wilk <konrad@darnok.org>,
Seth Jennings <sjenning@linux.vnet.ibm.com>,
Nitin Gupta <ngupta@vflare.org>, Bob Liu <bob.liu@oracle.com>,
Luigi Semenzato <semenzato@google.com>,
Pekka Enberg <penberg@kernel.org>, Mel Gorman <mgorman@suse.de>,
Minchan Kim <minchan@kernel.org>
Subject: [PATCH v8 0/4] zram/zsmalloc promotion
Date: Mon, 25 Nov 2013 14:06:14 +0900 [thread overview]
Message-ID: <1385355978-6386-1-git-send-email-minchan@kernel.org> (raw)
Zram is a simple pseudo block device which can keep data on
in-memory with compressed.[1]
It have been used for many embedded system for several years
One of significant usecase is in-memory swap device.
Because NAND which is very popular on most embedded device
is weak for frequent write without good wear-level
and slow I/O hurts system's responsiblity so zram is really
good choice to use memory efficiently.
In previous trial, there was some argument[2] that zram has
similar goal with zswap so let's merge zram's functionality
into zswap via adding pseudo block device in zswap but I and
some people(At least, Hugh and Rik) believe it's not a good idea.
[2][3][4] and zswap might go writethrough model[5]. It makes
clear difference zram and zswap.
Zram itself is simple/well-designed/good abstraciton so it has
clear market(ex, Android, TV, ChromeOS, some Linux distro) which
is never niche. :)
Another zram-blk's usecase is following as.
The admin can use it as tmpfs so it could help small memory system.
The tmpfs is never good solution for swapless embedded system.
Patch 1 adds new Kconfig for zram to use page table method instead
of copy.
Patch 2 adds more comment for zsmalloc.
Patch 3 moves zsmalloc under mm.
Patch 4 moves zram from driver/staging to driver/blocks, finally.
[1] http://en.wikipedia.org/wiki/Zram
[2] https://lkml.org/lkml/2013/8/21/54
[3] https://lkml.org/lkml/2013/11/13/570
[4] https://lkml.org/lkml/2013/11/7/318
[5] http://www.spinics.net/lists/linux-mm/msg65499.html
* From v7
* Remove unnecessary zswap VS zram comparison in cover letter.
* Add Reviewed-by/Acked-by I forgot.
* Remove exporting unmap_kernel_range patch. I will do if promotion is done.
* Move zsmalloc under mm - Hugh
Minchan Kim (3):
zsmalloc: add Kconfig for enabling page table method
zsmalloc: move it under mm
zram: promote zram from staging
Nitin Cupta (1):
zsmalloc: add more comment
drivers/block/Kconfig | 2 +
drivers/block/Makefile | 2 +
drivers/block/zram/Kconfig | 25 +
drivers/block/zram/Makefile | 3 +
drivers/block/zram/zram.txt | 77 +++
drivers/block/zram/zram_drv.c | 981 ++++++++++++++++++++++++++
drivers/staging/Kconfig | 4 -
drivers/staging/Makefile | 2 -
drivers/staging/zram/Kconfig | 25 -
drivers/staging/zram/Makefile | 3 -
drivers/staging/zram/zram.txt | 77 ---
drivers/staging/zram/zram_drv.c | 982 --------------------------
drivers/staging/zram/zram_drv.h | 125 ----
drivers/staging/zsmalloc/Kconfig | 11 -
drivers/staging/zsmalloc/Makefile | 3 -
drivers/staging/zsmalloc/zsmalloc-main.c | 1063 -----------------------------
drivers/staging/zsmalloc/zsmalloc.h | 43 --
include/linux/zram_drv.h | 124 ++++
include/linux/zsmalloc.h | 50 ++
mm/Kconfig | 25 +
mm/Makefile | 1 +
mm/zsmalloc.c | 1097 ++++++++++++++++++++++++++++++
22 files changed, 2387 insertions(+), 2338 deletions(-)
create mode 100644 drivers/block/zram/Kconfig
create mode 100644 drivers/block/zram/Makefile
create mode 100644 drivers/block/zram/zram.txt
create mode 100644 drivers/block/zram/zram_drv.c
delete mode 100644 drivers/staging/zram/Kconfig
delete mode 100644 drivers/staging/zram/Makefile
delete mode 100644 drivers/staging/zram/zram.txt
delete mode 100644 drivers/staging/zram/zram_drv.c
delete mode 100644 drivers/staging/zram/zram_drv.h
delete mode 100644 drivers/staging/zsmalloc/Kconfig
delete mode 100644 drivers/staging/zsmalloc/Makefile
delete mode 100644 drivers/staging/zsmalloc/zsmalloc-main.c
delete mode 100644 drivers/staging/zsmalloc/zsmalloc.h
create mode 100644 include/linux/zram_drv.h
create mode 100644 include/linux/zsmalloc.h
create mode 100644 mm/zsmalloc.c
--
1.7.9.5
--
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>
next reply other threads:[~2013-11-25 5:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-25 5:06 Minchan Kim [this message]
2013-11-25 5:06 ` [PATCH v8 1/4] zsmalloc: add Kconfig for enabling page table method Minchan Kim
2013-11-25 5:06 ` [PATCH v8 2/4] zsmalloc: add more comment Minchan Kim
2013-11-25 5:06 ` [PATCH v8 3/4] zsmalloc: move it under mm Minchan Kim
2013-11-25 5:06 ` [PATCH v8 4/4] zram: promote zram from staging Minchan Kim
2013-12-03 11:50 ` Jerome Marchand
2013-12-04 0:04 ` 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=1385355978-6386-1-git-send-email-minchan@kernel.org \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=bob.liu@oracle.com \
--cc=gregkh@linuxfoundation.org \
--cc=hughd@google.com \
--cc=konrad@darnok.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=ngupta@vflare.org \
--cc=penberg@kernel.org \
--cc=riel@redhat.com \
--cc=semenzato@google.com \
--cc=sjenning@linux.vnet.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).