X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=inline;f=mm%2FKconfig;h=2888024e0b0abea6b6f37f4531ad0f8dfec5c7b3;hb=14a0d635d18d0fb552dcc979d6d25106e6541f2e;hp=723bbe04a0b0511976d3778a4df94cb2974eb9c8;hpb=8aeab58e560da02772d6018eb4d6923514476a04;p=~andy%2Flinux diff --git a/mm/Kconfig b/mm/Kconfig index 723bbe04a0b..2888024e0b0 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -552,3 +552,28 @@ config MEM_SOFT_DIRTY it can be cleared by hands. See Documentation/vm/soft-dirty.txt for more details. + +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: + https://github.com/spartacus06/zsmapbench