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

From: Dan Magenheimer
Date: Mon May 14 2012 - 16:46:05 EST


> From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> 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@xxxxxxxxxx>
>

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

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/