[PATCH] ramster: switch over to zsmalloc and crypto interface

Dan Magenheimer dan.magenheimer at oracle.com
Mon May 14 20:45:36 UTC 2012

> From: Greg KH [mailto:gregkh at linuxfoundation.org]
> Subject: Re: [PATCH] ramster: switch over to zsmalloc and crypto interface
> On Thu, May 10, 2012 at 12:06:21PM -0700, Dan Magenheimer wrote:
> > RAMster does many zcache-like things.  In order to avoid major
> > merge conflicts at 3.4, ramster used lzo1x directly for compression
> > and retained a local copy of xvmalloc, while zcache moved to the
> > new zsmalloc allocator and the crypto API.
> >
> > This patch moves ramster forward to use zsmalloc and crypto.
> >
> > Signed-off-by: Dan Magenheimer <dan.magenheimer at oracle.com>

Hi Greg --

> I finally enabled building this one (didn't realize it required ZCACHE
> to be disabled, I can only build one or the other)

Yes, correct.  This overlap is explained in drivers/staging/ramster/TODO
(which IIRC you were the one that asked me to create that file).
In short the TODO says: ramster is a superset of zcache that also
"remotifies" zcache-compressed pages to another machine, and the overlap
with zcache will need to be rectified before either is promoted
from staging.

> and I noticed after
> this patch the following warnings in my build:
> drivers/staging/ramster/zcache-main.c:950:13: warning: ‘zcache_do_remotify_ops’ defined but not used
> [-Wunused-function]
> drivers/staging/ramster/zcache-main.c:1039:13: warning: ‘ramster_remotify_init’ defined but not used
> [-Wunused-function]

These are because CONFIG_FRONTSWAP isn't yet in your tree.  It is
in linux-next and will hopefully finally be in Linus' tree at
the next window.  Ramster (and zcache) has low value without
frontswap, so the correct fix, after frontswap is merged, is
to remove all the "ifdef CONFIG_FRONTSWAP" and force the
dependency in Kconfig... but I can't do that until frontswap
is merged. :-(

> drivers/staging/ramster/zcache-main.c: In function ‘zcache_put’:
> drivers/staging/ramster/zcache-main.c:1594:4: warning: ‘page’ may be used uninitialized in this
> function [-Wuninitialized]
> drivers/staging/ramster/zcache-main.c:1536:8: note: ‘page’ was declared here

Hmmm... this looks like an overzealous compiler.  The code
is correct and was unchanged by this patch.  My compiler
(gcc 4.4.4) doesn't even report it.  I think I could fix it
by assigning a superfluous NULL at the declaration and will
do that if you want but I can't test the fix with my compiler
since it doesn't report it.

> Care to please fix them up?

It looks like you've taken the patch... if my whining
above falls on deaf ears and you still want me to "fix"
one or both, let me know and I will submit a fixup patch.
(And then... what gcc are you using?)


More information about the devel mailing list