mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
9f3310ccc7
When Compressed RAM block device support is disabled, the
CONFIG_ZRAM_DEF_COMP symbol still ends up in the generated config file:
CONFIG_ZRAM_DEF_COMP="unset-value"
While this causes no real harm, avoid polluting the config file by
adding a dependency on ZRAM.
Link: https://lkml.kernel.org/r/64e05bad68a9bd5cc322efd114a04d25de525940.1730807319.git.geert@linux-m68k.org
Fixes: 917a59e81c
("zram: introduce custom comp backends API")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
148 lines
3.8 KiB
Plaintext
148 lines
3.8 KiB
Plaintext
# 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.
|