The patch titled Subject: Documentation: document zram pool_page_order attribute has been added to the -mm mm-unstable branch. Its filename is documentation-document-zram-pool_page_order-attribute.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/documentation-document-zram-pool_page_order-attribute.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> Subject: Documentation: document zram pool_page_order attribute Date: Tue, 25 Oct 2022 01:12:11 +0900 Provide a simple documentation for zram pool_page_order device attribute. Link: https://lkml.kernel.org/r/20221024161213.3221725-5-senozhatsky@xxxxxxxxxxxx Signed-off-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/admin-guide/blockdev/zram.rst | 31 +++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) --- a/Documentation/admin-guide/blockdev/zram.rst~documentation-document-zram-pool_page_order-attribute +++ a/Documentation/admin-guide/blockdev/zram.rst @@ -112,7 +112,24 @@ to list all of them using, for instance, method. This, however, has an advantage of permitting the usage of custom crypto compression modules (implementing S/W or H/W compression). -4) Set Disksize +4) Set maximum pool page order +============================== + +zsmalloc pages can consist of up to 2^N physical pages. The exact size +is calculated per each zsmalloc size class during zsmalloc pool creation. +ZRAM provides pool_page_order device attribute to see or change N. + +Examples:: + + #show current maximum zsmalloc page order + cat /sys/block/zramX/pool_page_order + 2 + + #set maximum zsmalloc page order + echo 3 > /sys/block/zramX/pool_page_order + + +5) Set Disksize =============== Set disk size by writing the value to sysfs node 'disksize'. @@ -132,7 +149,7 @@ There is little point creating a zram of since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the size of the disk when not in use so a huge zram is wasteful. -5) Set memory limit: Optional +6) Set memory limit: Optional ============================= Set memory limit by writing the value to sysfs node 'mem_limit'. @@ -151,7 +168,7 @@ Examples:: # To disable memory limit echo 0 > /sys/block/zram0/mem_limit -6) Activate +7) Activate =========== :: @@ -162,7 +179,7 @@ Examples:: mkfs.ext4 /dev/zram1 mount /dev/zram1 /tmp -7) Add/remove zram devices +8) Add/remove zram devices ========================== zram provides a control interface, which enables dynamic (on-demand) device @@ -182,7 +199,7 @@ execute:: echo X > /sys/class/zram-control/hot_remove -8) Stats +9) Stats ======== Per-device statistics are exported as various nodes under /sys/block/zram<id>/ @@ -283,7 +300,7 @@ a single line of text and contains the f Unit: 4K bytes ============== ============================================================= -9) Deactivate +10) Deactivate ============= :: @@ -291,7 +308,7 @@ a single line of text and contains the f swapoff /dev/zram0 umount /dev/zram1 -10) Reset +11) Reset ========= Write any positive value to 'reset' sysfs node:: _ Patches currently in -mm which might be from senozhatsky@xxxxxxxxxxxx are zram-preparation-for-multi-zcomp-support.patch zram-add-recompression-algorithm-sysfs-knob.patch zram-factor-out-wb-and-non-wb-zram-read-functions.patch zram-introduce-recompress-sysfs-knob.patch documentation-add-recompression-documentation.patch zram-add-recompression-algorithm-choice-to-kconfig.patch zram-add-recompress-flag-to-read_block_state.patch zram-clarify-writeback_store-comment.patch zram-use-is_err_value-to-check-for-zs_malloc-errors.patch zsmalloc-turn-zspage-order-into-runtime-variable.patch zsmalloc-zram-pass-zspage-order-to-zs_create_pool.patch zram-add-pool_page_order-device-attribute.patch documentation-document-zram-pool_page_order-attribute.patch zsmalloc-break-out-of-loop-when-found-perfect-zspage-order.patch zsmalloc-make-sure-we-select-best-zspage-size.patch