[Settings] Tweaks to lower CPU temperature and scaling - Xiaomi Mi 4i

Everyone of us know that the Snapdragon 615 heats up a little bit
To avoid the high scaling an temperature just while browsing or idle I made some changes too the boot.sh file and want to share it with you.
I'm running these settings now for about 2 weeks (CM12.1 and now PAC Rom) with RaZorReborn kernel, but it should work with other kernels or Miui too!
To use this do the following steps:
1. Backup the stock "init.qcom.post_boot.sh" from /system/etc/ (for example with Root Explorer, just copy it to your SD card or PC...)
2. Download the file and place it in /system/etc/ (for example with Root Explorer)
3. Set permissions to rw-r--r--
4. Reboot device
For changing thermal.conf do the same as above, just with the "thermal-engine-8939.conf" file. With this tweaked config the device heats more up but should run faster!
Note:
For Miui OTA updates you have to restore the original files and unroot the device!
"init.qcom.post_boot.sh" changes:
Code:
[U]24.08.2015:[/U]
- added latest Miui 7 changes
- added 2 download options for scaling governor -> ( Ondemand, Interactive and combination of Ondemand [little] and Interactice [big] )
- Tested on Miui 7
[U]19.08.2015:[/U]
- added low power modes (sched_spill_load /// sched_spill_nr_run /// sched_upmigrate_min_nice)
[U]17.08.2015:[/U]
- Bug fixes
[U]17.06.2015:
[/U]- cpu idle load thresholds
- HMP scheduler (big.Little cluster related) settings
- settings for perf cluster
- settings for power cluster
- setprop ro.min_freq
- fix sched_mostly_idle_nr_run (wrong path in original file)
- set "ondemand" as default CPU governor
- set "simple_ondemand" as default GPU governor
- Reduced file size a lot!!
"thermal-engine-8939.conf" changes:
Code:
- SS-CPU0 (thermal throttling while charging - devices get's hotter and trottle later)
- XO_GPU_MONITOR (GPU trottle later)
Downloads:
init.qcom.post_boot.sh (ondemand governor)
init.qcom.post_boot.sh (interactive governor)
init.qcom.post_boot.sh (ondemand & interactive governor)
thermal-engine-8939.conf
Note:
I'm not responsible due to device damage caused by e.g. wrong settings!
Information:
Created: 2015-06-17
Last Updated: 2015-08-24

That's it!!!! Thanks man!
Sent from my MI 4i using XDA Free mobile app

On BIG cluster min freq returning to same as max after a while (((
CM12.1 like to -o3 stock kernel
Any suggests?
Sent from my MI 4i using XDA Free mobile app

dtgeorge said:
On BIG cluster min freq returning to same as max after a while (((
CM12.1 like to -o3 stock kernel
Any suggests?
Sent from my MI 4i using XDA Free mobile app
Click to expand...
Click to collapse
It's normal that depending on the usage the min frequency is raised sometimes. It should revert back while idle.
Also faced this problem with some kernel apps when the thermal throttling kicks in or the little/big clusters turned on/off. Try to set it again to 200 MHz.
Gesendet von meinem Mi 4i mit Tapatalk

I think this has definitely helped abit! Once we can undervolt this device and in combination with these tweaked settings... We might have something useable!

why not set the governor in "init.qcom.post_boot.sh" ?

I recommend this mod. Great find

Ok, it works!
What about BIG.little? Should both clusters work at the same time (like now) or just replace each other? Afaik the main idea of BIG.little is in second option. And I can't guess - why clusters turn off only by thermal throttling?
Sent from my MI 4i using XDA Free mobile app

dtgeorge said:
Ok, it works!
What about BIG.little? Should both clusters work at the same time (like now) or just replace each other? Afaik the main idea of BIG.little is in second option. And I can't guess - why clusters turn off only by thermal throttling?
Sent from my MI 4i using XDA Free mobile app
Click to expand...
Click to collapse
The arm big.Little decides which cluster and how many cores needed. I tried to raise the thresholds but get lags while using apps running only the little cluster.
So you can try out if it works for you if you to set it higher.
But have a look at the temperature, for browsing and normal usage it's fine. Gaming will heat up the device anyway.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

Tested for a while... Chrome (news, etc), FB, no games, no video...
So anyway temp rise to 45-47, and throttling turn off 2-3 cores from BIG. And in fact I don't see a big difference with stock settings(((
Also sampling rate and scaling factor settings kicks to defaults on BIG after some time...
Are you sure that we need ondemand on BIG?
Is there some way to turn off little automatically while screen on? There are several guys says it become less heating when turn off little manual while screen on... And I confirm it by myself..
Sent from my MI 4i using XDA Free mobile app

Well, then use razor reborn kernel and choose autoSMP hotplug. What do you expect? With these tweaks you can't solve a problem that is hardware related. 45-47 degrees are good, the big cores are mainly offline because of threshold settings and because they are not needed...

Any tweaks for interactive? I find that to be the smoothest govener

danbrown162 said:
Any tweaks for interactive? I find that to be the smoothest govener
Click to expand...
Click to collapse
Well, I have a look into it, I'm busy at the moment

Try mine with "interactive"
ps. I also use it to set selinux permissive,

This is mine .
interactive, 533 / 499 instead of 960 / 800, helps cool phone a bit and add battery life, without loosing performance/ responsivity
# enable governor for perf cluster
echo 1 > /sys/devices/system/cpu/cpu0/online
echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "20000 800000:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
echo "1 533333:85 800000:90 1113600:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor
echo 533333 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
# enable governor for power cluster
echo 1 > /sys/devices/system/cpu/cpu4/online
echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy
echo "1 499200:85 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor
echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
Click to expand...
Click to collapse
setprop ro.min_freq_0 533333
setprop ro.min_freq_4 499200
setprop media.stagefright.enable-meta true
setprop media.stagefright.enable-record true
echo "2048" > /sys/block/mmcblk0/queue/nr_requests
echo "4096" > /sys/devices/virtual/bdi/179:0/read_ahead_kb
setenforce 0
Click to expand...
Click to collapse
from my original post here

Well, found a cheecky 1 by 1 copy at Miui Official Forum, that someone posted there.
Too bad that those guys copy this stuff and post it as their own work...
Will update today with more settings.

Keasby said:
Well, found a cheecky 1 by 1 copy at Miui Official Forum, that someone posted there.
Too bad that those guys copy this stuff and post it as their own work...
Will update today with more settings.
Click to expand...
Click to collapse
and to make it worse, he is a moderator! haha! go shoot em down bro!

crayonyes said:
and to make it worse, he is a moderator! haha! go shoot em down bro!
Click to expand...
Click to collapse
Haha, yes, but he added the source and excused
Updated post 1, thanks for your post @ Xiaomi @crayonyes
Edit: Links back online now

echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run
This is so wrong, it point to not where
Sent from my Mi 4i using Tapatalk

chongns said:
echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run
This is so wrong, it point to not where
Sent from my Mi 4i using Tapatalk
Click to expand...
Click to collapse
Sorry, don't understand what you are saying?
Please explain what you want to tell?

Related

[Kernel] Bricked-Kernel Ville - Sense JB

Welcome to the most customizable 1S on xda
Bricked-Kernel 1S (ville)​
Features:
* Based upon HTCs source
* Various other fixes (look @ github)
* Compiled with linaro toolchain
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
* 192Mhz min clock
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,836 Ghz
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* Aroma Installer by amarullz (yes I know, it has a blue tint. I don't care, there are more important things )
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 2. (if you set it to 1 and min_cpus to 1 you will basically have a singlecore) Default: 2
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value (The 1S doesn't have a cpu2, so that is irrelevant)
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot.
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_key/sweep2wake
(echoing "1" activates it, which is the default setting if chosen in aroma)​Recommended governor?
Ondemand.​
Bryans old stuff (ics):
Beastmode Bricked Ville Edition RC5
With 100% real working S2W on the soft keys now with speed improvements thanks again Show!
Mpdecision is now enabled by default and the vsync will need to be toggled manually if you would like it off
http://www.androidfilehost.com/?fid=9390214368362234218
Beastmode Bricked Ville Edition RC5.1
http://www.androidfilehost.com/?fid=9390214368362234425
the above is modded with my stuff mentioned in the changelog
if you want plain jane with just s2w showp's is compiled with linaro 4.7.3 and -O3 as well
and just has s2w currently
show-p1984 said:
Not any more:
https://github.com/showp1984/bricked_ville/commit/737727eb7660cb3bbc0eda93d48a2a8204ff4349
New zImage @ https://github.com/showp1984/bricked_ville/downloads
This will probably be the final version
Bryan likes it.
Click to expand...
Click to collapse
Awesome news.. As of late, the One S is getting good traction.
Nice to see new kernel, great feature list. Looking forward to sweep2wake. Any plans on AOSP jb kernel?
Sent from my HTC One S using xda premium
Zarboz said:
Ville-Z Kernel. BLACKOUT Edition ​
I am here to present the Ville-Z modded kernel source from HTC. I used KLIN1344's base commit (that means before he touched it) With his permission this way it is compatible with your sense 4.1 based roms.
You can find the source here http://github.com/zarboz/Ville-Z.git . If you fix something or feel you improve on my hack please make a pull request.
Here are a few features of the kernel.
​
New I/O schedulers : CFQ, NOOP, Deadline, SIO, VR
New Governors: BrazillianWax, Intellidemand, SavagedZen, InteractiveX, Smartass, SmartassV2, Lagfree, Interactive, Conservative, Userspace, Powersave, Lionheart, Ondemand, Performance,
GPU Overclock 400mhz/500mhz (selectable in installer)
Selectable min freq in installer
Multiple tweaks and modifications to the multitasking and file structuring
Selectable Max Clock: 1.5ghz. 1.7ghz, 1.89ghz, 2.1ghz (it gets kinda warm and high voltages)
Adjustable undervolt in system 800mah-1350mah
S-On Kernel installer THANKS HausX!
KNOWN ISSUES
Using system tuner causes kernel panic please use SetCPU its free on xda
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here are a few teaser shots
​
Special Thanks to: HausX, ToastCFH, Klin1344, Sbryan12144, Ca1ne, TwistedUmbrella, Mdeejay, Thicklizard, Haykuro
Click to expand...
Click to collapse
Nice work. Good to see more devs here now.
Also, I think maybe we could work on getting a cm/aosp version of this kernel? I compiled a kernel using the 2.31 base a while ago with the cm ramdisk and it booted up fine, only WiFi was broken. The cm kernel still uses the 1.84 base old kernel sources.
Sent from my HTC One S using Tapatalk 2
encho said:
Nice to see new kernel, great feature list. Looking forward to sweep2wake. Any plans on AOSP jb kernel?
Sent from my HTC One S using xda premium
Click to expand...
Click to collapse
That's next after i get sweep2wake mapped out properly
its about 50-60% implimented. I need to figure out the LED control for our new PM8XXX LED and figure out the screen mapping coordinates so that the "sweep" is read from the right spot and also have one more file to implement in the cypress touchscreen driver as well
that's all in the works
the AOSP kernel is coming in the next week or 2 will have the same feature list and should work on ICS and JB AOSP roms
klin1344 said:
Nice work. Good to see more devs here now.
Also, I think maybe we could work on getting a cm/aosp version of this kernel? I compiled a kernel using the 2.31 base a while ago with the cm ramdisk and it booted up fine, only WiFi was broken. The cm kernel still uses the 1.84 base old kernel sources.
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
I will look into their source and put my mods in i see from the LTE forums the KGSL driver folder has been updated so I think it shall work just fine
I wanted to get Sweep2Wake working before then but the individual helping me lives in sweden so it's hard to talk to the guy at a decent hour here in colorado
I would say one to two weeks
Really nice to see someone new on these forums
I really hope you stay here and keep working on your Kernel.
How to install this kernel? Over fastboot or with TWRP + dumlock?
Zarboz said:
SOON!!![/COLOR]
Sweep2wake
you tell me
[/size]
[/b]​
Click to expand...
Click to collapse
Because you're taking requests, here's mine : I hope you can fix soft buttons not to register swipe when moving finger from the screen. IMO soft buttons are too close to the screen and in some apps like games and file managers when you scroll all the way down you can press home or back button by accident which will kick you out of the app. Very annoying. Soft buttons should register the touch only if your finger was not on the screen previously.
Sent from my HTC One S using xda premium​
I was just about to install this and I noticed that it says it is for HTC Evo LTE in the aroma installer!
Is this right?? Or, did I download the wrong file?
Also, the on-screen softbuttons do not register touches.
Thanks!
saprydion said:
I was just about to install this and I noticed that it says it is for HTC Evo LTE in the aroma installer!
Is this right?? Or, did I download the wrong file?
Also, the on-screen softbuttons do not register touches.
Thanks!
Click to expand...
Click to collapse
He probably used a Package for an older Project.
Till OP fix this, just use the Volume+/- to navigate thru the Menu
I've jus flash this kernel over fusión rom and stay in 192 and don't switch to 384 like fusión. Drains less battery too.
My request is add 720p to hdmi playback
Enviado desde mi HTC One S usando Tapatalk 2
How to install this kernel?
I could not flash the kernel using the aroma zip installer.
I think xhausx exploit do not work!
Just a suggestion. Wouldn't it be better if you labeled it for Android 4.0.4 instead of Sense 4.1? I, for one, got confused at first and thought you were talking about Jelly Bean (4.1) and hence I edited my first post here.
a description about flashing this kernel with a locked hboot (>xxx.12) would be nice. Should this work with Android 4.0.3?
how to flash this kernel??
The 2 cores works all the time with this kernel, why?
Guys...to flash a kernel flash the zip in TWRP then fastboot it.
Sent from my HTC One S running ViperOneS!

[KERNEL] 3.0.21 (V1.0-10.01.) ICS (NEW V28B support) and (V1.0-07.01.) CM10

LG ICS firmwares kernel:
How to use:
1) You have to be on ICS
2) Root
3) Recovery
http://forum.xda-developers.com/showthread.php?t=1978543
4) Wkparks bootloaders
http://forum.xda-developers.com/showthread.php?t=1971014
Download and flash with recovery.
ICS kernels
Changelog:
Beta 1:
Added userspace voltage control by (from SetCpu or similar app) by creator of SetCpu mr coolbho3000 and Smart reflex recalibration part by Mr Imoseyon
OC to 1300MHz
RAM to 466Mhz
cpu topology from linaro
Disabled Smart reflex for CPU
SIO iosched
VR iosched
ZRAM
KSM
init.d
screen off max feature
optimized mount points
ICS V1
added CPU freq interactive with boost freq
(it boost CPU to higest freq when you touch screen so no more lags for us)
interactive is set on boot)
kernel HZ to 1000
Ezekeel FSync control
VM readahead to 256
Reverted stock voltages
SmartReflex is enabled
Added one more step to GPU (384000) we now have 153600 307200 384000
Added control so you can see current GPU freq (FranciscoFranco)
Added BFQV5 iosched
disabled KSM (wasnt working)
ICS V1
Add support for V28b leak firmware (kernelICSV28b.zip)
to revert to stock use (kernelV28Bstock.zip)
ICS V1.1
Add fastcharge patch from ibleumind
Added 2 more freq steps now we have 200,300,600,800,1008,1200,1300
Reworked voltages
Reverted LMK driver to LGs
Lowered swapines to 20
some ramdisk changes
To enable ZRAM write script like this
and made it stick on reboot:
Code:
echo $((64*1024*1024)) > /sys/block/zram0/disksize
busybox mkswap /dev/block/zram0
busybox swapon /dev/block/zram0
or modify /system/bin/swap_enable.sh
CM10 kernel
Changelog:
BETA 1
Only OC CPU and RAM
BETA 1.1
VR, SIO
cpu topology from linaro
BETA 2
Added userspace voltage control by (from SetCpu or similar app) by creator of SetCpu mr coolbho3000 and Smart reflex recalibration part by Mr Imoseyon
undervolted
OC to 1300
speed at boot set to 1008 (rise it from setcpu or settings)
optimized mount points for some IO
added CPU freq interactive with boost freq
(it boost CPU to higest freq when you touch screen so no more lags for us)
interactive is set on boot)
kernel HZ to 1000
KERNEL V1.0
Add synchronization framework
Ezekeel FSync control
VM readahead to 1024
Reverted stock voltages
SmartReflex is enabled
Added one more step to GPU (384000) we now have 153600 307200 384000
Added control so you can see current GPU freq (FranciscoFranco)
Added BFQV5 iosched
cpufreq interactive: lowered hispeed_freq to 800MHz to save some power
.
.
FAQ
Governors on schedulers??:
Read this: http://forum.xda-developers.com/showthread.php?t=1369817
What is SmartReflex and what is with this kernel?
SR is OMAP driver that performs continuous dynamic voltage scaling around the nominal operating point voltage according to silicon characteristics and operating conditions.
SR is ON for all freq except 1300. It undervolts to much so device cant be stable on 1300.
So what with userspace voltage control?
For other calibrated freqs you can set lower voltage and SR will recalibrate based on new voltage that you entered. If it can anyway.
If you dissable manualy SR then you can set exact voltages by yourself for all OPPs.
You can dissable it like this:
For CORE:
echo 0 > /sys/kernel/debug/smartreflex/sr_core/autocomp
For GPU:
echo 0 > /sys/kernel/debug/smartreflex/sr_iva/autocomp
For MPU:
echo 0 > /sys/kernel/debug/smartreflex/sr_mpu/autocomp
Or use:
https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
How to set off screen freq?
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
600000 is 600Mhz
Or use:
https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
What is fsync control?
fsync syscalls are used by kernel modules and user space programs to flush an I/O buffer (which is in RAM) to disk to make sure that this data is actually savely stored on the disk before executing the next step. Disabling fsync can result in data loss on a crash/freeze since the data is still in the I/O buffer and has not been saved to disk as it should be and can also lead to problems due to race conditions if two or more processes access the same file. On the other hand disabling fsync reduces the number of I/O operations which potentially could reduce the battery drain and also improve I/O performance. (by Ezeekel)
So if you dissable fsync you will get great IO boost
How to dissable/enable fsync:
/sys/class/misc/fsynccontrol/fsync_enabled
enable = 1, disable = 0
Or use:
https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
How to see on what freq GPU runs now?
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/gpu_clock
How to enable fastcharge?
/sys/kernel/fast_charge/force_fast_charge
0 dissabled
1 enabled
Or use:
https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
If anything hapen to your device using these files it is not my problem.
Use at your own risk.
Thanks to:
Ricardo Cerqueira
Wkpark
Xbsall
coolbho3000
Samno
Imoseyon
FranciscoFranco
Ezekeel
ibluemind
and others that helped, and all XDA.
You can give thanks!
Github:
ICS: https://github.com/iodak/p920-ICS-kernel
CM10:https://github.com/iodak/lge-kernel-omap4

			
				
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
@Kyanox
I didn't OC GPU becouse I dont see any speed up in that. I think bus is to slow to deal with that large amount's of data.
Edit:
i didn't get the time to answer.
Sent from my LG-SU760 using xda app-developers app
You are kralj Thanks for all your work.
I had problems with samno's kernel with overclocked ram, i hope this one will work.
Might be a dumb question but can this be used with your modified CM10?
Sent from my LG-P920 using xda app-developers app
Thanks iodak . Every time you make a surprise . The forum was dead .
Good work :thumbup: :thumbup:
Just a stupid question , make the commands in init.d script right ??
Sent From My P920 (ICS ported)
Hit Thanks Button If I Helped
This is only for ICS.
Yes use init.d script.
Sent from my LG-SU760 using xda app-developers app
Battery life is amazing, only 2% for 3 hours, no calls, just checking email few times on wifi (no mobile data, i don't have it) and little playing. Also phone seems smoother. Excellent work and it is still beta.
video streaming is playing or not whit this kernel?
I did not try it. NTFS is included.
Edit: stream is working i tried with VLC player.
Sent from my LG-SU760 using xda app-developers app
Great kernel! I was using Acura Destructor V2 and it was amazing but i try your kernel and Antutu gives to me 8590 points vs the 7835 of Acura...and on Acura i had some small crash!
I have a noob question! What i need to do in order to enable the script of zram? Sorry for noob question but i tried gscript and it doesn't work!
Use root explorer and modify /system/bin/swap_enable.sh
Like this:
#Initialize /dev/block/zram0 with 30MB disksize
echo $((72*1024*1024)) > /sys/block/zram0/disksize
#Activate
#RAM swap
mkswap /dev/block/zram0
/system/bin/swapon /dev/block/zram0
#eMMC swap
#busybox mkswap /dev/block/mmcblk0p17
#busybox swapon /dev/block/mmcblk0p17
This will enable zram and disable emmc swap.
Sent from my LG-SU760 using xda app-developers app
Sorry for the noobish question, but what are the performance benefits of enabling zram?
---------- Post added at 03:31 AM ---------- Previous post was at 02:48 AM ----------
Holy crap! What a performance the phone has!
Smooth like butter, like I've never seen.
Man, what a great job!
iodak said:
Use root explorer and modify /system/bin/swap_enable.sh
Like this:
#Initialize /dev/block/zram0 with 30MB disksize
echo $((72*1024*1024)) > /sys/block/zram0/disksize
#Activate
#RAM swap
mkswap /dev/block/zram0
/system/bin/swapon /dev/block/zram0
#eMMC swap
#busybox mkswap /dev/block/mmcblk0p17
#busybox swapon /dev/block/mmcblk0p17
This will enable zram and disable emmc swap.
Sent from my LG-SU760 using xda app-developers app
Click to expand...
Click to collapse
thanks zram enabled!
I have another small question...then your kernel is amazing...today morning with 15 minutes of gaming i lost only 3% of battery...the problem is that i have the governor powersave and in standby sometimes i lost 1% or 2% of battery! What kind of problem can be?
Just leave it on hotplug or interactive and lower voltages with setcpu or voltage control. Test to see what are lowest voltage setting that you can set. Kernel is set to screen off max to 600MHz.
Sent from my LG-SU760 using xda app-developers app
iodak said:
Just leave it on hotplug or interactive and lower voltages with setcpu or voltage control. Test to see what are lowest voltage setting that you can set. Kernel is set to screen off max to 600MHz.
Sent from my LG-SU760 using xda app-developers app
Click to expand...
Click to collapse
Thanks for the answer..well i checked the voltages with SetCPU and the lower are 600 mV...i need to try all the voltages or i can directly set to 600? Thanks and sorry for the noobs questions
Here are mine:
You can set from 830 to 1400.
Sent from my LG-SU760 using Tapatalk 2
Thanks! I will try your settings...i set all your voltages and the governor to interactive...i wish that the battery life now can have a boost! However great work with your kernel...it gives to the phone a relevant boost! I have some problems with heavy applications that sometimes are too slow when i try to pass from the app to the homescreen...but this is a problem of RAM i think!
Hi iodak .
How to change the screen off frequency ?? I can change it through apps like system tuner or any other . But are there any scripts can do that ?? .
Thanks .
Sent From My P920 (ICS ported)
Hit Thanks Button If I Helped

[GUIDE][N10H/N910C]Guide: Download & Use Ultimate kernel for Galaxy Note4

Hello Everybody
i have account in 4pda but i cant pass the captcha for login process
so i cant download latest ultimate kernel for Galaxy Note 4
but @arbi97 came with solution :
solution from @arbi97 :
-----------------------------------------------------------------------------
Download it on my MEGA link: REMOVED
P.S I always update this link. Last versions always be here. Good luck​-----------------------------------------------------------------------------
Creators:
me and @arbi97 are not creators of this kernel we're just trying to help others to access and use it​
you can found creators of this amazing kernel and original thread in : REMOVED
p.s thanks @masaichris too for his help
Attention:
Flash delete_synapse_CWM.zip first if you have previous Ultimate kernel versions for minimizing problems
This kernel is for Samsung GALAXY Note 4 (N910C/N910H) with Lollipop only
Optimal Settings For Best Power consumption / Performance
-75mV all A57 and A53 Frequencies (From CPU VOLT tab in synapse)
-75mV all Gpu frequencies (From GPU tab in synapse)
Interactive governer for A57 cores & Gpu (from GOV tab in synapse)
Lionhearth governer for A53 cores (from GOV tab in synapse)
set MIN frequency of Both A53 & A57 clusters to 200 MHZ (From CPU FREQ tab in synapse)
set MIN frequency of GPU7 clusters to 100 MHZ (From GPU tab in synapse)
Because of lot's of wakelocks of samsung apps , it's highly recomended to use Greenify with ultimate kernel
you can set maximum number of online cores to 7 or 6 for extended battey life (Not Recommended)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Note : If you experienced random Restarts after applying these settings you should test more safe settings
for example -50mV all cores and Gpu and set MIN frequency to 400 MHz
Change List :
Ultimate_Kernel_v. 38
-Linux 3.10.82
-Added disabling CPU cores (author of halaszk)
-Patches and/sensorhub drivers/media/platform/exynos, affect the operation of camera, missions should not be (for firmwares based on VOE3)
-Removed the Forced Fast charge control and replaced by a much more advanced SEC Charge Control (author Andreilux)
-Reconfigured delays and GPU load thresholds to improve responsiveness and reduce mikrolagov
-Patched and reconfigured governor Interactive, now he again default
-Added governory Ondemand and Conservative
-Optimized Wi-Fi and reduced his wakelocks
Full Change List (i'm working on translation) :
-patched to Linux 3.10.76
-have been collected for new Linaro 4.9.3 GCC SaberMod 6.0
-optimization of the Graphite and neon-vfpv4
-peresobrano on the updated samsungovskih source VOS5
-updated ramdisk
-Wolfson Sound Control by AndreiLux-management via Synapse
-Async Fsync()
A57-CPU cluster-200-2200MGc (loaded on default on stock frequencies 700-1900 MHz)
-CPU A53 cluster-200-1500MGc (loaded on default on stock frequencies 400-1300 MHz)
-GPU Freq Control
-Significantly increased frequency throttling GPU for improved performance
-patches from Nvidia to improve energy efficiency
-tweaks to improve the performance of the file system
-updated many device drivers
-touchscreen driver
-new internal Kernel tweaks and optimization
-changed samsungovskij input_boost driver for a better fluidity/interface responsiveness
-optimization flags changed for better performance
-ondemand governor replaced with an improved version that is compatible with the architecture of the big. Little
-added Scheduler BFQ-v7r6 and is installed by default
-all schedulers reconfigured for system optimization
-added test for schedulers SIO, SIOPLUS, FIOPS, FIFO, VR, ZEN, TRIPNDROID (part of them is not working properly, dopilû them in the future)
-activated all TCP control algorithms-bic, westwood, reno, cubic, highspeed, hybla, htcp, vegas, veno, scalable, lp, Yes, illinois
-added governory dancedance, Lionheart, smartmax, ondemandplus, smartassV2, wheatley, adaptive, nightmare, darkness, alucard, conservativex, intelliactive and other
-THERMAL Control
-KSM
-added USB Mass Storage mode (only for external USB drive)
-added mode USB keyboard/mouse (you can use your phone as a full-fledged keyboard/mouse for notebooks/computers). Need activation mode in the Synapse and use additional progs https://play.google.co...te.hid.keyboard.client after activation normal mode MTP will shut down, including don't forget to disable it when naigraetes′.
-ported cpu_touch_boost and added the appropriate settings in the Synapse
-completely off Samsung Rooting Restriction Feature
-PowerEfficient Workqueues configuring in the Synapse (ulučšenâ)
-Gentle Fair Sleepers interface at the Synapse
-manage ARCH POWER in Synapse
-Force Fast Charge by ktoonsez, at the Synapse configuration
-DriveDroid patch
-Sweep2Sleep (default is off-enables/disables the Synapse)-shutdown screen svajpami from left to right and from right to left along the bottom edge of the screen
-PowerSuspend v. 1.5
-XZ (tweaked) kernel compression
- KERNEL_MODE_NEON
- multiple patches kernel/sched
- cifs: enable mounting cifs drives visible to all apps
- ntfs support is activated
- net: tcp: optimization
- sched: disable GENTLE_FAIR_SLEEPERS by default - to improve UI responsiveness
- disable add_random for more performance on SSD's
- Dynamic read-ahead
- FS Sync On/Off control
- Dynamic Fsync
- ramdisk reconfigured
- Init.d support
- Synapse embedded in the installer
- Frandom (Enabled by default)
- Full SE Linux Permissive SE Linux full Disable
- Disable KNOX
- System partition RW (read/write)
- Secure Storage Disable
- Write protection off for external flash drive
- Screen Mirroring Fix
Good Luck​[/B]
Ultimate Kernel v37.2
mrgspeed said:
Hi every one
i have account in 4pda but i cant pass the captcha for login proccess
so i cant download ultimate kernel 37.2 for Note 4
is there any one who can help me on this ?
all helps are appriciated
sorry for bad english
Click to expand...
Click to collapse
REMOVED
Enjoy yourself.
Ban not too far
My english bad too
@masaichris
THANK YOU MAN !!!!!!!!!!!
mrgspeed said:
Hi every one
i have account in 4pda but i cant pass the captcha for login proccess
so i cant download ultimate kernel 37.2 for Note 4
is there any one who can help me on this ?
all helps are appriciated
sorry for bad english
Click to expand...
Click to collapse
Man, the author has updated it to 38 with more and more good features! Check it on my MEGA link: REMOVED
P.S I always update this link. Last versions always be here. Good luck
Which kernel is better
Googy 1.3 or ultimate v38? Why?
murtadha50 said:
Which kernel is better
Googy 1.3 or ultimate v38? Why?
Click to expand...
Click to collapse
Both are good as it depends on users need but ultimate v38 is banned On XDA because of GPL conflict But you may use it on your own risk as the Developer for Ultimate do not agree on sharing his source
BTW : Googy 1.3 is more stable in my personal opinion and uses Less complicated or usless tweaks :good:
djmax81 said:
Both are good as it depends on users need but ultimate v38 is banned On XDA because of GPL conflict But you may use it on your own risk as the Developer for Ultimate do not agree on sharing his source
BTW : Googy 1.3 is more stable in my personal opinion and uses Less complicated or usless tweaks :good:
Click to expand...
Click to collapse
Thanks for the explaination
Can I flash googy over ultimate kernel without problems?
Thank you !!
@arbi97
tnx dude
i will inform other note 4 users
we're counting on you
Great. ...... Counting on how much time moderators will take to ban this thread. ?????
And for 4.4.4?
the development progress of this kernel is great cant ask for more on this kernel having an update evry week, i am one of your ultimate user of this kernel for now, by the way i want to save more on battery i am not that gaming type person, most i do is just browsing using FB app, taking pics, texting. . may i ask if anybody here has synapse settings for battery saving? i tried other kernel in terms of straight mobile data (H+) and stock kernel form 100% down to 10% it just only took 4hrs screen time. hope someone will share thanks
Thanks for this post @mrgspeed and @arbi97 for the MEGA link.
@Near_07
Near_07 said:
the development progress of this kernel is great cant ask for more on this kernel having an update evry week, i am one of your ultimate user of this kernel for now, by the way i want to save more on battery i am not that gaming type person, most i do is just browsing using FB app, taking pics, texting. . may i ask if anybody here has synapse settings for battery saving? i tried other kernel in terms of straight mobile data (H+) and stock kernel form 100% down to 10% it just only took 4hrs screen time. hope someone will share thanks
Click to expand...
Click to collapse
under volt All A53 + A57 cores and GPU (-75mV each should be good for start )
Use greenify as a companion app for hibernating useless apps, you'll see results
https://play.google.com/store/apps/details?id=com.oasisfeng.greenify&hl=en
@avercros
And for 4.4.4?
Click to expand...
Click to collapse
Sorry, original creator just stopped development of Kit Kat version
Good Luck
mrgspeed said:
@Near_07
under volt All A53 + A57 cores and GPU (-75mV each should be good for start )
Use greenify as a companion app for hibernating useless apps, you'll see results
https://play.google.com/store/apps/details?id=com.oasisfeng.greenify&hl=en
@avercros
Sorry, original creator just stopped development of Kit Kat version
Good Luck
Click to expand...
Click to collapse
i see -75 is -12 grades . . how about a53 core governor and a57 core governor and what wud be my scheduler thanks
---------- Post added at 11:50 AM ---------- Previous post was at 11:10 AM ----------
mrgspeed said:
@Near_07
under volt All A53 + A57 cores and GPU (-75mV each should be good for start )
Use greenify as a companion app for hibernating useless apps, you'll see results
https://play.google.com/store/apps/details?id=com.oasisfeng.greenify&hl=en
Click to expand...
Click to collapse
How about this. . Some of the cores stopped.. i believe this will save more of battery juice now
Sent from Glamour S6 ROM
---------- Post added at 12:21 PM ---------- Previous post was at 11:50 AM ----------
murtadha50 said:
Which kernel is better
Googy 1.3 or ultimate v38? Why?
Click to expand...
Click to collapse
since u ask i made battery test between the two kernels (later versions) and i got this. straight data connection from 100 down to 7%. i choose ktoonservative and conservativex as a governor in ultimate which is i didnt find in googymax. . maybe the governors handle the batterylife.
@Near_07
i just updated first post
check it, you'll find information you need
mrgspeed said:
@Near_07
under volt All A53 + A57 cores and GPU (-75mV each should be good for start )
Use greenify as a companion app for hibernating useless apps, you'll see results
https://play.google.com/store/apps/details?id=com.oasisfeng.greenify&hl=en
@avercros
Sorry, original creator just stopped development of Kit Kat version
Good Luck
Click to expand...
Click to collapse
Thanks for you answer, i'll wait until 5.1.1 to taste this kernel.
Near_07 said:
i see -75 is -12 grades . . how about a53 core governor and a57 core governor and what wud be my scheduler thanks
---------- Post added at 11:50 AM ---------- Previous post was at 11:10 AM ----------
How about this. . Some of the cores stopped.. i believe this will save more of battery juice now
Sent from Glamour S6 ROM
---------- Post added at 12:21 PM ---------- Previous post was at 11:50 AM ----------
since u ask i made battery test between the two kernels (later versions) and i got this. straight data connection from 100 down to 7%. i choose ktoonservative and conservativex as a governor in ultimate which is i didnt find in googymax. . maybe the governors handle the batterylife.
Click to expand...
Click to collapse
In my test ktoonservative governor is not battery friendly altough some cores sometimes stop. But it has very good performance. (Geekbench test = 4500)
I think cores restart consumes much battery than steady works
Regards
SM-N910C cihazımdan Tapatalk kullanılarak gönderildi
aydink_1903 said:
In my test ktoonservative governor is not battery friendly altough some cores sometimes stop. But it has very good performance. (Geekbench test = 4500)
I think cores restart consumes much battery than steady works
Regards
SM-N910C cihazımdan Tapatalk kullanılarak gönderildi
Click to expand...
Click to collapse
I was able to hit 1400/4990 in Geekbench with ktoonservative and some tweaks to it. It's fast but eats battery like crazy. Oh, the phone gets hotter as well.
@aydink_1903 @Tauras
Check out first post and try recommended settings (Optimal Settings For Best Power consumption / Performance section)
after doing lot's of tests , i found those settings best
I hope they work for you as well

Stock Kernel Optimisation

Hello M2 users, y'all probably wondering what did I mean by the thread title above so I'll get straight to the point nice and simple.
Using a stock kernel sucks, any CPU Tuner will go bonkers adjusting frequencies only to see it revert to stock again. So, while browsing for ways to optimise performance and battery in the Xperia, I came across this guide (now updated to this) on our Interactive governor. While it's on a different phone, the explanations are clear enough to tell anyone that yes, this can be adapted so long as you are rooted.
So read the whole post to give yourself an idea on the functions available for you. I use Kernel Adiutor for this as it seems most reliable.
But first, go into your build.prop files and edit this code:
Code:
ro.min_freq_0=300000
Set the frequency to 300000 (300Mhz) and restart or your phone will always be stuck on a higher frequency.
Also in the Kernel Samepage Merging, turn it off. There isn't much of an impact between battery and performance so this function is useless.
So now head into the CPU section, towards Tunables and add the following values according to the screenshot.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
[/img]
This gave me 50% battery usage over 26 hours, with 5 hours of Screen on Time used by chatting, gaming, and web surfing. Pretty good looking at all the times I've run the battery with less usage.
Anyhoo, I hope these settings are useful for y'all and if anyone has any modifications to these settings please do share it with your results. This may perhaps be the only guide where we control the governor on a deeper level rather than taking it as it is, so let's squeeze as much juice out of this phone as possible.
Update: These are the settings I've settled with, no negligible battery life and not much of an impact on performance. The voltage tables for the SD400 looks to be dynamic so you can't get an exact reading and anyone who looks at it will suggest you buy a new phone instead >.>
How do you add multiple values on one settings ?
I can't seem to be able to
FrWhyMe said:
How do you add multiple values on one settings ?
I can't seem to be able to
Click to expand...
Click to collapse
Right now you can only add multiples for above_hispeed_delay and target_load. Just tap the space bar each time you add in new values and the app will auto-arrange it for you. If it still doesn't work, what kernel are you using?
Can you repost the photo or write the values please?
basem_ym said:
Can you repost the photo or write the values please?
Click to expand...
Click to collapse
I'm not using this anymore, Sony's stock setting is fine unless you can somehow change the voltage.
AutumQueen92 said:
I'm not using this anymore, Sony's stock setting is fine unless you can somehow change the voltage.
Click to expand...
Click to collapse
I spent last week trying to study and understand those govenors.
Since yesterday, I was trying and tunning the stock interactive govenor
I didnt notice any major changes in performance but I was surprised by power consumption
Ex: I used to play Solitaire everyday more than 2 times a day, each time I spend like 1 hour and my battery drops like 10%
After tunning the interactive govenor my battery drops like 4-6%
Which means its much better than stock
I'm using EagleExperience rom which come with stock kernel
Anyway I just want to know your tunnables because the photo you posted is not opening
I want to compare them with my numbers
Thank you for this post and sorry for bad english
It's not my first lang.
basem_ym said:
I spent last week trying to study and understand those govenors.
Since yesterday, I was trying and tunning the stock interactive govenor
I didnt notice any major changes in performance but I was surprised by power consumption
Ex: I used to play Solitaire everyday more than 2 times a day, each time I spend like 1 hour and my battery drops like 10%
After tunning the interactive govenor my battery drops like 4-6%
Which means its much better than stock
I'm using EagleExperience rom which come with stock kernel
Anyway I just want to know your tunnables because the photo you posted is not opening
I want to compare them with my numbers
Thank you for this post and sorry for bad english
It's not my first lang.
Click to expand...
Click to collapse
These are my current settings, the 300Mhz and 787Mhz share the same voltage and any higher frequency has the same voltage too so it's more efficient to use Sony's settings. The only difference in here is I used Intelliplug to better control how they ramp up.
AutumQueen92 said:
These are my current settings, the 300Mhz and 787Mhz share the same voltage and any higher frequency has the same voltage too so it's more efficient to use Sony's settings. The only difference in here is I used Intelliplug to better control how they ramp up.
Click to expand...
Click to collapse
In target loads, you have frequencies that aren't supported on stock kernel (1.4GHz)
DavidMKD said:
In target loads, you have frequencies that aren't supported on stock kernel (1.4GHz)
Click to expand...
Click to collapse
That's because my kernel is overclocked.
above_hispeed_delay: 40000 998400:45000 1090400:50000 1190400:55000
boost: 0
boostpulse_duration: 0
go_hispeed_load: 99
hispeed_freq: 787200
io_is_busy_: 0
min_sample_time: 0
sampling_down_factor:1
sync_freq:300000
target loads: 80 600000:80 787200:90 998400:95 1090400:97 1190400:99
timer_rate: 60000
timer_slack: 480000
up_threshold_any_cpu_freq: 0
up_threshold_any_cpu_load: 0
Ksm off , no hotplug min:300 mhz max:1190 mhz
I am using this settings for now. I tried to lock 300-787 mhz for the my daily usage (whatsapp, youtube, cm browser, simple games like fun run) high frequences for heavy games, installing apps.
Is that config fine ? I tried semil's config its battery performance was great but i think it is slow config.
batuskas said:
above_hispeed_delay: 40000 998400:45000 1090400:50000 1190400:55000
boost: 0
boostpulse_duration: 0
go_hispeed_load: 99
hispeed_freq: 787200
io_is_busy_: 0
min_sample_time: 0
sampling_down_factor:1
sync_freq:300000
target loads: 80 600000:80 787200:90 998400:95 1090400:97 1190400:99
timer_rate: 60000
timer_slack: 480000
up_threshold_any_cpu_freq: 0
up_threshold_any_cpu_load: 0
Ksm off , no hotplug min:300 mhz max:1190 mhz
I am using this settings for now. I tried to lock 300-787 mhz for the my daily usage (whatsapp, youtube, cm browser, simple games like fun run) high frequences for heavy games, installing apps.
Is that config fine ? I tried semil's config its battery performance was great but i think it is slow config.
Click to expand...
Click to collapse
I try not to limit my frequencies since the point is to go high performance only when needed. I'm not sure about your config since I never turn off hotplugs.

How To Guide Optimise Stock Kernel Scheduler & Governor Setting

So, after months of using Pixel 7 family, surely we all know that Tensor 2 is not exactly the best flagship SOC in term of raw power or energy usage, probably due to it's "Exynos Genetics Trait"
that being said, doesnt mean it's down bad. And with some optimisation, we can always try to make it run better. One of the example is by seeing how much better it run on custom kernel. But what about other stock kernel user ?
Well, fortunately, as long as we have root access, the stock kernel still allow us to play with some parameter. And here are some tunables parameters that i use to balance the energy usage and responsiveness of the device. (my aim is 10% battery for 1 Hour of SoT and ±0-1% decrease during 6-10hrs idle)
If you want to know more about each parameters, you can google a lot of linux kernel documentation (like here for example : https://access.redhat.com/solutions/177953)
but for now i'll just write down the change and my configurations. (I used EX Kernel Manager to change the parameters) :
CPU Section :
Switch governors for all CPU clusters from 'sched_pixel' to 'shedutil'
Open "Governor Options" and change the 'rate_limit_us' for all clusters from '10000' to '0'
Open "CPU scheduler options" and use bellow value for respected parameters :
sched_wakeup_granularity_ns : 10000000
sched_tunable_scaling : 1
sched_min_granulatity_ns : 2000000
sched_latency_ns : 12000000
Memory Section :
Disable "ZRAM"
That's it for now. Try and feedback if you find any improvement in your energy usage.
I've been using it for weeks, and pretty happy especially with idle drain. As for SoT, normally i end up with 5-6 Hrs screen time when i down to bed with ±30% battery remaining.
otonieru said:
So, after months of using Pixel 7 family, surely we all know that Tensor 2 is not exactly the best flagship SOC in term of raw power or energy usage, probably due to it's "Exynos Genetics Trait"
that being said, doesnt mean it's down bad. And with some optimisation, we can always try to make it run better. One of the example is by seeing how much better it run on custom kernel. But what about other stock kernel user ?
Well, fortunately, as long as we have root access, the stock kernel still allow us to play with some parameter. And here are some tunables parameters that i use to balance the energy usage and responsiveness of the device. (my aim is 10% battery for 1 Hour of SoT and ±0-1% decrease during 6-10hrs idle)
If you want to know more about each parameters, you can google a lot of linux kernel documentation (like here for example : https://access.redhat.com/solutions/177953)
but for now i'll just write down the change and my configurations. (I used EX Kernel Manager to change the parameters) :
CPU Section :
Switch governors for all CPU clusters from 'sched_pixel' to 'shedutil'
Open "Governor Options" and change the 'rate_limit_us' for all clusters from '10000' to '0'
Open "CPU scheduler options" and use bellow value for respected parameters :
sched_wakeup_granularity_ns : 10000000
sched_tunable_scaling : 1
sched_min_granulatity_ns : 2000000
sched_latency_ns : 12000000
Memory Section :
Disable "ZRAM"
That's it for now. Try and feedback if you find any improvement in your energy usage.
I've been using it for weeks, and pretty happy especially with idle drain. As for SoT, normally i end up with 5-6 Hrs screen time when i down to bed with ±30% battery remaining.
Click to expand...
Click to collapse
Someone said that it reverts back once you reboot?
elong7681 said:
Someone said that it reverts back once you reboot?
Click to expand...
Click to collapse
In the Franco Kernel Manager, there's an option to "keep" the new settings on a reboot. (Not sure about the EX Kernel Manager.)
elong7681 said:
Someone said that it reverts back once you reboot?
Click to expand...
Click to collapse
Right, it reverts back for CPU Governor (Cluster 3) after a reboot. (with EXKM)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Then I tried with FKM and problem is the same.
I will see after the night how is my battery drain.
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Plathoon said:
Right, it reverts back for CPU Governor (Cluster 3) after a reboot. (with EXKM)
View attachment 5817379
Then I tried with FKM and problem is the same.
I will see after the night how is my battery drain.
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Click to expand...
Click to collapse
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
ekin_strops said:
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
Click to expand...
Click to collapse
Can you provide a link to the write-up please?
Pixel86 said:
Can you provide a link to the write-up please?
Click to expand...
Click to collapse
Post
Mrcactuseater what's your deal always laughing at genuine posts?
ekin_strops said:
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
Click to expand...
Click to collapse
Actually you can change the CPU governor from the default one to one of the additional existing alternatives.
The issue is just that the frequency scaling driver for the affected CPU cluster(s) will break if the PowerHAL detects that the Sched_Pixel governor isn't "there" anymore for doing the job that it is supposed to do.
Plathoon said:
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Click to expand...
Click to collapse
Damn that's less than half of mine...
Not_Purgatory said:
Actually you can change the CPU governor from the default one to one of the additional existing alternatives.
The issue is just that the frequency scaling driver for the affected CPU cluster(s) will break if the PowerHAL detects that the Sched_Pixel governor isn't "there" anymore for doing the job that it is supposed to do.
Click to expand...
Click to collapse
I never wrote you can't change it, I wrote people SHOULDN'T change it to avoid the issues you mentioned.
You say to try to deactivate zram. Is there any real benefit? Zram is useful?
Techboyz97 said:
You say to try to deactivate zram. Is there any real benefit? Zram is useful?
Click to expand...
Click to collapse
You save CPU cycles at the expense of additional vRAM.
If you use smartpack kernel manager there's an option to apply all changes with a script on boot. That's the way I've always worked with kernels that won't allow changes to stick on boot
Pixel86 said:
You save CPU cycles at the expense of additional vRAM.
Click to expand...
Click to collapse
WUT? lol

Categories

Resources