# SPDX-License-Identifier: GPL-2.0 config AMLOGIC_ZRAM tristate "Compressed RAM block device support" depends on BLOCK && SYSFS && MMU depends on AMLOGIC_AMFC select ZSMALLOC help Creates virtual block devices called /dev/zramX (X = 0, 1, ...). Pages written to these disks are compressed and stored in memory itself. These disks allow very fast I/O and compression provides good amounts of memory savings. It has several use cases, for example: /tmp storage, use as swap disks and maybe many more. See Documentation/admin-guide/blockdev/zram.rst for more information. config AMLOGIC_ZRAM_BACKEND_LZ4 bool "lz4 compression support" depends on AMLOGIC_ZRAM config AMLOGIC_ZRAM_BACKEND_LZO bool "lzo and lzo-rle compression support" depends on AMLOGIC_ZRAM depends on CONFIG_LZO_COMPRESS depends on CONFIG_LZO_DECOMPRESS config AMLOGIC_ZRAM_BACKEND_AMFC bool "amfc compression support" depends on AMLOGIC_ZRAM depends on AMLOGIC_AMFC choice prompt "Default zram compressor" default AMLOGIC_ZRAM_DEF_COMP_LZ4 depends on AMLOGIC_ZRAM config AMLOGIC_ZRAM_DEF_COMP_LZO bool "lzo" depends on AMLOGIC_ZRAM_BACKEND_LZO config AMLOGIC_ZRAM_DEF_COMP_LZ4 bool "lz4" depends on AMLOGIC_ZRAM_BACKEND_LZ4 config AMLOGIC_ZRAM_DEF_COMP_AMFC bool "amfc" depends on AMLOGIC_ZRAM_BACKEND_AMFC endchoice config AMLOGIC_ZRAM_DEF_COMP string default "lzo" if AMLOGIC_ZRAM_DEF_COMP_LZO default "lz4" if AMLOGIC_ZRAM_DEF_COMP_LZ4 default "amfc" if AMLOGIC_ZRAM_DEF_COMP_AMFC default "unset-value" config AMLOGIC_ZRAM_WRITEBACK bool "Write back incompressible or idle page to backing device" depends on AMLOGIC_ZRAM help This lets zram entries (incompressible or idle pages) be written back to a backing device, helping save memory. For this feature, admin should set up backing device via /sys/block/zramX/backing_dev. With /sys/block/zramX/{idle,writeback}, application could ask idle page's writeback to the backing device to save in memory. See Documentation/admin-guide/blockdev/zram.rst for more information. config AMLOGIC_ZRAM_TRACK_ENTRY_ACTIME bool "Track access time of zram entries" depends on AMLOGIC_ZRAM help With this feature zram tracks access time of every stored entry (page), which can be used for a more fine grained IDLE pages writeback. config AMLOGIC_ZRAM_MEMORY_TRACKING bool "Track zRam block status" depends on AMLOGIC_ZRAM && DEBUG_FS select AMLOGIC_ZRAM_TRACK_ENTRY_ACTIME help With this feature, admin can track the state of allocated blocks of zRAM. Admin could see the information via /sys/kernel/debug/zram/zramX/block_state. See Documentation/admin-guide/blockdev/zram.rst for more information. config AMLOGIC_ZRAM_MULTI_COMP bool "Enable multiple compression streams" depends on AMLOGIC_ZRAM help This will enable multi-compression streams, so that ZRAM can re-compress pages using a potentially slower but more effective compression algorithm. Note, that IDLE page recompression requires ZRAM_TRACK_ENTRY_ACTIME. config AMLOGIC_ZSM bool "Amlogic ZRAM Same object Merging" depends on AMLOGIC_ZRAM default n help This driver enabled same object merge in ZRAM like ksm. it can help to save zram used memory