Re: [PATCH 0/3] zsmalloc: small compaction improvements

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

 



Hello Sergey,

On Sat, Jul 11, 2015 at 06:45:29PM +0900, Sergey Senozhatsky wrote:
> 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.

First of all, thanks for the looking this.

Question:

What is motivation?
IOW, did you see big overhead by user-triggered compaction? so,
do you want to throttle it by userspace?

> 
> 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
> 

-- 
Kind regards,
Minchan Kim

--
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]