# SPDX-License-Identifier: GPL-2.0
config ZRAM
	tristate "Compressed RAM block device support"
	depends on BLOCK && SYSFS && MMU
	depends on CRYPTO_LZO || CRYPTO_ZSTD || CRYPTO_LZ4 || CRYPTO_LZ4HC || CRYPTO_842
	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.

choice
	prompt "Default zram compressor"
	default ZRAM_DEF_COMP_LZORLE
	depends on ZRAM

config ZRAM_DEF_COMP_LZORLE
	bool "lzo-rle"
	depends on CRYPTO_LZO

config ZRAM_DEF_COMP_ZSTD
	bool "zstd"
	depends on CRYPTO_ZSTD

config ZRAM_DEF_COMP_LZ4
	bool "lz4"
	depends on CRYPTO_LZ4

config ZRAM_DEF_COMP_LZO
	bool "lzo"
	depends on CRYPTO_LZO

config ZRAM_DEF_COMP_LZ4HC
	bool "lz4hc"
	depends on CRYPTO_LZ4HC

config ZRAM_DEF_COMP_842
	bool "842"
	depends on CRYPTO_842

endchoice

config ZRAM_DEF_COMP
	string
	default "lzo-rle" if ZRAM_DEF_COMP_LZORLE
	default "zstd" if ZRAM_DEF_COMP_ZSTD
	default "lz4" if ZRAM_DEF_COMP_LZ4
	default "lzo" if ZRAM_DEF_COMP_LZO
	default "lz4hc" if ZRAM_DEF_COMP_LZ4HC
	default "842" if ZRAM_DEF_COMP_842

config ZRAM_WRITEBACK
       bool "Write back incompressible or idle page to backing device"
       depends on ZRAM
       help
	 With incompressible page, there is no memory saving to keep it
	 in memory. Instead, write it out to backing device.
	 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 ZRAM_MEMORY_TRACKING
	bool "Track zRam block status"
	depends on ZRAM && DEBUG_FS
	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.
