# HG changeset patch # User Pascal Bellard # Date 1570268178 -7200 # Node ID 2ba7edb00cce5b4c92b368448df7b4d9ccaa7294 # Parent 0601356024df0b64fc6a853fb1439437f227f230 linux-zram: split swap according to cores count diff -r 0601356024df -r 2ba7edb00cce easy-rsa/receipt --- a/easy-rsa/receipt Sat Oct 05 10:18:31 2019 +0100 +++ b/easy-rsa/receipt Sat Oct 05 11:36:18 2019 +0200 @@ -15,13 +15,13 @@ # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { - mkdir -p $install/usr/share $fs/usr/share/ $fs/usr/bin + mkdir -p $install/usr/share $fs/usr/share $fs/usr/bin cp -a $src/doc $install/usr/share cp -a $src/easyrsa${VERSION%%.*} $fs/usr/share/easy-rsa cat > $fs/usr/bin/make-cadir < /sys/block/zram0/disksize + devices=$(awk '/cpu cores/{c=$4} /processor/{p++} + END { if (c>0) p=c; if (p==0) p++; print p }' /proc/cpuinfo) + modprobe zram zram_num_devices=$devices && + [ -n "$SIZE_KB" ] && for i in $(seq 0 $(($devices-1))); do + echo $(($SIZE_KB * 1024 / $devices)) > /sys/block/zram$i/disksize + done status action 'Starting %s: %s...' "$DESC" $NAME - mkswap /dev/zram0 && swapon /dev/zram0 -p 100 + for i in $(seq 0 $(($devices-1))); do + mkswap /dev/zram$i && swapon /dev/zram$i -p 100 + done status ;; stop) @@ -31,7 +37,9 @@ exit 1 fi action 'Stopping %s: %s...' "$DESC" $NAME - swapoff /dev/zram0 && echo 1 > /sys/block/zram0/reset + for i in $(cd /sys/block/; ls -d zram*); do + swapoff /dev/$i && echo 1 > /sys/block/$i/reset + done status action 'Unloading module...' rmmod zram diff -r 0601356024df -r 2ba7edb00cce linux64-zram/stuff/compcache --- a/linux64-zram/stuff/compcache Sat Oct 05 10:18:31 2019 +0100 +++ b/linux64-zram/stuff/compcache Sat Oct 05 11:36:18 2019 +0200 @@ -17,12 +17,18 @@ exit 1 fi action 'Loading module...' - modprobe zram zram_num_devices=1 && - [ -n "$SIZE_KB" ] && echo $(($SIZE_KB * 1024)) > /sys/block/zram0/disksize + devices=$(awk '/cpu cores/{c=$4} /processor/{p++} + END { if (c>0) p=c; if (p==0) p++; print p }' /proc/cpuinfo) + modprobe zram zram_num_devices=$devices && + [ -n "$SIZE_KB" ] && for i in $(seq 0 $(($devices-1))); do + echo $(($SIZE_KB * 1024 / $devices)) > /sys/block/zram$i/disksize + done status action 'Starting %s: %s...' "$DESC" $NAME - mkswap /dev/zram0 && swapon /dev/zram0 -p 100 + for i in $(seq 0 $(($devices-1))); do + mkswap /dev/zram$i && swapon /dev/zram$i -p 100 + done status ;; stop) @@ -31,7 +37,9 @@ exit 1 fi action 'Stopping %s: %s...' "$DESC" $NAME - swapoff /dev/zram0 && echo 1 > /sys/block/zram0/reset + for i in $(cd /sys/block/; ls -d zram*); do + swapoff /dev/$i && echo 1 > /sys/block/$i/reset + done status action 'Unloading module...' rmmod zram