Re: [PATCHv5 0/4] mm/zpool: add common api for zswap to use zbud/zsmalloc
From: Seth Jennings
Date: Mon Jul 28 2014 - 16:41:04 EST
On Fri, Jul 25, 2014 at 12:59:05PM -0400, Dan Streetman wrote:
> Hey Seth,
>
> have a chance to test yet?
Sorry for the delay. Things have been crazy.
Just pulled down -next and tested with a 8-thread kernel build on a
machine restricted to 512MB of RAM. Thrashed pretty well but completed
without any problems. The compressed pool mitigating the swapping for
the most part. swapoff at the end and all the statistics were sane.
Looks stable afaict. Good work! :)
Again sorry about dragging my feet on this.
Thanks,
Seth
>
> On Wed, Jul 16, 2014 at 6:00 PM, Seth Jennings <sjennings@xxxxxxxxxxxxxx> wrote:
> > On Wed, Jul 16, 2014 at 05:05:45PM -0400, Dan Streetman wrote:
> >> On Wed, Jul 16, 2014 at 4:59 PM, Seth Jennings <sjennings@xxxxxxxxxxxxxx> wrote:
> >> > On Mon, Jul 14, 2014 at 02:10:42PM -0400, Dan Streetman wrote:
> >> >> Andrew, any thoughts on this latest version of the patch set? Let me
> >> >> know if I missed anything or you have any other suggestions.
> >> >>
> >> >> Seth, did you get a chance to review this and/or test it out?
> >> >
> >> > I did have a chance to test it out quickly and didn't run into any
> >> > issues. Your patchset is already in linux-next so I'll test more from
> >> > there.
> >>
> >> This latest version has a few changes that Andrew requested, which
> >> presumably will replace the patches that are currently in -mm and
> >> -next; can you test with these patches instead of (or in addition to)
> >> what's in -next?
> >
> > Looks like Andrew just did the legwork for me to get the new patches
> > into mmotm. When the hit there (tomorrow?), I'll put it down and test
> > with that.
> >
> > Thanks,
> > Seth
> >
> >>
> >> >
> >> > Seth
> >> >
> >> >>
> >> >>
> >> >>
> >> >> On Wed, Jul 2, 2014 at 5:45 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. This does not include
> >> >> > implementing shrinking in zsmalloc, which will be sent separately.
> >> >> >
> >> >> > 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 set does not change zram to use zpool, although that
> >> >> > change should be possible as well.
> >> >> >
> >> >> > ---
> >> >> > Changes since v4 : https://lkml.org/lkml/2014/6/2/711
> >> >> > -omit first patch, that removed gfp_t param from zpool_malloc()
> >> >> > -move function doc from zpool.h to zpool.c
> >> >> > -move module usage refcounting into patch that adds zpool
> >> >> > -add extra refcounting to prevent driver unregister if in use
> >> >> > -add doc clarifying concurrency usage
> >> >> > -make zbud/zsmalloc zpool functions static
> >> >> > -typo corrections
> >> >> >
> >> >> > Changes since v3 : https://lkml.org/lkml/2014/5/24/130
> >> >> > -In zpool_shrink() use # pages instead of # bytes
> >> >> > -Add reclaimed param to zpool_shrink() to indicate to caller
> >> >> > # pages actually reclaimed
> >> >> > -move module usage counting to zpool, from zbud/zsmalloc
> >> >> > -update zbud_zpool_shrink() to call zbud_reclaim_page() in a
> >> >> > loop until requested # pages have been reclaimed (or error)
> >> >> >
> >> >> > Changes since v2 : https://lkml.org/lkml/2014/5/7/927
> >> >> > -Change zpool to use driver registration instead of hardcoding
> >> >> > implementations
> >> >> > -Add module use counting in zbud/zsmalloc
> >> >> >
> >> >> > 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: change zbud_alloc size type to size_t
> >> >> > mm/zpool: implement common zpool api to zbud/zsmalloc
> >> >> > mm/zpool: zbud/zsmalloc implement zpool
> >> >> > mm/zpool: update zswap to use zpool
> >> >> >
> >> >> > include/linux/zbud.h | 2 +-
> >> >> > include/linux/zpool.h | 106 +++++++++++++++
> >> >> > mm/Kconfig | 43 +++---
> >> >> > mm/Makefile | 1 +
> >> >> > mm/zbud.c | 98 +++++++++++++-
> >> >> > mm/zpool.c | 364 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >> >> > mm/zsmalloc.c | 84 ++++++++++++
> >> >> > mm/zswap.c | 75 ++++++-----
> >> >> > 8 files changed, 722 insertions(+), 51 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/