Re: [PATCH] zswap: change zswap's default allocator to zsmalloc

From: Yosry Ahmed
Date: Mon Sep 11 2023 - 17:30:04 EST


On Fri, Sep 8, 2023 at 4:51 PM Nhat Pham <nphamcs@xxxxxxxxx> wrote:
>
> Out of zswap's 3 allocators, zsmalloc is the clear superior in terms of
> memory utilization, both in theory and as observed in practice, with its
> high storage density and low internal fragmentation. zsmalloc is also
> more actively developed and maintained, since it is the allocator of
> choice for zswap for many users, as well as the only allocator for zram.
>
> A historical objection to the selection of zsmalloc as the default
> allocator for zswap is its lack of writeback capability. However, this
> has changed, with the zsmalloc writeback patchset, and the subsequent
> zswap LRU refactor. With this, there is not a lot of good reasons to
> keep zbud, an otherwise inferior allocator, as the default instead of
> zswap.
>
> This patch changes the default allocator to zsmalloc. The only exception
> is on settings without MMU, in which case zbud will remain as the
> default.
>
> Signed-off-by: Nhat Pham <nphamcs@xxxxxxxxx>

Acked-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx>

> ---
> mm/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 721dc88423c7..e0217deca084 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -130,6 +130,7 @@ config ZSWAP_COMPRESSOR_DEFAULT
> choice
> prompt "Default allocator"
> depends on ZSWAP
> + default ZSWAP_ZPOOL_DEFAULT_ZSMALLOC if MMU
> default ZSWAP_ZPOOL_DEFAULT_ZBUD
> help
> Selects the default allocator for the compressed cache for
> --
> 2.34.1
>