linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Marc Dietrich <marvin24@gmx.de>
To: Minchan Kim <minchan@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Jerome Marchand <jmarchan@redhat.com>,
	juno.choi@lge.com, seungho1.park@lge.com,
	Luigi Semenzato <semenzato@google.com>,
	Nitin Gupta <ngupta@vflare.org>,
	Seth Jennings <sjennings@variantweb.net>,
	Dan Streetman <ddstreet@ieee.org>,
	ds2horner@gmail.com
Subject: Re: [PATCH v2 3/4] zram: zram memory size limitation
Date: Wed, 20 Aug 2014 09:58:26 +0200	[thread overview]
Message-ID: <2251457.nunIkSPjUl@fb07-iapwap2> (raw)
In-Reply-To: <20140819233225.GA32620@bbox>

[-- Attachment #1: Type: text/plain, Size: 3313 bytes --]

Am Mittwoch, 20. August 2014, 08:32:25 schrieb Minchan Kim:
> Hello,
> 
> On Tue, Aug 19, 2014 at 10:06:22AM +0200, Marc Dietrich wrote:
> > Am Dienstag, 19. August 2014, 16:54:46 schrieb Minchan Kim:
> > > Since zram has no control feature to limit memory usage,
> > > it makes hard to manage system memrory.
> > > 
> > > This patch adds new knob "mem_limit" via sysfs to set up the
> > > a limit so that zram could fail allocation once it reaches
> > > the limit.
> > 
> > Sorry to jump in late with a probably silly question, but I couldn't find
> > the answer easily. What's the difference between disksize and mem_limit?
> No need to say sorry.
> It was totally my fault because zram documentation sucks.
> 
> The disksize means the size point of view upper layer from block subsystem
> so filesystem based on zram or blockdevice itself(ie, zram0) seen by admin
> will have the disksize size but keep in mind that it's virtual size,
> not compressed. As you know already, zram is backed on volatile storage
> (ie, DRAM) with *compressed form*, not permanent storage.
> 
> The point of this patchset is that anybody cannot expect exact memory
> usage of zram in advance. Acutally, zram folks have estimated it by several
> experiment and assuming zram compression ratio(ex, 2:1 or 3:1) before
> releasing product. But thesedays, embedded platforms have varios workloads
> which cannot be expected when the product was released so compression
> ratio expectation could be wrong sometime so zram could consume lots of
> memory than expected once compression ratio is low.
> 
> It makes admin trouble to manage memeory on the product because there
> is no way to release memory zram is using so that one of the way is
> to limit memory usage of zram from the beginning.
> 
> > I assume the former is uncompressed size (virtual size) and the latter is
> > compressed size (real memory usage)? Maybe the difference should be made
> 
> Right.
> 
> > clearer in the documentation.
> 
> Okay.
> 
> > If disksize is the uncompressed size, why would we want to set this at
> > all?
> 
> For example, we have 500M disksize of zram0 because we assumed 2:1
> compression ratio so that we could guess zram will consume 250M physical
> memory in the end. But our guessing could be wrong so if real compression
> ratio is 4:1, we use up 125M phsyical memory to store 500M uncompressed
> pages. It's good but admin want to use up more memory for zram because we
> saved 100% than expected zram memory but we couldn't becuase upper layer
> point of view from zram, zram is already full by 500M and if zram is used
> for swap, we will encounter OOM. :(
> 
> So, it would be better to increase disksize to 1000M but in this case,
> if compression ratio becomes 4:1 by something(ex, workload change),
> zram can consume 500M physical memory, which is above we expected
> and admin don't want zram to use up system memory too much.
> 
> In summary, we couldn't control exact zram memory usage with only disksize
> by compression ratio.

thanks for your detailed explanation. It's a bit confusing that you can 
specify two limits (for two different layers). I guess a floating disksize is 
not possible, because you wouldn't be able to create a filesystem/swapfile on 
it, so you need to make a *fixed* assumption.

Regards,

Marc


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  reply	other threads:[~2014-08-20  7:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-19  7:54 [PATCH v2 0/4] zram memory control enhance Minchan Kim
2014-08-19  7:54 ` [PATCH v2 1/4] zsmalloc: move pages_allocated to zs_pool Minchan Kim
2014-08-19  7:54 ` [PATCH v2 2/4] zsmalloc: change return value unit of zs_get_total_size_bytes Minchan Kim
2014-08-19 14:46   ` Seth Jennings
2014-08-19 15:11     ` Seth Jennings
2014-08-19 23:47       ` Minchan Kim
2014-08-19 23:46     ` Minchan Kim
2014-08-20  4:44       ` Seth Jennings
2014-08-19  7:54 ` [PATCH v2 3/4] zram: zram memory size limitation Minchan Kim
2014-08-19  8:06   ` Marc Dietrich
2014-08-19 23:32     ` Minchan Kim
2014-08-20  7:58       ` Marc Dietrich [this message]
2014-08-19  7:54 ` [PATCH v2 4/4] zram: report maximum used memory Minchan Kim
2014-08-20  6:26   ` David Horner
2014-08-20  6:53     ` Minchan Kim
2014-08-20  7:38       ` David Horner
2014-08-20  7:53         ` Minchan Kim
2014-08-20  8:25           ` David Horner
2014-08-21  0:06       ` 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=2251457.nunIkSPjUl@fb07-iapwap2 \
    --to=marvin24@gmx.de \
    --cc=akpm@linux-foundation.org \
    --cc=ddstreet@ieee.org \
    --cc=ds2horner@gmail.com \
    --cc=jmarchan@redhat.com \
    --cc=juno.choi@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan@kernel.org \
    --cc=ngupta@vflare.org \
    --cc=semenzato@google.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=seungho1.park@lge.com \
    --cc=sjennings@variantweb.net \
    /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