RE: [PATCH 0/4] mm: zpool: add common api for zswap to use zbud/zsmalloc

From: Weijie Yang
Date: Sun Apr 20 2014 - 22:48:14 EST




On Sat, Apr 19, 2014 at 11:52 PM, Dan Streetman <ddstreet@xxxxxxxx> wrote:
> In order to allow zswap users to choose between zbud and zsmalloc for
> the compressed storage pool, this patch set adds a new api "zpool" that
> provides an interface to both zbud and zsmalloc. Only a minor change
> to zbud's interface was needed, as detailed in the first patch;
> zsmalloc required shrinking to be added and a minor interface change,
> as detailed in the second patch.
>
> I believe Seth originally was using zsmalloc for swap, but there were
> concerns about how significant the impact of shrinking zsmalloc would
> be when zswap had to start reclaiming pages. That still may be an
> issue, but this at least allows users to choose themselves whether
> they want a lower-density or higher-density compressed storage medium.
> At least for situations where zswap reclaim is never or rarely reached,
> it probably makes sense to use the higher density of zsmalloc.
>
> Note this patch series does not change zram to use zpool, although that
> change should be possible as well.

I think this idea is acceptable, because for embedded devices reclaiming is
risky due to its write lifetime. By using zsmalloc, zswap user can not only take
the benefit of higher-density compressed storage but aslo supporting the
GFP_HIGHMEM in 32bit system.

I will pay attention to this patch set and give my opinion after my review.

Thanks for your work

>
> Dan Streetman (4):
> mm: zpool: zbud_alloc() minor param change
> mm: zpool: implement zsmalloc shrinking
> mm: zpool: implement common zpool api to zbud/zsmalloc
> mm: zpool: update zswap to use zpool
>
> drivers/block/zram/zram_drv.c | 2 +-
> include/linux/zbud.h | 3 +-
> include/linux/zpool.h | 166 ++++++++++++++++++
> include/linux/zsmalloc.h | 7 +-
> mm/Kconfig | 43 +++--
> mm/Makefile | 1 +
> mm/zbud.c | 28 ++--
> mm/zpool.c | 380 ++++++++++++++++++++++++++++++++++++++++++
> mm/zsmalloc.c | 168 +++++++++++++++++--
> mm/zswap.c | 70 ++++----
> 10 files changed, 787 insertions(+), 81 deletions(-)
> create mode 100644 include/linux/zpool.h
> create mode 100644 mm/zpool.c
>
> --
> 1.8.3.1

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