From e871577202674ba2ac26b8a6a5c8d91bde8c80b9 Mon Sep 17 00:00:00 2001 From: ThomasKaiser Date: Fri, 8 Mar 2019 16:40:34 +0100 Subject: [PATCH] Enable optional zram backing device --- config/kernel/linux-mt7623-default.config | 2 +- config/kernel/linux-mvebu64-default.config | 2 +- config/kernel/linux-mvebu64-dev.config | 2 +- config/kernel/linux-mvebu64-next.config | 2 +- config/kernel/linux-odroidxu4-default.config | 2 +- config/kernel/linux-odroidxu4-dev.config | 2 +- config/kernel/linux-odroidxu4-next.config | 2 +- config/kernel/linux-rockchip-dev.config | 2 +- config/kernel/linux-rockchip-next.config | 2 +- config/kernel/linux-rockchip64-dev.config | 2 +- config/kernel/linux-s5p6818-next.config | 2 +- config/kernel/linux-sunxi-dev.config | 2 +- config/kernel/linux-sunxi-next.config | 2 +- config/kernel/linux-sunxi64-dev.config | 2 +- .../bsp/common/etc/default/armbian-zram-config.dpkg-dist | 5 +++++ packages/bsp/common/usr/lib/armbian/armbian-zram-config | 3 +++ 16 files changed, 22 insertions(+), 14 deletions(-) diff --git a/config/kernel/linux-mt7623-default.config b/config/kernel/linux-mt7623-default.config index 380c2e0985..69d8ee4808 100644 --- a/config/kernel/linux-mt7623-default.config +++ b/config/kernel/linux-mt7623-default.config @@ -1933,7 +1933,7 @@ CONFIG_BLK_DEV=y CONFIG_CDROM=y # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set diff --git a/config/kernel/linux-mvebu64-default.config b/config/kernel/linux-mvebu64-default.config index f99f7f754b..86e86c39fe 100644 --- a/config/kernel/linux-mvebu64-default.config +++ b/config/kernel/linux-mvebu64-default.config @@ -1759,7 +1759,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set diff --git a/config/kernel/linux-mvebu64-dev.config b/config/kernel/linux-mvebu64-dev.config index c4bf23f7e8..810ec6bd85 100644 --- a/config/kernel/linux-mvebu64-dev.config +++ b/config/kernel/linux-mvebu64-dev.config @@ -1762,7 +1762,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set diff --git a/config/kernel/linux-mvebu64-next.config b/config/kernel/linux-mvebu64-next.config index 3f313a141d..95b37604ac 100644 --- a/config/kernel/linux-mvebu64-next.config +++ b/config/kernel/linux-mvebu64-next.config @@ -1912,7 +1912,7 @@ CONFIG_BLK_DEV=y CONFIG_BLK_DEV_NULL_BLK=m # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set diff --git a/config/kernel/linux-odroidxu4-default.config b/config/kernel/linux-odroidxu4-default.config index 521051f504..3521235736 100644 --- a/config/kernel/linux-odroidxu4-default.config +++ b/config/kernel/linux-odroidxu4-default.config @@ -1644,7 +1644,7 @@ CONFIG_PARPORT=m CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-odroidxu4-dev.config b/config/kernel/linux-odroidxu4-dev.config index fbc859452c..030bae773d 100644 --- a/config/kernel/linux-odroidxu4-dev.config +++ b/config/kernel/linux-odroidxu4-dev.config @@ -1675,7 +1675,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_CDROM=m CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-odroidxu4-next.config b/config/kernel/linux-odroidxu4-next.config index b9f64a59f9..6b3dc798ef 100644 --- a/config/kernel/linux-odroidxu4-next.config +++ b/config/kernel/linux-odroidxu4-next.config @@ -1643,7 +1643,7 @@ CONFIG_PARPORT=m CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-rockchip-dev.config b/config/kernel/linux-rockchip-dev.config index a6ec7a7a00..fe8ea9d7d0 100644 --- a/config/kernel/linux-rockchip-dev.config +++ b/config/kernel/linux-rockchip-dev.config @@ -1677,7 +1677,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_CDROM=y CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-rockchip-next.config b/config/kernel/linux-rockchip-next.config index 36f5c6da22..c3fe2cffc1 100644 --- a/config/kernel/linux-rockchip-next.config +++ b/config/kernel/linux-rockchip-next.config @@ -1687,7 +1687,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_CDROM=y CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-rockchip64-dev.config b/config/kernel/linux-rockchip64-dev.config index 84ca04b554..7f3fd07e4f 100644 --- a/config/kernel/linux-rockchip64-dev.config +++ b/config/kernel/linux-rockchip64-dev.config @@ -1717,7 +1717,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y diff --git a/config/kernel/linux-s5p6818-next.config b/config/kernel/linux-s5p6818-next.config index 62f374d1af..913be33541 100644 --- a/config/kernel/linux-s5p6818-next.config +++ b/config/kernel/linux-s5p6818-next.config @@ -1530,7 +1530,7 @@ CONFIG_OF_NUMA=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-sunxi-dev.config b/config/kernel/linux-sunxi-dev.config index b48e1a8b1f..695aceeb93 100644 --- a/config/kernel/linux-sunxi-dev.config +++ b/config/kernel/linux-sunxi-dev.config @@ -1798,7 +1798,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_CDROM=m CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-sunxi-next.config b/config/kernel/linux-sunxi-next.config index e1a75b72af..47ad3a2e2f 100644 --- a/config/kernel/linux-sunxi-next.config +++ b/config/kernel/linux-sunxi-next.config @@ -1797,7 +1797,7 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_CDROM=m CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/config/kernel/linux-sunxi64-dev.config b/config/kernel/linux-sunxi64-dev.config index adf8311258..860a6547e9 100644 --- a/config/kernel/linux-sunxi64-dev.config +++ b/config/kernel/linux-sunxi64-dev.config @@ -1695,7 +1695,7 @@ CONFIG_OF_NUMA=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_ZRAM=m -# CONFIG_ZRAM_WRITEBACK is not set +CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 diff --git a/packages/bsp/common/etc/default/armbian-zram-config.dpkg-dist b/packages/bsp/common/etc/default/armbian-zram-config.dpkg-dist index c563c8edd9..08acfbe15b 100644 --- a/packages/bsp/common/etc/default/armbian-zram-config.dpkg-dist +++ b/packages/bsp/common/etc/default/armbian-zram-config.dpkg-dist @@ -27,3 +27,8 @@ ENABLED=true # Which algorithm to choose for zram based /tmp # TMP_ALGORITHM=zstd + +# If defined a separate partition will be used as zram backing device. Be CAREFUL +# which partition you assign and read starting from CONFIG_ZRAM_WRITEBACK in +# https://www.kernel.org/doc/Documentation/blockdev/zram.txt +# ZRAM_BACKING_DEV=/dev/nvme0n2 \ No newline at end of file diff --git a/packages/bsp/common/usr/lib/armbian/armbian-zram-config b/packages/bsp/common/usr/lib/armbian/armbian-zram-config index e026c4a65b..5641ec776c 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-zram-config +++ b/packages/bsp/common/usr/lib/armbian/armbian-zram-config @@ -48,6 +48,9 @@ activate_zram_swap() { swap_algo=${SWAP_ALGORITHM:=lzo} for (( i=1; i<=zram_devices; i++ )); do [[ -f /sys/block/zram${i}/comp_algorithm ]] && echo ${swap_algo} >/sys/block/zram${i}/comp_algorithm 2>/dev/null + if [ "X${ZRAM_BACKING_DEV}" != "X" ]; then + echo ${ZRAM_BACKING_DEV} >/sys/block/zram${i}/backing_dev + fi echo -n ${mem_per_zram_device} > /sys/block/zram${i}/disksize echo -n ${mem_limit_per_zram_device} > /sys/block/zram${i}/mem_limit mkswap /dev/zram${i}