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 >