#!/system/bin/sh # # Compcache manager # shade@chemlab.org (cyanogen) # isramzswap="$(ls -1 /system/lib/modules/2.6.*/kernel/drivers/staging/ramzswap/ramzswap.ko 2>/dev/null)" if [ -n "$isramzswap" ] ; then MODULE=ramzswap DEV=/dev/block/ramzswap0 else DEV=/dev/block/zram0 MODULE=zram SYSFS_PATH=/sys/block/zram0 fi case "$1" in start) echo 3 > /proc/sys/vm/drop_caches echo 30 > /proc/sys/vm/swappiness modprobe $MODULE if [ $MODULE = ramzswap ]; then rzscontrol $DEV --disksize_kb=$2 --init else echo "$((2 * 1024))" > $SYSFS_PATH/disksize mkswap $DEV >/dev/null fi swapon $DEV ;; stop) swapoff $DEV >/dev/null 2>&1 rmmod $MODULE >/dev/null 2>&1 ;; stats) if [ $MODULE = ramzswap ]; then rzscontrol $DEV --stats else cd $SYSFS_PATH && for i in * ; do echo -n "$i:" cat $i done fi ;; *) echo "Usage: $0 {start |stop|stats}" exit 1 esac exit 0