1# SPDX-License-Identifier: GPL-2.0 2config ZRAM 3 tristate "Compressed RAM block device support" 4 depends on BLOCK && SYSFS && ZSMALLOC && CRYPTO 5 depends on CRYPTO_LZO || CRYPTO_ZSTD || CRYPTO_LZ4 || CRYPTO_LZ4HC || CRYPTO_842 6 help 7 Creates virtual block devices called /dev/zramX (X = 0, 1, ...). 8 Pages written to these disks are compressed and stored in memory 9 itself. These disks allow very fast I/O and compression provides 10 good amounts of memory savings. 11 12 It has several use cases, for example: /tmp storage, use as swap 13 disks and maybe many more. 14 15 See Documentation/admin-guide/blockdev/zram.rst for more information. 16 17choice 18 prompt "Default zram compressor" 19 default ZRAM_DEF_COMP_LZORLE 20 depends on ZRAM 21 22config ZRAM_DEF_COMP_LZORLE 23 bool "lzo-rle" 24 depends on CRYPTO_LZO 25 26config ZRAM_DEF_COMP_ZSTD 27 bool "zstd" 28 depends on CRYPTO_ZSTD 29 30config ZRAM_DEF_COMP_LZ4 31 bool "lz4" 32 depends on CRYPTO_LZ4 33 34config ZRAM_DEF_COMP_LZO 35 bool "lzo" 36 depends on CRYPTO_LZO 37 38config ZRAM_DEF_COMP_LZ4HC 39 bool "lz4hc" 40 depends on CRYPTO_LZ4HC 41 42config ZRAM_DEF_COMP_842 43 bool "842" 44 depends on CRYPTO_842 45 46endchoice 47 48config ZRAM_DEF_COMP 49 string 50 default "lzo-rle" if ZRAM_DEF_COMP_LZORLE 51 default "zstd" if ZRAM_DEF_COMP_ZSTD 52 default "lz4" if ZRAM_DEF_COMP_LZ4 53 default "lzo" if ZRAM_DEF_COMP_LZO 54 default "lz4hc" if ZRAM_DEF_COMP_LZ4HC 55 default "842" if ZRAM_DEF_COMP_842 56 57config ZRAM_WRITEBACK 58 bool "Write back incompressible or idle page to backing device" 59 depends on ZRAM 60 help 61 With incompressible page, there is no memory saving to keep it 62 in memory. Instead, write it out to backing device. 63 For this feature, admin should set up backing device via 64 /sys/block/zramX/backing_dev. 65 66 With /sys/block/zramX/{idle,writeback}, application could ask 67 idle page's writeback to the backing device to save in memory. 68 69 See Documentation/admin-guide/blockdev/zram.rst for more information. 70 71config ZRAM_MEMORY_TRACKING 72 bool "Track zRam block status" 73 depends on ZRAM && DEBUG_FS 74 help 75 With this feature, admin can track the state of allocated blocks 76 of zRAM. Admin could see the information via 77 /sys/kernel/debug/zram/zramX/block_state. 78 79 See Documentation/admin-guide/blockdev/zram.rst for more information. 80