Bard
Android Expert
What is this?
Inspred by rhino889a's post here.
http://androidforums.com/motion-4g-all-things-root/691591-snappy.html
LG Motion is Dual Core phone which means there are two CPUs in our phone; CPU0 and CPU1.
On default, CPU0 stays online all the time and does the major works.
CPU1 sleeps first (offline). It wakes up and works on certain events (CPU intensive work I guess)
According to rhino889's observation, CPU1 seemed like sleeping too often. So I decided to wake him up all the time lol.
Do at your own risk
This modifies one of the important script on booting.
You must be rooted and familiar with folder structure.
You must know how to edit file and save with Super User previlege.
This may drain your battery fast or (even worse) may damage your CPU.
Easy Way
1. Use Root Browser or File Manager then navigate to /system/etc
2. Change init.qcom.post_boot.sh to init.qcom.post_boot.bak (backup)
3. Download modified init.qcom.post_boot.sh from below link.
https://docs.google.com/file/d/0B69dMfqyU4n9QXhWYnd3VmhfRzg/edit?usp=sharing
4. Copy & Paste it on /system/etc
5. Restart your phone
6. Enjoy
7. If you don't like this feature, you can simply delete init.qcom.post_boot.sh, then change init.qcom.post_boot.bak to init.qcom.post_boot.sh. Reboot your phone.
Hard Way
1. As rhino889a and Sepero mentioned the goal is turn on CPU1 by this command echo 1 > /sys/devices/system/cpu/cpu1/online and apply it on boot.
2. Locate init.qcom.post_boot.sh in /system/etc folder with your root browser (I used Rom Tool Box)
3. Create a backup file of this (i.e. init.qcom.post_boot.bak)
4. Now Modify the original init.qcom.post_boot.sh file
5. Our Board is msm8960. Find msm8960 related code block.
case "$target" in
"msm8960")
...
...
;;
esac
6. At the end of case block you see below.
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu1/online
7. Add echo 1 line. Change chmod 664 to 444
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
8. Save the file. Make sure your change is applied.
9. Restart the phone.
10. After restart, check if CPU1 is online. You can use app or open up /sys/devices/system/cpu/cpu1/online and see if its value is 1
11. If you don't like this feature, remove modified lines (remove echo 1 line. Change chmod 444 to 664) or delete .sh file and rename .bak file to .sh. Make sure restart the phone.
Screen Shots
More Code
It seems like you can also set Governor and other properties on this code block.
Things to play with
1. It feels like phone operation is smooth'er and snappy'er. But the phone was already snappy in the beginnig anway... so it might be just feeling.
What I am testing is opening up bunch of apps altogether then keep switching them (long press home key). It feels like phone is switching and loading apps faster but again.. it's subjective...
2. Antutu bench mark is about same (1300 ish).
I admit that I was expecting higher score but again Dual Core doesn't mean it's twice faster, more like it can do multi tasks more efficiently.
3. I didn't have enough time to check battery consumption. You guys may test this and post result.
So far my 2+ hours of light use, I don't see any difference. Need more testing result here.
4. As far as I know there are 5 CPU Governors available. Feel free to try different combinations.
Personally I am interested in msm-dcvs as it's one of the new governor made for Qualcomm specific model
msm-dcvs
ondemand (default)
userspace
powersave
performance
For more information on each governor check this thread @ XDA.
http://forum.xda-developers.com/showthread.php?t=1736168
Inspred by rhino889a's post here.
http://androidforums.com/motion-4g-all-things-root/691591-snappy.html
LG Motion is Dual Core phone which means there are two CPUs in our phone; CPU0 and CPU1.
On default, CPU0 stays online all the time and does the major works.
CPU1 sleeps first (offline). It wakes up and works on certain events (CPU intensive work I guess)
According to rhino889's observation, CPU1 seemed like sleeping too often. So I decided to wake him up all the time lol.
Do at your own risk
This modifies one of the important script on booting.
You must be rooted and familiar with folder structure.
You must know how to edit file and save with Super User previlege.
This may drain your battery fast or (even worse) may damage your CPU.
Easy Way
1. Use Root Browser or File Manager then navigate to /system/etc
2. Change init.qcom.post_boot.sh to init.qcom.post_boot.bak (backup)
3. Download modified init.qcom.post_boot.sh from below link.
https://docs.google.com/file/d/0B69dMfqyU4n9QXhWYnd3VmhfRzg/edit?usp=sharing
4. Copy & Paste it on /system/etc
5. Restart your phone
6. Enjoy
7. If you don't like this feature, you can simply delete init.qcom.post_boot.sh, then change init.qcom.post_boot.bak to init.qcom.post_boot.sh. Reboot your phone.
Hard Way
1. As rhino889a and Sepero mentioned the goal is turn on CPU1 by this command echo 1 > /sys/devices/system/cpu/cpu1/online and apply it on boot.
2. Locate init.qcom.post_boot.sh in /system/etc folder with your root browser (I used Rom Tool Box)
3. Create a backup file of this (i.e. init.qcom.post_boot.bak)
4. Now Modify the original init.qcom.post_boot.sh file
5. Our Board is msm8960. Find msm8960 related code block.
case "$target" in
"msm8960")
...
...
;;
esac
6. At the end of case block you see below.
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu1/online
7. Add echo 1 line. Change chmod 664 to 444
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
8. Save the file. Make sure your change is applied.
9. Restart the phone.
10. After restart, check if CPU1 is online. You can use app or open up /sys/devices/system/cpu/cpu1/online and see if its value is 1
11. If you don't like this feature, remove modified lines (remove echo 1 line. Change chmod 444 to 664) or delete .sh file and rename .bak file to .sh. Make sure restart the phone.
Screen Shots



More Code
It seems like you can also set Governor and other properties on this code block.
case "$target" in
"msm8960")
echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown root.system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
;;
esac
"msm8960")
echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown root.system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
;;
esac
Things to play with
1. It feels like phone operation is smooth'er and snappy'er. But the phone was already snappy in the beginnig anway... so it might be just feeling.
What I am testing is opening up bunch of apps altogether then keep switching them (long press home key). It feels like phone is switching and loading apps faster but again.. it's subjective...
2. Antutu bench mark is about same (1300 ish).
I admit that I was expecting higher score but again Dual Core doesn't mean it's twice faster, more like it can do multi tasks more efficiently.
3. I didn't have enough time to check battery consumption. You guys may test this and post result.
So far my 2+ hours of light use, I don't see any difference. Need more testing result here.
4. As far as I know there are 5 CPU Governors available. Feel free to try different combinations.
Personally I am interested in msm-dcvs as it's one of the new governor made for Qualcomm specific model
msm-dcvs
ondemand (default)
userspace
powersave
performance
For more information on each governor check this thread @ XDA.
http://forum.xda-developers.com/showthread.php?t=1736168