lkml.org 
[lkml]   [2014]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 0/3] zram memory control enhance
On 08/05/2014 10:02 AM, Minchan Kim wrote:
> Notice! It's RFC. I didn't test at all but wanted to hear opinion
> during merge window when it's really busy time for Andrew so we could
> use the slack time to discuss without hurting him. ;-)
>
> Patch 1 is to move pages_allocated in zsmalloc from size_class to zs_pool
> so zs_get_total_size_bytes of zsmalloc would be faster than old.
> zs_get_total_size_bytes could be used next patches frequently.
>
> Patch 2 adds new feature which exports how many of bytes zsmalloc consumes
> during testing workload. Normally, before fixing the zram's disksize
> we have tested various workload and wanted to how many of bytes zram
> consumed.
> For it, we could poll mem_used_total of zram in userspace but the problem is
> when memory pressure is severe and heavy swap out happens suddenly then
> heavy swapin or exist while polling interval of user space is a few second,
> it could miss max memory size zram had consumed easily.
> With lack of information, user can set wrong disksize of zram so the result
> is OOM. So this patch adds max_mem_used for zram and zsmalloc supports it
>
> Patch 3 is to limit zram memory consumption. Now, zram has no bound for
> memory usage so it could consume up all of system memory. It makes system
> memory control for platform hard so I have heard the feature several time.
>
> Feedback is welcome!

Hi,

I haven't really reviewed the code yet, but I like the general idea. The
third patch in particular provides a very useful feature. I'm actually
surprised no one provided it earlier.

Jerome


>
> Minchan Kim (3):
> zsmalloc: move pages_allocated to zs_pool
> zsmalloc/zram: add zs_get_max_size_bytes and use it in zram
> zram: limit memory size for zram
>
> Documentation/blockdev/zram.txt | 2 ++
> drivers/block/zram/zram_drv.c | 58 +++++++++++++++++++++++++++++++++++++++++
> drivers/block/zram/zram_drv.h | 1 +
> include/linux/zsmalloc.h | 1 +
> mm/zsmalloc.c | 50 +++++++++++++++++++++++++----------
> 5 files changed, 98 insertions(+), 14 deletions(-)
>


[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2014-08-06 15:01    [W:0.140 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site