[Galaxy Note 3 Android Development] HSD-Pilot:
AOSP / CM Init.d Ctrl

I got an nice Tweak Pack to flash on Top of this (or any AOSP CM based Rom) Rom, which includes Temaseks Kernel and some bad ass Scripts to Control the Kernel Values :cool:

If someone is interessted, i'll share what i've got.

Note3 Init.d Ctrl

Including Temaseks Custom Kernel > Props to him for this awesome Work

Build.prop Tweaks

Sqlite Database on Boot (every 48 hours)

Zipalign on Boot (every 48 hours)

Block Ads

Misc VM / Kernel Tweaks

Compltete Control of the Kernel Values through Init.d / Terminal

Apps included: AdAway, Terminal Emulator

The Scripts are designed to be easy editable, so you can configure them to fit your Needs :highfive:

EXAMPLE:

#!/system/bin/sh

#### Set CPU Scaling Governor ####

# interactive conservative ondemand userspace powersave intellidemand

GOVERNOR=intellidemand

#### Set MIN/MAX CPU Frequency ####

# 300000 422400 652800 729600 883200 960000 1036800 1190400 1267200 1497600 1574400 1728000 1958400 2265600 2496000

MAX_OC_LIMIT=2265600

CPU_MIN=300000

CPU_MAX=2265600

#### Set I/O Scheduler ####

# noop deadline row cfq sio bfq fiops test-iosched zen

SCHEDULER=fiops

#### Set SDCache ####

# 128 256 512 1024 2048 4096

READ_AHEAD_KB=2048

#### Set GPU Scaling Governor ####

# cpubw_hwmon msm_cpufreq msm-adreno-tz userspace powersave performance simple_ondemand

GPU_GOVERNOR=simple_ondemand

#### Set MIN/MAX GPU Frequency ####

# 450000000 389000000 320000000 200000000

GPU_MIN=200000000

GPU_MAX=450000000

#### Set GPU Polling Interval ####

# 10

#POLLING_INTERVAL=10 [commented out > same in the activate Part!]

#############################

until [ `pidof com.android.systemui` != "" ]; do

sleep 1

done

sleep 20

cpu=/sys/devices/system/cpu/cpu*

gpu=/sys/class/kgsl/kgsl-3d0/devfreq

dm=/sys/block/dm-*

kernel=/sys/kernel

loop=/sys/block/loop*

mmc=/sys/block/mmc*

ram=/sys/block/ram*

sdcard=/sys/devices/virtual/bdi/179:*

echo " "

echo ">>> CPU <<<"

echo " "

for a in $cpu; do

if [ -e ${a}/cpufreq/scaling_governor ]; then

echo "$GOVERNOR" >> ${a}/cpufreq/scaling_governor; fi

if [ -e ${a}/cpufreq/max_limit ]; then

echo "$MAX_OC_LIMIT" >> ${a}/cpufreq/max_limit; fi

if [ -e ${a}/cpufreq/scaling_min_freq ]; then

echo "$CPU_MIN" >> ${a}/cpufreq/scaling_min_freq ; fi

if [ -e ${a}/cpufreq/scaling_max_freq ]; then

echo "$CPU_MAX" >> ${a}/cpufreq/scaling_max_freq; fi

done

echo " "

echo ">>> GPU <<<"

echo " "

for a in $gpu; do

if [ -e ${a}/governor ]; then

echo "$GPU_GOVERNOR" >> ${a}/governor; fi

if [ -e ${a}/min_freq ]; then

echo "$GPU_MIN" >> ${a}/min_freq; fi

if [ -e ${a}/max_freq ]; then

echo "$GPU_MAX" >> ${a}/max_freq; fi

# if [ -e ${a}/polling_interval ]; then

# echo "$POLLING_INTERVAL" >> ${a}/polling_interval; fi

done

echo " "

echo ">>> I/O SETTINGS <<<"

echo " "

for a in $mmc; do

if [ -e ${a}/queue ]; then

echo "$SCHEDULER" >> ${a}/queue/scheduler; fi

done

# Optimize non-rotating storage;

for i in $dm $loop $mmc $ram; do

if [ -e $i/queue/rotational ]; then

echo "0" > $i/queue/rotational; fi

if [ -e $i/queue/nr_requests ]; then

echo "2048" > $i/queue/nr_requests; fi

# CFQ specific

if [ -e $i/queue/iosched/back_seek_penalty ]; then

echo "1" > $i/queue/iosched/back_seek_penalty; fi

if [ -e $i/queue/iosched/low_latency ]; then

echo "1" > $i/queue/iosched/low_latency; fi

if [ -e $i/queue/iosched/slice_idle ]; then

echo "1" > $i/queue/iosched/slice_idle; fi

if [ -e $i/queue/iosched/quantum ]; then

echo "8" > $i/queue/iosched/quantum; fi

# Deadline/VR/SIO specific

if [ -e $i/queue/iosched/fifo_batch ]; then

echo "4" > $i/queue/iosched/fifo_batch; fi

if [ -e $i/queue/iosched/writes_starved ]; then

echo "1" > $i/queue/iosched/writes_starved; fi

# VR Specific

if [ -e $i/queue/iosched/rev_penalty ]; then

echo "1" > $i/queue/iosched/rev_penalty; fi

if [ -e $i/queue/rq_affinity ]; then

echo "1" > $i/queue/rq_affinity; fi

# ROW specific

if [ -e $i/queue/iosched/hp_read_quantum ]; then

echo "20" > $i/queue/iosched/hp_read_quantum; fi

if [ -e $i/queue/iosched/rp_read_quantum ]; then

echo "20" > $i/queue/iosched/rp_read_quantum; fi

if [ -e $i/queue/iosched/hp_swrite_quantum ]; then

echo "5" > $i/queue/iosched/hp_swrite_quantum; fi

if [ -e $i/queue/iosched/rp_write_quantum ]; then

echo "4" > $i/queue/iosched/rp_write_quantum; fi

if [ -e $i/queue/iosched/rp_swrite_quantum ]; then

echo "4" > $i/queue/iosched/rp_swrite_quantum; fi

if [ -e $i/queue/iosched/lp_read_quantum ]; then

echo "2" > $i/queue/iosched/lp_read_quantum; fi

if [ -e $i/queue/iosched/lp_swrite_quantum ]; then

echo "2" > $i/queue/iosched/lp_swrite_quantum; fi

if [ -e $i/queue/iosched/read_idle ]; then

echo "5" > $i/queue/iosched/read_idle; fi

if [ -e $i/queue/iosched/read_idle_freq ]; then

echo "15" > $i/queue/iosched/read_idle_freq; fi

# Disable iostats to reduce overhead

if [ -e $i/queue/iostats ]; then

echo "0" > $i/queue/iostats; fi

# Optimize for readahead;

if [ -e $i/queue/read_ahead_kb ]; then

echo "256" > $i/queue/read_ahead_kb; fi

# Specifically for NAND devices where reads are faster than writes, writes starved 2:1 is good

if [ -e $i/queue/iosched/writes_starved ]; then

echo "2" > $i/queue/iosched/writes_starved; fi

done

for a in $sdcard; do

if [ -e ${a}/read_ahead_kb ]; then

echo "$READ_AHEAD_KB" >> ${a}/read_ahead_kb; fi

done

All you Guys have to do, is to set your Values and let it run. If you're not sure that your Values are stable, use SManager without the on Boot option to check your edited Script.

Here's an complete overview about the Stuff, you an handle with this Scripts:

u0_a98@hltexx:/ $ su

root@hltexx:/ # current

>>> CPU <<<

GOVERNOR > intellidemand

MIN FREQ > 1728000

MAX FREQ > 2265600

POWER SAVING > 1

BOOST MS > 20

INPUT BOOST FREQ > 1267200

INPUT BOOST MS > 35

SYNC THRESHOLD > 1497600

CPU VOLTAGE TABLE >

300mhz: 755 mV

345mhz: 755 mV

422mhz: 755 mV

499mhz: 755 mV

576mhz: 755 mV

652mhz: 765 mV

729mhz: 775 mV

806mhz: 785 mV

883mhz: 795 mV

960mhz: 805 mV

1036mhz: 815 mV

1113mhz: 830 mV

1190mhz: 840 mV

1267mhz: 850 mV

1344mhz: 865 mV

1420mhz: 875 mV

1497mhz: 885 mV

1574mhz: 900 mV

1651mhz: 915 mV

1728mhz: 930 mV

1804mhz: 945 mV

1881mhz: 960 mV

1958mhz: 975 mV

2035mhz: 985 mV

2112mhz: 1000 mV

2188mhz: 1015 mV

2265mhz: 1030 mV

2496mhz: 1075 mV

INTELLIDEMAND GOVERNOR SETUP

DOWN DIFFERENTIAL > 3

ENABLE BOOST CPU > 1

FREQ STEP > 25

IGNORE NICE LOAD > 0

INPUT EVENT MIN FREQ > 1190400,1190400,1190400,1190400

IO IS BUSY > 0

OPTIMAL FREQ > 300000

POWER SAVE BIAS > 0

SAMPLING DOWN FACTOR > 1

SAMPLING EARLY FACTOR > 3

SAMPLING INTERIM FACTOR > 3

SAMPLING RATE > 30000

SMART EACH OFF > 0

SMART HIGH SLOW UP DURATION > 5

SMART HIGH SLOW UP FREQ > 1728000

SMART SLOW UP DURATION > 2

SMART SLOW UP FREQ > 1574400

SMART SLOW UP LOAD > 90

SMART UP > 0

STEP UP EARLY HISPEED > 1190400

STEP UP INTERIM HISPEED > 1728000

SYNC FREQ > 300000

TWO PHASE FREQ > 0,0,0,0

UI SAMPLING RATE > 30000

UI TIMEOUT > 80

UP THRESHOLD > 95

UP THRESHOLD ANY CPU LOAD > 80

UP THRESHOLD MULTI CORE > 80

>>> GPU <<<

GOVERNOR > simple_ondemand

MIN FREQ > 200000000

MAX FREQ > 450000000

POLLING INTERVAL > 10

>>> I/O <<<

SCHEDULER >

noop deadline row cfq sio bfq [fiops] test-iosched zen

SDCACHE > 2048

>>> INTELLIPLUG <<<

INTELLIPLUG > 1

DUALCORE MODE > 0

INTELLIPLUG NR FSHIFT > 3

INTELLIPLUG NR RUN HYSTERESIS > 8

>>> INTELLI THERMAL <<<

INTELLI THERMAL > Y

CPU CORE TEMP LIMIT > 75

CPU CORE TEMP HYSTERESIS > 5

CPU THERMAL FREQ STEP > 1

TEMP LIMIT > 70

PSM TEMP > 75

PSM TEMP HYSTERESIS > 70

TEMP HYSTERESIS > 5

>>> FSYNC & POWER SUSPEND <<<

FSYNC > 1

POWER SUSPEND > 1

>>> GENTLE FAIR SLEEPERS <<<

NO_GENTLE_FAIR_SLEEPERS START_DEBIT AFFINE_WAKEUPS NO_NEXT_BUDDY LAST_BUDDY CACHE_HOT_BUDDY

NO_ARCH_POWER NO_HRTICK NO_DOUBLE_TICK LB_BIAS OWNER_SPIN NONTASK_POWER TTWU_QUEUE

NO_FORCE_SD_OVERLAP NO_RT_RUNTIME_SHARE NO_LB_MIN

>>> MISC KERNEL SETTINGS <<<

LEASE BREAK TIME > 10

MSGMAX > 64000

MSGMNI > 64000

PANIC > 30

PANIC ON OOPS > 0

SEM > 500 512000 128 2048

>>> MISC VM SETTINGS <<<

DIRTY BACKGROUND RATIO > 20

DIRTY RATIO > 35

DIRTY EXPIRE CENTISECS > 1000

DIRTY WRITEBACK CENTISECS >> 3000

DROP CACHES > 3

LAPTOP MODE > 0

MIN FREE KBYTES > 4096

OOM_KILL_ALLOCATING_TASK > 0

PAGE CLUSTER > 4

PANIC ON OOM > 0

SWAPPINESS > 50

VFS CACHE PRESSURE > 50

>>> TCP ECN <<<

TCP ECN > 0

>>> ENTROPY <<<

ENTROPY > disabled

>>> SQLITE DATABASE <<<

SQLITE > enabled

>>> ZIPALIGN APK's <<<

ZIPALIGN > enabled

@ 03-16-2014 14:30:12

root@hltexx:/ #

To check your current Values, simply open the included Terminal and type su > current

Included are 3 pre-defined Profiles. To switch between them, type su > battery / default / game

You can find them in sytem/bin, to configure them for your needs.

INSTALLATION

Boot in Recovery

Install Zip

Reboot

>>> DOWNLOAD <<<

Alright, that's it. As usual you'll do this all @ your own Risk!

To uninstall it, just reflash the Rom and wipe Cache / Dalvik Cache.