LKML Archive on
help / color / mirror / Atom feed
From: Dan Magenheimer <>
To: Minchan Kim <>
Cc:, Chris Mason <>,,,,,,,,
	Kurt Hackel <>,,,
	Konrad Wilk <>,,,,,,,,
Subject: RE: [PATCH V2 2/3] drivers/staging: zcache: host services and PAM services
Date: Tue, 8 Feb 2011 15:27:30 -0800 (PST)	[thread overview]
Message-ID: <0d1aa13e-be1f-4e21-adf2-f0162c67ede3@default> (raw)
In-Reply-To: <>

Hi Minchan --

> First of all, thanks for endless effort.

Sometimes it does seem endless ;-)
> I didn't look at code entirely but it seems this series includes
> frontswap.

The "new zcache" optionally depends on frontswap, but frontswap is
a separate patchset.  If the frontswap patchset is present
and configured, zcache will use it to dynamically compress swap pages.
If frontswap is not present or not configured, zcache will only
use cleancache to dynamically compress clean page cache pages.
For best results, both frontswap and cleancache should be enabled.
(and see the link in PATCH V2 0/3 for a monolithic patch against
2.6.37 that enabled both).

> Finally frontswap is to replace zram?

Nitin and I have agreed that, for now, both frontswap and zram
should continue to exist.  They have similar functionality but
different use models.  Over time we will see if they can be merged.

Nitin and I agreed offlist that the following summarizes the
differences between zram and frontswap:


Zram uses an asynchronous model (e.g. uses the block I/O subsystem)
and requires a device to be explicitly created.  When used for
swap, mkswap creates a fixed-size swap device (usually with higher
priority than any disk-based swap device) and zram is filled
until it is full, at which point other lower-priority (disk-based)
swap devices are then used.  So zram is well-suited for a fixed-
size-RAM machine with a known workload where an administrator
can pre-configure a zram device to improve RAM efficiency during
peak memory load.

Frontswap uses a synchronous model, circumventing the block I/O
subsystem.  The frontswap "device" is completely dynamic in size,
e.g. frontswap is queried for every individual page-to-be-swapped
and, if rejected, the page is swapped to the "real" swap device.
So frontswap is well-suited for highly dynamic conditions where
workload is unpredictable and/or RAM size may "vary" due to
circumstances not entirely within the kernel's control.


Does that make sense?

> Regardless of my suggestion, I will look at the this series in my spare
> time.

Thanks, we are looking forward to your always excellent and
thorough review!


  reply	other threads:[~2011-02-08 23:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-07  3:26 Dan Magenheimer
2011-02-08 22:48 ` Minchan Kim
2011-02-08 23:27   ` Dan Magenheimer [this message]
2011-02-08 23:56     ` Minchan Kim
2011-02-09 16:39       ` Dan Magenheimer
2011-02-09 17:36         ` Nitin Gupta
2011-02-09 23:46           ` Minchan Kim
2011-02-10  1:17             ` Nitin Gupta
2011-02-09 23:57         ` Minchan Kim
2011-02-09 23:58           ` Minchan Kim
2011-02-15 16:53 ` Konrad Rzeszutek Wilk
2011-02-15 17:25   ` Greg KH
2011-02-15 18:18     ` Konrad Rzeszutek Wilk

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0d1aa13e-be1f-4e21-adf2-f0162c67ede3@default \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    --subject='RE: [PATCH V2 2/3] drivers/staging: zcache: host services and PAM services' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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