mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
3d711a3827
From the beginning, the zram block device always enabled CRYPTO_LZO, since lzo-rle is hardcoded as the fallback compression algorithm. As a consequence, on systems where another compression algorithm is chosen (e.g. CRYPTO_ZSTD), the lzo kernel module becomes unused, while still having to be built/loaded. This patch removes the hardcoded lzo-rle dependency and allows the user to select the default compression algorithm for zram at build time. The previous behaviour is kept, as the default algorithm is still lzo-rle. Link: https://lkml.kernel.org/r/20201207121245.50529-1-rsalvaterra@gmail.com Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Suggested-by: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> Suggested-by: Minchan Kim <minchan@kernel.org> Acked-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
80 lines
2.2 KiB
Plaintext
80 lines
2.2 KiB
Plaintext
# 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.
|