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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.


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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]