This patchset introduces a new memory allocation library named zsmalloc. zsmalloc was designed to fulfill the needs of users where: 1) Memory is constrained, preventing contiguous page allocations larger than order 0 and 2) Allocations are all/commonly greater than half a page. In a generic allocator, an allocation set like this would cause high fragmentation. The allocations can't span non- contiguous page boundaries; therefore, the part of the page unused by each allocation is wasted. zsmalloc is a slab-based allocator that uses a non-standard malloc interface, requiring the user to map the allocation before accessing it. This allows allocations to span two non-contiguous pages using virtual memory mapping, greatly reducing fragmentation in the memory pool. Nitin Gupta (3): staging: zsmalloc: zsmalloc memory allocation library staging: zram: replace xvmalloc with zsmalloc staging: zram: remove xvmalloc Seth Jennings (2): staging: add zsmalloc to Kconfig/Makefile staging: zcache: replace xvmalloc with zsmalloc drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 2 +- drivers/staging/zcache/Kconfig | 2 +- drivers/staging/zcache/zcache-main.c | 83 ++-- drivers/staging/zram/Kconfig | 6 +- drivers/staging/zram/Makefile | 1 - drivers/staging/zram/xvmalloc.c | 510 -------------------- drivers/staging/zram/xvmalloc.h | 30 -- drivers/staging/zram/xvmalloc_int.h | 95 ---- drivers/staging/zram/zram_drv.c | 89 ++-- drivers/staging/zram/zram_drv.h | 10 +- drivers/staging/zram/zram_sysfs.c | 2 +- drivers/staging/zsmalloc/Kconfig | 11 + drivers/staging/zsmalloc/Makefile | 3 + drivers/staging/zsmalloc/zsmalloc-main.c | 756 ++++++++++++++++++++++++++++++ drivers/staging/zsmalloc/zsmalloc.h | 31 ++ drivers/staging/zsmalloc/zsmalloc_int.h | 126 +++++ 17 files changed, 1020 insertions(+), 739 deletions(-) delete mode 100644 drivers/staging/zram/xvmalloc.c delete mode 100644 drivers/staging/zram/xvmalloc.h delete mode 100644 drivers/staging/zram/xvmalloc_int.h create mode 100644 drivers/staging/zsmalloc/Kconfig create mode 100644 drivers/staging/zsmalloc/Makefile create mode 100644 drivers/staging/zsmalloc/zsmalloc-main.c create mode 100644 drivers/staging/zsmalloc/zsmalloc.h create mode 100644 drivers/staging/zsmalloc/zsmalloc_int.h -- 1.7.5.4 -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>