lkml.org 
[lkml]   [2014]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHv2 0/4] mm/zpool: add common api for zswap to use zbud/zsmalloc
Date
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 changes
to zbud's interface were needed, as detailed in the first two patches.
This does not implement zsmalloc shrinking (which will be submitted
separately), so when using zsmalloc as the pool type, zpool_shrink()
will always fail.

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.

This patchset is against git://git.cmpxchg.org/linux-mmotm.git
commit a51cc1787cdef3f17536d6a6dc1edd0e7a85988f

Changes since v1 https://lkml.org/lkml/2014/4/19/97
-remove zsmalloc shrinking
-change zbud size param type from unsigned int to size_t
-remove zpool fallback creation
-zswap manually falls back to zbud if specified type fails

Dan Streetman (4):
mm/zbud: zbud_alloc() minor param change
mm/zbud: change zbud_alloc size type to size_t
mm/zpool: implement common zpool api to zbud/zsmalloc
mm/zswap: update zswap to use zpool

include/linux/zbud.h | 2 +-
include/linux/zpool.h | 160 +++++++++++++++++++++++
mm/Kconfig | 43 ++++---
mm/Makefile | 1 +
mm/zbud.c | 30 +++--
mm/zpool.c | 349 ++++++++++++++++++++++++++++++++++++++++++++++++++
mm/zswap.c | 75 ++++++-----
7 files changed, 596 insertions(+), 64 deletions(-)
create mode 100644 include/linux/zpool.h
create mode 100644 mm/zpool.c

--
1.8.3.1



\
 
 \ /
  Last update: 2014-05-09 08:21    [W:0.283 / U:0.492 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site