Messages in this thread | | | From | Weijie Yang <> | Subject | RE: [PATCH 0/4] mm: zpool: add common api for zswap to use zbud/zsmalloc | Date | Mon, 21 Apr 2014 10:47:16 +0800 |
| |
On Sat, Apr 19, 2014 at 11:52 PM, Dan Streetman <ddstreet@ieee.org> 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
| |