All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] zram memory control enhance
@ 2014-08-22  0:42 ` Minchan Kim
  0 siblings, 0 replies; 44+ messages in thread
From: Minchan Kim @ 2014-08-22  0:42 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, linux-kernel, Sergey Senozhatsky, Jerome Marchand,
	juno.choi, seungho1.park, Luigi Semenzato, Nitin Gupta,
	Seth Jennings, Dan Streetman, ds2horner, Minchan Kim

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.

* 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


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2014-08-26 13:40 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-22  0:42 [PATCH v4 0/4] zram memory control enhance Minchan Kim
2014-08-22  0:42 ` Minchan Kim
2014-08-22  0:42 ` [PATCH v4 1/4] zsmalloc: move pages_allocated to zs_pool Minchan Kim
2014-08-22  0:42   ` Minchan Kim
2014-08-22  0:42 ` [PATCH v4 2/4] zsmalloc: change return value unit of zs_get_total_size_bytes Minchan Kim
2014-08-22  0:42   ` Minchan Kim
2014-08-22  0:42 ` [PATCH v4 3/4] zram: zram memory size limitation Minchan Kim
2014-08-22  0:42   ` Minchan Kim
2014-08-22 10:55   ` David Horner
2014-08-22 10:55     ` David Horner
2014-08-22 18:47     ` Dan Streetman
2014-08-22 18:47       ` Dan Streetman
2014-08-24 23:56     ` Minchan Kim
2014-08-24 23:56       ` Minchan Kim
2014-08-25  3:40       ` David Horner
2014-08-25  3:40         ` David Horner
2014-08-25  4:37         ` Minchan Kim
2014-08-25  4:37           ` Minchan Kim
2014-08-25  8:22           ` David Horner
2014-08-25  8:22             ` David Horner
2014-08-25 18:12             ` Dan Streetman
2014-08-25 18:12               ` Dan Streetman
2014-08-26  1:54               ` David Horner
2014-08-26  1:54                 ` David Horner
2014-08-26  4:39                 ` Minchan Kim
2014-08-26  4:39                   ` Minchan Kim
2014-08-26  5:36                   ` David Horner
2014-08-26  5:36                     ` David Horner
2014-08-26 13:31                   ` Dan Streetman
2014-08-26 13:31                     ` Dan Streetman
2014-08-26  4:28               ` David Horner
2014-08-26  4:28                 ` David Horner
2014-08-26 13:40                 ` Dan Streetman
2014-08-26 13:40                   ` Dan Streetman
2014-08-25  8:25           ` Dongsheng Song
2014-08-25  8:25             ` Dongsheng Song
2014-08-26  4:51             ` Minchan Kim
2014-08-26  4:51               ` Minchan Kim
2014-08-22  0:42 ` [PATCH v4 4/4] zram: report maximum used memory Minchan Kim
2014-08-22  0:42   ` Minchan Kim
2014-08-22 19:15 ` [PATCH v4 0/4] zram memory control enhance Dan Streetman
2014-08-22 19:15   ` Dan Streetman
2014-08-24 23:58   ` Minchan Kim
2014-08-24 23:58     ` Minchan Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.