config ZSMALLOC bool "Memory allocator for compressed pages" depends on MMU default n help zsmalloc is a slab-based memory allocator designed to store compressed RAM pages. zsmalloc uses virtual memory mapping in order to reduce fragmentation. However, this results in a non-standard allocator interface where a handle, not a pointer, is returned by an alloc(). This handle must be mapped in order to access the allocated space. config PGTABLE_MAPPING bool "Use page table mapping to access object in zsmalloc" depends on ZSMALLOC help By default, zsmalloc uses a copy-based object mapping method to access allocations that span two pages. However, if a particular architecture (ex, ARM) performs VM mapping faster than copying, then you should select this. This causes zsmalloc to use page table mapping rather than copying for object mapping. You can check speed with zsmalloc benchmark[1]. [1] https://github.com/spartacus06/zsmalloc