#!/system/bin/sh
#
# Added By Mik (credits to Juwe11 for ram scripts and to dsexton702 for extra Adrenaline Shot)

mount -t debugfs none /sys/kernel/debug
echo NO_GENTLE_FAIR_SLEEPERS > /sys/kernel/debug/sched_features
unmount /sys/kernel/debug

if [ -e /proc/sys/kernel/sched_latency_ns ]; then
	echo 325000 > /proc/sys/kernel/sched_latency_ns
fi

if [ -e /proc/sys/kernel/sched_min_granularity_ns ]; then
	echo 175000 > /proc/sys/kernel/sched_min_granularity_ns
fi

if [ -e /proc/sys/kernel/sched_wakeup_granualarity_ns ]; then
	echo 0 > /proc/sys/kernel/sched_wakeup_granualarity_ns
fi

if [ -e /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate ]; then
	echo 30000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
fi

if [ -e /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold ]; then
	echo 65 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
fi

if [ -e /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy ]; then
	echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
fi

if [ -e /proc/sys/kernel/msgmni ]; then
	echo 16000 > /proc/sys/kernel/msgmni
fi
	
if [ -e /proc/sys/kernel/msgmax ]; then
	echo 84000 > /proc/sys/kernel/msgmax
fi

if [ -e /sys/module/lowmemorykiller/parameters/adj ]; then
	echo "0,3,5,7,14,15" > /sys/module/lowmemorykiller/parameters/adj
fi

if [ -e /sys/module/lowmemorykiller/parameters/minfree ]; then
	echo "1536,3072,19200,25600,32000,38400" > /sys/module/lowmemorykiller/parameters/minfree
fi

if [ -e /proc/sys/vm/swappiness ]; then
	echo "0" > /proc/sys/vm/swappiness
fi

if [ -e /proc/sys/vm/vfs_cache_pressure ]; then
	echo "50" > /proc/sys/vm/vfs_cache_pressure
fi

if [ -e /proc/sys/vm/dirty_expire_centisecs ]; then
	echo "1000" > /proc/sys/vm/dirty_expire_centisecs
fi

if [ -e /proc/sys/vm/dirty_writeback_centisecs ]; then
	echo "2000" > /proc/sys/vm/dirty_writeback_centisecs
fi

if [ -e /proc/sys/vm/dirty_ratio ]; then
	echo "45" > /proc/sys/vm/dirty_ratio
fi

if [ -e /proc/sys/vm/dirty_background_ratio ]; then
	echo "25" > /proc/sys/vm/dirty_background_ratio
fi

setprop dalvik.vm.execution-mode int:fast

for i in \
`find /data -iname "*.db"`
do \
sqlite3 $i 'VACUUM;'; 
done

for i in \
`find /dbdata -iname "*.db"`
do \
sqlite3 $i 'VACUUM;'; 
done

for i in \
`find /sdcard -iname "*.db"`
do \
sqlite3 $i 'VACUUM;'; 
done

if [ -f /data/system/packages.xml ];
	then
	for i in `busybox find /data -iname "*.db"`;	do
		sqlite3 $i 'PRAGMA journal_mode = WAL;'; 
	done;
fi;

if [ -e /data/data/com.google.android.gsf/databases/gservices.db ]; then
	sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "update main set value = 'false' where name = 'perform_market_checkin' and value = 'true'";
	sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "update main set value = 'false' where name = 'checkin_dropbox_upload:system_update' and value = 'true'"
	sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "update main set value = 0 where name = 'market_force_checkin' and value = -1"
	sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "update main set value = 0 where name = 'checkin_interval'"
	sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "update main set value = 0 where name = 'secure:bandwidth_checkin_stat_interval'"
fi;

if [ -e /data/data/com.android.providers.contacts/files ]
then
chmod -R 777 /data/data/com.android.providers.contacts/files;
fi;

echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
busybox sysctl -w kernel.panic_on_oops=1;
busybox sysctl -w kernel.panic=0;

if [ -e /sys/kernel/fast_charge/force_fast_charge ] ; then
	if [ $FAST_CHARGE = "ON" ]; then
		echo "1" > /sys/kernel/fast_charge/force_fast_charge
	else
		echo "0" > /sys/kernel/fast_charge/force_fast_charge
	fi	
fi

if [ -e /sys/block/zram0/disksize ] ; then
	echo $((128*1024*1024)) > /sys/block/zram0/disksize
	busybox mkswap /dev/block/zram0
	busybox swapon /dev/block/zram0
fi

