Re: [PATCH v4 0/4] zram memory control enhance
From: Minchan Kim
Date: Sun Aug 24 2014 - 19:58:08 EST
Hello Dan,
On Fri, Aug 22, 2014 at 03:15:36PM -0400, Dan Streetman wrote:
> On Thu, Aug 21, 2014 at 8:42 PM, Minchan Kim <minchan@xxxxxxxxxx> wrote:
> > Currently, zram has no feature to limit memory so theoretically
> > zram can deplete system memory.
> > Users have asked for a limit several times as even without exhaustion
> > zram makes it hard to control memory usage of the platform.
> > This patchset adds the feature.
> >
> > Patch 1 makes zs_get_total_size_bytes faster because it would be
> > used frequently in later patches for the new feature.
> >
> > Patch 2 changes zs_get_total_size_bytes's return unit from bytes
> > to page so that zsmalloc doesn't need unnecessary operation(ie,
> > << PAGE_SHIFT).
> >
> > Patch 3 adds new feature. I added the feature into zram layer,
> > not zsmalloc because limiation is zram's requirement, not zsmalloc
> > so any other user using zsmalloc(ie, zpool) shouldn't affected
> > by unnecessary branch of zsmalloc. In future, if every users
> > of zsmalloc want the feature, then, we could move the feature
> > from client side to zsmalloc easily but vice versa would be
> > painful.
> >
> > Patch 4 adds news facility to report maximum memory usage of zram
> > so that this avoids user polling frequently via /sys/block/zram0/
> > mem_used_total and ensures transient max are not missed.
>
> FWIW, with the minor update to checking the memparse in patch 3 David
> mentioned, feel free to add to all the patches:
I replied David's reply, it's not critical for the goal
of this patchset. And if we should fix, it should be memparse and handle
all of cases, not just only null case.
So I will take your Reviewed-by except 3 patch. :)
>
> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx>
Thanks!
>
> >
> > * From v3
> > * get_zs_total_size_byte function name change - Dan
> > * clarifiction of the document - Dan
> > * atomic account instead of introducing new lock in zsmalloc - David
> > * remove unnecessary atomic instruction in updating max - David
> >
> > * From v2
> > * introduce helper funcntion to update max_used_pages
> > for readability - David
> > * avoid unncessary zs_get_total_size call in updating loop
> > for max_used_pages - David
> >
> > * From v1
> > * rebased on next-20140815
> > * fix up race problem - David, Dan
> > * reset mem_used_max as current total_bytes, rather than 0 - David
> > * resetting works with only "0" write for extensiblilty - David, Dan
> >
> > Minchan Kim (4):
> > zsmalloc: move pages_allocated to zs_pool
> > zsmalloc: change return value unit of zs_get_total_size_bytes
> > zram: zram memory size limitation
> > zram: report maximum used memory
> >
> > Documentation/ABI/testing/sysfs-block-zram | 20 ++++++
> > Documentation/blockdev/zram.txt | 25 +++++--
> > drivers/block/zram/zram_drv.c | 101 ++++++++++++++++++++++++++++-
> > drivers/block/zram/zram_drv.h | 6 ++
> > include/linux/zsmalloc.h | 2 +-
> > mm/zsmalloc.c | 30 ++++-----
> > 6 files changed, 158 insertions(+), 26 deletions(-)
> >
> > --
> > 2.0.0
> >
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>
--
Kind regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/