90 lines
2.5 KiB
Plaintext
90 lines
2.5 KiB
Plaintext
|
# 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.
|
||
|
|
||
|
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_MEMORY_TRACKING.
|