replicant-vendor_replicant/prebuilt/common/bin/compcache
wjb 1818fc345a compcache: support ramzswap.ko in alternate module paths
Support module placement other than the "modules_install" location.
(i.e. /system/lib/modules/ or /system/lib/modules/`uname -r`/)

Change-Id: I04c5175b13655c09e1eb9b47fa0745d1cfcb376d
2011-04-05 12:29:30 -04:00

53 lines
1.0 KiB
Bash
Executable File

#!/system/bin/sh
#
# Compcache manager
# shade@chemlab.org (cyanogen)
#
isramzswap="$(find /system/lib/modules/ -name 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 <size>|stop|stats}"
exit 1
esac
exit 0