| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # SPDX-License-Identifier: GPL-2.0
- config ZRAM
- tristate "Compressed RAM block device support"
- depends on BLOCK && SYSFS && MMU
- 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 ZRAM_BACKEND_LZ4
- bool "lz4 compression support"
- depends on ZRAM
- select LZ4_COMPRESS
- select LZ4_DECOMPRESS
- config ZRAM_BACKEND_LZ4HC
- bool "lz4hc compression support"
- depends on ZRAM
- select LZ4HC_COMPRESS
- select LZ4_DECOMPRESS
- config ZRAM_BACKEND_ZSTD
- bool "zstd compression support"
- depends on ZRAM
- select ZSTD_COMPRESS
- select ZSTD_DECOMPRESS
- config ZRAM_BACKEND_DEFLATE
- bool "deflate compression support"
- depends on ZRAM
- select ZLIB_DEFLATE
- select ZLIB_INFLATE
- config ZRAM_BACKEND_842
- bool "842 compression support"
- depends on ZRAM
- select 842_COMPRESS
- select 842_DECOMPRESS
- config ZRAM_BACKEND_FORCE_LZO
- depends on ZRAM
- def_bool !ZRAM_BACKEND_LZ4 && !ZRAM_BACKEND_LZ4HC && \
- !ZRAM_BACKEND_ZSTD && !ZRAM_BACKEND_DEFLATE && \
- !ZRAM_BACKEND_842
- config ZRAM_BACKEND_LZO
- bool "lzo and lzo-rle compression support" if !ZRAM_BACKEND_FORCE_LZO
- depends on ZRAM
- default ZRAM_BACKEND_FORCE_LZO
- select LZO_COMPRESS
- select LZO_DECOMPRESS
- choice
- prompt "Default zram compressor"
- default ZRAM_DEF_COMP_LZORLE
- depends on ZRAM
- config ZRAM_DEF_COMP_LZORLE
- bool "lzo-rle"
- depends on ZRAM_BACKEND_LZO
- config ZRAM_DEF_COMP_LZO
- bool "lzo"
- depends on ZRAM_BACKEND_LZO
- config ZRAM_DEF_COMP_LZ4
- bool "lz4"
- depends on ZRAM_BACKEND_LZ4
- config ZRAM_DEF_COMP_LZ4HC
- bool "lz4hc"
- depends on ZRAM_BACKEND_LZ4HC
- config ZRAM_DEF_COMP_ZSTD
- bool "zstd"
- depends on ZRAM_BACKEND_ZSTD
- config ZRAM_DEF_COMP_DEFLATE
- bool "deflate"
- depends on ZRAM_BACKEND_DEFLATE
- config ZRAM_DEF_COMP_842
- bool "842"
- depends on ZRAM_BACKEND_842
- endchoice
- config ZRAM_DEF_COMP
- string
- depends on ZRAM
- default "lzo-rle" if ZRAM_DEF_COMP_LZORLE
- default "lzo" if ZRAM_DEF_COMP_LZO
- default "lz4" if ZRAM_DEF_COMP_LZ4
- default "lz4hc" if ZRAM_DEF_COMP_LZ4HC
- default "zstd" if ZRAM_DEF_COMP_ZSTD
- default "deflate" if ZRAM_DEF_COMP_DEFLATE
- default "842" if ZRAM_DEF_COMP_842
- default "unset-value"
- config ZRAM_WRITEBACK
- bool "Write back incompressible or idle page to backing device"
- depends on 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 ZRAM_TRACK_ENTRY_ACTIME
- bool "Track access time of zram entries"
- depends on 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 ZRAM_MEMORY_TRACKING
- bool "Track zRam block status"
- depends on ZRAM && DEBUG_FS
- select 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 ZRAM_MULTI_COMP
- bool "Enable multiple compression streams"
- depends on 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.
|