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