Loading Documentation/blockdev/zram.txt +25 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ line of text and contains the following stats separated by whitespace: pages_compacted the number of pages freed during compaction dup_data_size deduplicated data size meta_data_size the amount of metadata allocated for deduplication feature huge_pages the number of incompressible pages 9) Deactivate: swapoff /dev/zram0 Loading @@ -244,5 +245,29 @@ to backing storage rather than keeping it in memory. User should set up backing device via /sys/block/zramX/backing_dev before disksize setting. = memory tracking With CONFIG_ZRAM_MEMORY_TRACKING, user can know information of the zram block. It could be useful to catch cold or incompressible pages of the process with*pagemap. If you enable the feature, you could see block state via /sys/kernel/debug/zram/zram0/block_state". The output is as follows, 300 75.033841 .wh 301 63.806904 s.. 302 63.806919 ..h First column is zram's block index. Second column is access time since the system was booted Third column is state of the block. (s: same page w: written page to backing store h: huge page) First line of above example says 300th block is accessed at 75.033841sec and the block's state is huge so it is written back to the backing storage. It's a debugging feature so anyone shouldn't rely on it to work properly. Nitin Gupta ngupta@vflare.org arch/x86/configs/x86_64_cuttlefish_defconfig +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ CONFIG_X86_CPUID=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_ZSMALLOC=y # CONFIG_MTRR is not set CONFIG_HZ_100=y CONFIG_KEXEC=y Loading Loading @@ -198,6 +199,7 @@ CONFIG_DEBUG_DEVRES=y CONFIG_OF=y CONFIG_OF_UNITTEST=y # CONFIG_PNP_DEBUG_MESSAGES is not set CONFIG_ZRAM=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=8192 Loading Loading @@ -452,6 +454,8 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_CRYPTO_RSA=y # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_ZSTD=y CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y Loading crypto/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -1652,6 +1652,15 @@ config CRYPTO_LZ4HC help This is the LZ4 high compression mode algorithm. config CRYPTO_ZSTD tristate "Zstd compression algorithm" select CRYPTO_ALGAPI select CRYPTO_ACOMP2 select ZSTD_COMPRESS select ZSTD_DECOMPRESS help This is the zstd algorithm. comment "Random Number Generation" config CRYPTO_ANSI_CPRNG Loading crypto/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,7 @@ obj-$(CONFIG_CRYPTO_USER_API_HASH) += algif_hash.o obj-$(CONFIG_CRYPTO_USER_API_SKCIPHER) += algif_skcipher.o obj-$(CONFIG_CRYPTO_USER_API_RNG) += algif_rng.o obj-$(CONFIG_CRYPTO_USER_API_AEAD) += algif_aead.o obj-$(CONFIG_CRYPTO_ZSTD) += zstd.o ecdh_generic-y := ecc.o ecdh_generic-y += ecdh.o Loading crypto/testmgr.c +10 −0 Original line number Diff line number Diff line Loading @@ -3639,6 +3639,16 @@ static const struct alg_test_desc alg_test_descs[] = { .decomp = __VECS(zlib_deflate_decomp_tv_template) } } }, { .alg = "zstd", .test = alg_test_comp, .fips_allowed = 1, .suite = { .comp = { .comp = __VECS(zstd_comp_tv_template), .decomp = __VECS(zstd_decomp_tv_template) } } } }; Loading Loading
Documentation/blockdev/zram.txt +25 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ line of text and contains the following stats separated by whitespace: pages_compacted the number of pages freed during compaction dup_data_size deduplicated data size meta_data_size the amount of metadata allocated for deduplication feature huge_pages the number of incompressible pages 9) Deactivate: swapoff /dev/zram0 Loading @@ -244,5 +245,29 @@ to backing storage rather than keeping it in memory. User should set up backing device via /sys/block/zramX/backing_dev before disksize setting. = memory tracking With CONFIG_ZRAM_MEMORY_TRACKING, user can know information of the zram block. It could be useful to catch cold or incompressible pages of the process with*pagemap. If you enable the feature, you could see block state via /sys/kernel/debug/zram/zram0/block_state". The output is as follows, 300 75.033841 .wh 301 63.806904 s.. 302 63.806919 ..h First column is zram's block index. Second column is access time since the system was booted Third column is state of the block. (s: same page w: written page to backing store h: huge page) First line of above example says 300th block is accessed at 75.033841sec and the block's state is huge so it is written back to the backing storage. It's a debugging feature so anyone shouldn't rely on it to work properly. Nitin Gupta ngupta@vflare.org
arch/x86/configs/x86_64_cuttlefish_defconfig +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ CONFIG_X86_CPUID=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_ZSMALLOC=y # CONFIG_MTRR is not set CONFIG_HZ_100=y CONFIG_KEXEC=y Loading Loading @@ -198,6 +199,7 @@ CONFIG_DEBUG_DEVRES=y CONFIG_OF=y CONFIG_OF_UNITTEST=y # CONFIG_PNP_DEBUG_MESSAGES is not set CONFIG_ZRAM=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=8192 Loading Loading @@ -452,6 +454,8 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_CRYPTO_RSA=y # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_ZSTD=y CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y Loading
crypto/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -1652,6 +1652,15 @@ config CRYPTO_LZ4HC help This is the LZ4 high compression mode algorithm. config CRYPTO_ZSTD tristate "Zstd compression algorithm" select CRYPTO_ALGAPI select CRYPTO_ACOMP2 select ZSTD_COMPRESS select ZSTD_DECOMPRESS help This is the zstd algorithm. comment "Random Number Generation" config CRYPTO_ANSI_CPRNG Loading
crypto/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,7 @@ obj-$(CONFIG_CRYPTO_USER_API_HASH) += algif_hash.o obj-$(CONFIG_CRYPTO_USER_API_SKCIPHER) += algif_skcipher.o obj-$(CONFIG_CRYPTO_USER_API_RNG) += algif_rng.o obj-$(CONFIG_CRYPTO_USER_API_AEAD) += algif_aead.o obj-$(CONFIG_CRYPTO_ZSTD) += zstd.o ecdh_generic-y := ecc.o ecdh_generic-y += ecdh.o Loading
crypto/testmgr.c +10 −0 Original line number Diff line number Diff line Loading @@ -3639,6 +3639,16 @@ static const struct alg_test_desc alg_test_descs[] = { .decomp = __VECS(zlib_deflate_decomp_tv_template) } } }, { .alg = "zstd", .test = alg_test_comp, .fips_allowed = 1, .suite = { .comp = { .comp = __VECS(zstd_comp_tv_template), .decomp = __VECS(zstd_decomp_tv_template) } } } }; Loading