Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2edfdf13 authored by Bob Liu's avatar Bob Liu Committed by Gerrit - the friendly Code Review server
Browse files

mm: zcache: add core files



zcache is a backend for cleancache that takes file pages that are in the
process of being reclaimed and attempts to compress them and store them
in a RAM-based memory pool. This can result in a significant I/O reduction
if system is full with file pages and, in the case where decompressing
from RAM is faster than reading from the disk, can also improve workload
performance.

Signed-off-by: default avatarBob Liu <bob.liu@oracle.com>
Patch-mainline: linux-mm @ 2013-08-06 11:36:14
[vinmenon@codeaurora.org: trivial merge conflict fixes, checkpatch fixes]
Signed-off-by: default avatarVinayak Menon <vinmenon@codeaurora.org>
Change-Id: Id05bcc1946eee22b94a83adeb0134a3f6e357ef8
parent 5d82f29d
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -625,6 +625,21 @@ config MAX_STACK_SIZE_MB

	  A sane initial value is 80 MB.

config ZCACHE
       bool "Compressed cache for file pages (EXPERIMENTAL)"
       depends on CRYPTO && CLEANCACHE
       select CRYPTO_LZO
       select ZBUD
       default n
       help
         A compressed cache for file pages.
         It takes active file pages that are in the process of being reclaimed
         and attempts to compress them into a dynamically allocated RAM-based
         memory pool.

         If this process is successful, when those file pages needed again, the
         I/O reading operation was avoided. This results in a significant performance
         gains under memory pressure for systems full with file pages.

config BALANCE_ANON_FILE_RECLAIM
	bool "During reclaim treat anon and file backed pages equally"
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o
obj-$(CONFIG_SWAP)	+= page_io.o swap_state.o swapfile.o
obj-$(CONFIG_FRONTSWAP)	+= frontswap.o
obj-$(CONFIG_ZSWAP)	+= zswap.o
obj-$(CONFIG_ZCACHE)	+= zcache.o
obj-$(CONFIG_HAS_DMA)	+= dmapool.o
obj-$(CONFIG_HUGETLBFS)	+= hugetlb.o
obj-$(CONFIG_NUMA) 	+= mempolicy.o

mm/zcache.c

0 → 100644
+895 −0

File added.

Preview size limit exceeded, changes collapsed.