[PATCH 0/3] zsmalloc: small compaction improvements

Sergey Senozhatsky
2015-07-11T09:46:27Z

Hello,

First two patches introduce new zsmalloc zs_pages_to_compact()
symbol and change zram's `compact' sysfs attribute to be
read-write:
-- write triggers compaction, no changes
-- read returns the number of pages that compaction can
potentially free

This lets user space to make a bit better decisions and to
avoid unneeded (which will not result in any significant
memory savings) compaction calls:

Example:

if [ `cat /sys/block/zram<id>/compact` -gt 10 ]; then
echo 1 > /sys/block/zram<id>/compact;
fi

Up until now user space could not tell whether compaction
will result in any gain.

The third patch removes class locking around zs_can_compact()
in zs_pages_to_compact(), the motivation and details are
provided in the commit message.

Sergey Senozhatsky (3):
zsmalloc: factor out zs_pages_to_compact()
zram: make compact a read-write sysfs node
zsmalloc: do not take class lock in zs_pages_to_compact()

Documentation/ABI/testing/sysfs-block-zram | 7 +++---
Documentation/blockdev/zram.txt | 4 +++-
drivers/block/zram/zram_drv.c | 16 ++++++++++++-
include/linux/zsmalloc.h | 1 +
mm/zsmalloc.c | 37 +++++++++++++++++-------------
5 files changed, 44 insertions(+), 21 deletions(-)

--
2.4.5