linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: Bob Liu <bob.liu@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <axboe@kernel.dk>,
	Seth Jennings <sjenning@linux.vnet.ibm.com>,
	Nitin Gupta <ngupta@vflare.org>,
	Konrad Rzeszutek Wilk <konrad@darnok.org>,
	Luigi Semenzato <semenzato@google.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	Mel Gorman <mgorman@suse.de>,
	lliubbo@gmail.com
Subject: Re: [PATCH v7 0/5] zram/zsmalloc promotion
Date: Thu, 22 Aug 2013 10:11:36 +0900	[thread overview]
Message-ID: <20130822011136.GC4665@bbox> (raw)
In-Reply-To: <521495E5.7010109@oracle.com>

On Wed, Aug 21, 2013 at 06:26:45PM +0800, Bob Liu wrote:
> On 08/21/2013 05:24 PM, Bob Liu wrote:
> > Hi Minchan,
> > 
> > On 08/21/2013 02:16 PM, Minchan Kim wrote:
> >> It's 7th trial of zram/zsmalloc promotion.
> >> I rewrote cover-letter totally based on previous discussion.
> >>
> >> The main reason to prevent zram promotion was no review of
> >> zsmalloc part while Jens, block maintainer, already acked
> >> zram part.
> >>
> >> At that time, zsmalloc was used for zram, zcache and zswap so
> >> everybody wanted to make it general and at last, Mel reviewed it
> >> when zswap was submitted to merge mainline a few month ago.
> >> Most of review was related to zswap writeback mechanism which
> >> can pageout compressed page in memory into real swap storage
> >> in runtime and the conclusion was that zsmalloc isn't good for
> >> zswap writeback so zswap borrowed zbud allocator from zcache to
> >> replace zsmalloc. The zbud is bad for memory compression ratio(2)
> >> but it's very predictable behavior because we can expect a zpage
> >> includes just two pages as maximum. Other reviews were not major. 
> >> http://lkml.indiana.edu/hypermail/linux/kernel/1304.1/04334.html
> >>
> >> Zcache doesn't use zsmalloc either so zsmalloc's user is only
> >> zram now so this patchset moves it into zsmalloc directory.
> >> Recently, Bob tried to move zsmalloc under mm directory to unify
> >> zram and zswap with adding pseudo block device in zswap(It's
> >> very weired to me) but he was simple ignoring zram's block device
> >> (a.k.a zram-blk) feature and considered only swap usecase of zram,
> >> in turn, it lose zram's good concept.
> >>
> > 
> > Yes, I didn't notice the feature that zram can be used as a normal block
> > device.
> > 
> > 
> >> Mel raised an another issue in v6, "maintainance headache".
> >> He claimed zswap and zram has a similar goal that is to compresss
> >> swap pages so if we promote zram, maintainance headache happens
> >> sometime by diverging implementaion between zswap and zram
> >> so that he want to unify zram and zswap. For it, he want zswap
> >> to implement pseudo block device like Bob did to emulate zram so
> >> zswap can have an advantage of writeback as well as zram's benefit.
> > 
> > If consider zram as a swap device only, I still think it's better to add
> > a pseudo block device to zswap and just disable the writeback of zswap.
> > 
> > But I have no idea of zram's block device feature.
> > 
> 
> BTW: I think the original/main purpose that zram was introduced is for
> swapping. Is there any real users using zram as a normal block device

I don't know but when I read http://lwn.net/Articles/334649/, it aimed
for compressing page caches as well as swap pages but it made widespread
hooks in core (I guess that's why zcache had a birth later by Nitin and Dan)
so reviewers guided him to support anon pages only to merge it.
And at that time, it was a specific virtual block device for only supporting
swap. AFAIRC, akpm suggested to make it general block device so other party
can have a benefit.

You can type "zram tmp" in google and will find many article related
to use zram as tmp and I have been received some questions/reports
from anonymous guys by private mail. And Jorome, Redhat guy, has
contributed that part like partial I/O.

> instead of swap?
> For normal usage, maybe we can extend ramdisk with compression feature.

Maybe, but I don't see any advantage. The ramdisk is really simple
and there is no part to share zram code. Morever, zram have a potential
to extend other features like asynchronous, defragmentation, and
multiple compressor. I don't want to make simple ramdisk bloating and
complicated so every distro could enable it.

Another thing is device name in linux is rather straightforward to
understand like "dd if=/dev/zero of=/dev/null" but if we support
compression feature of ramdisk, "dd if=/dev/ram0 of=/dev/ram1"?
Which is compression ramdisk? How could normal user can identify it?

I think there is no benefit.

> 
> -- 
> Regards,
> -Bob
> 
> --
> 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>

-- 
Kind regards,
Minchan Kim

--
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>

  reply	other threads:[~2013-08-22  1:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21  6:16 [PATCH v7 0/5] zram/zsmalloc promotion Minchan Kim
2013-08-21  6:16 ` [PATCH v6 1/5] zsmalloc: add Kconfig for enabling page table method Minchan Kim
2013-08-21  6:16 ` [PATCH v6 2/5] zsmalloc: add more comment Minchan Kim
2013-08-21  6:16 ` [PATCH v6 3/5] zsmalloc: move it under zram Minchan Kim
2013-08-21  6:16 ` [PATCH v6 4/5] mm: export unmap_kernel_range Minchan Kim
2013-08-21  6:16 ` [PATCH v6 5/5] zram: promote zram from staging Minchan Kim
2013-08-21  9:24 ` [PATCH v7 0/5] zram/zsmalloc promotion Bob Liu
2013-08-21 10:26   ` Bob Liu
2013-08-22  1:11     ` Minchan Kim [this message]
2013-08-22  0:42   ` Minchan Kim
2013-08-23 14:10     ` Bob Liu
2013-08-23 15:13       ` Minchan Kim
2013-08-26  7:39 ` 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=20130822011136.GC4665@bbox \
    --to=minchan@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=bob.liu@oracle.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=konrad@darnok.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lliubbo@gmail.com \
    --cc=mgorman@suse.de \
    --cc=ngupta@vflare.org \
    --cc=penberg@cs.helsinki.fi \
    --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).