Re: [PATCH 0/8] zcache: page cache compression support

From: Nitin Gupta
Date: Thu Jan 20 2011 - 08:57:56 EST


On 01/20/2011 08:16 AM, Pekka Enberg wrote:
Hi Christoph,

On Thu, Jan 20, 2011 at 07:33:29AM -0500, Nitin Gupta wrote:
I just started looking into kztmem (weird name!) but on
the high level it seems so much similar to zcache with some
dynamic resizing added (callback for shrinker interface).

Now, I'll try rebuilding zcache according to new cleancache
API as provided by these set of patches. This will help refresh
whatever issues I was having back then with pagecache
compression and maybe pick useful bits/directions from
new kztmem work.
On Thu, Jan 20, 2011 at 2:47 PM, Christoph Hellwig<hch@xxxxxxxxxxxxx> wrote:
Yes, we shouldn't have two drivers doing almost the same in the
tree. Also adding core hooks for staging drivers really is against
the idea of staging of having a separate crap tree. So it would be
good to get zcache into a state where we can merge it into the
proper tree first. And then we can discuss if adding an abstraction
layer between it and the core VM really makes sense, and if it does
how. But I'm pretty sure there's now need for multiple layers of
abstraction for something that's relatively core VM functionality.

E.g. the abstraction should involve because of it's users, not the
compressed caching code should involve because it's needed to present
a user for otherwise useless code.
I'm not sure which hooks you're referring to but for zcache we did this:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=b3a27d0529c6e5206f1b60f60263e3ecfd0d77cb

I completely agree with getting zcache merged properly before going
for the cleancache stuff.


These hooks are for zram (generic, in-memory compressed block devices)
which can also be used as swap disks. Without that swap notify hook, we
could not free [compressed] swap pages as soon as they are marked free.

For zcache (which does pagecache compression), we need separate set
of hooks, currently known as "cleancache" [1]. These hooks are very
minimal but not sure if they are accepted yet (they are present in
linux-next tree only, see: mm/cleancache.c, include/linux/cleancache.h

[1] cleancache: http://lwn.net/Articles/393013/

Nitin


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