• Sergey Senozhatsky's avatar
    zsmalloc: drop unused variable `nr_to_migrate' · b430d1fd
    Sergey Senozhatsky authored
    This patchset tweaks compaction and makes it possible to trigger pool
    compaction automatically when system is getting low on memory.
    
    zsmalloc in some cases can suffer from a notable fragmentation and
    compaction can release some considerable amount of memory.  The problem
    here is that currently we fully rely on user space to perform compaction
    when needed.  However, performing zsmalloc compaction is not always an
    obvious thing to do.  For example, suppose we have a `idle' fragmented
    (compaction was never performed) zram device and system is getting low
    on memory due to some 3rd party user processes (gcc LTO, or firefox,
    etc.).  It's quite unlikely that user space will issue zpool compaction
    in this case.  Besides, user space cannot tell for sure how badly pool
    is fragmented; however, this info is known to zsmalloc and, hence, to a
    shrinker.
    
    This patch (of 7):
    
    __zs_compact() does not use `nr_to_migrate', drop it.
    Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Acked-by: default avatarMinchan Kim <minchan@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b430d1fd
zsmalloc.c 45.3 KB