RE: [PATCH V2 2/3] drivers/staging: zcache: host services and PAMservices

From: Dan Magenheimer
Date: Tue Feb 08 2011 - 18:29:19 EST


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!

Dan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/