lkml.org 
[lkml]   [2022]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCHv4 0/9] zsmalloc/zram: configurable zspage size
    Date
    	Hello,

    Some use-cases and/or data patterns may benefit from
    larger zspages. Currently the limit on the number of physical
    pages that are linked into a zspage is hardcoded to 4. Higher
    limit changes key characteristics of a number of the size
    classes, improving compactness of the pool and redusing the
    amount of memory zsmalloc pool uses. More on this in 0002
    commit message.

    v4:
    -- Fixed type of the max_pages_per_zspage (kbuild reported a
    "warning: right shift count >= width of type" warning)
    -- Renamed max_pages_per_zspage variable

    v3:
    -- Removed lots of text from 0002 commit message. Now it's shorter
    and simpler.

    v2:
    -- Cherry picked a patch from Alexey (minor code tweaks to move
    it ahead of this series)
    -- zsmalloc does not require anymore pages-per-zspage limit to be a
    pow of 2 value, and overall doesn't use "order" any longer
    -- zram does not require "zspage order" (pow of 2) value anymore
    and instead accepts an integer in [1,16] range
    -- There is no global huge_class_size in zsmalloc anymore.
    huge_class_size is per-pool, since it depends on pager-per-zspage,
    which can be different for different pools.
    -- There is no global huge_class_size in zram anymore. It should
    be per-pool (per-device).
    -- Updated documentation
    -- Fixed documentation htmldocs warning (Stephen)
    -- Dropped get_pages_per_zspage() patch
    -- Renamed zram sysfs knob (device attribute)
    -- Re-worked "synthetic test" section in the first commit: more numbers,
    objects distribution analysis, etc.

    Alexey Romanov (1):
    zram: add size class equals check into recompression

    Sergey Senozhatsky (8):
    zsmalloc: turn zspage order into runtime variable
    zsmalloc: move away from page order defines
    zsmalloc: make huge class watermark zs_pool member
    zram: huge size watermark cannot be global
    zsmalloc: pass limit on pages per-zspage to zs_create_pool()
    zram: add pages_per_pool_page device attribute
    Documentation: document zram pages_per_pool_page attribute
    zsmalloc: break out of loop when found perfect zspage order

    Documentation/admin-guide/blockdev/zram.rst | 38 +++++--
    drivers/block/zram/zram_drv.c | 63 +++++++++--
    drivers/block/zram/zram_drv.h | 7 ++
    include/linux/zsmalloc.h | 14 ++-
    mm/zsmalloc.c | 112 +++++++++++++-------
    5 files changed, 176 insertions(+), 58 deletions(-)

    --
    2.38.1.273.g43a17bfeac-goog

    \
     
     \ /
      Last update: 2022-10-31 06:42    [W:2.720 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site