Ktoonsez presents:
{
"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"
}
KT-SGS6 kernel features
•Must have a S6 model G920F and G920I and G920S and G920T and G925F and G925I and G925S and G925T
•Samsung open source
•Optimized kernel configuration
•unsecure root adb
•Voltage interface
•Over Clocking
•Under Clocking
•KTweaker app for kernel control
•KTweaker Widgets
•KTmonitor app to watch your cpu cores current speed
Click to expand...
Click to collapse
KTweaker Shop and profile help, plus previous versions can be seen here (thanks to LuigiBull23):
http://forum.xda-developers.com/tmo...nel-kt-sgs6-builds-variants-ktweaker-t3107867
Touchwiz Lollipop 5.0 VERSION:
06.22.2015: http://bit.ly/1Jf6B2n
Click to expand...
Click to collapse
KTweaker Shop and profile help, plus previous versions can be seen here (thanks to LuigiBull23):
http://forum.xda-developers.com/tmo...nel-kt-sgs6-builds-variants-ktweaker-t3107867
Sources can be found here:
https://github.com/ktoonsez/KTSGS6
What you can expect to get benchmark wise with a good CPU OC'd:
Change Log 05.18.2015
1. Add some more protection on hotplugging for phones that are not fully shutting down screen and still register touch while screen is off, causing reboots.
2. Making unified version now, so pay attention that the file name is now changed. There is still seperate version for the S6 and S6 Edge, and also Sprint needs a special due to radical differences from the GSM versions.
3. KTweaker: Added new 3 options prompt when restoring a profile. Instead of a yes/no question to apply, it now gives you the 3 options of: "Apply restored profile with its voltage", "Apply restored profile with my voltage", "Do not apply it"
Change Log 05.12.2015
1. The wait is over for ktoonservative governor!!!!!!!!!!!!!!!!!!!!!!!!
2. ktoonservative governor supports hotplugging for some amazing battery life and still smoooooooooth.
3. Shorten internal kernel name so Antutu wont crash on some phones.
4. LED Fade mode code added.
5. LED fade mode fade up time to set how long it takes to fade in.
6. LED fade mode fade down time to set how long it takes to fade out.
7. Disable LED start hour to allow a start time of when LED are NOT active.
8. Disable LED stop hour to allow a stop time of when LED are NOT active.
9. Disable LED always option to disable LEDs all together.
10. Built with Linaro official 4.9 with -O3 optimizations
11. Added ktoonsified v1 profile made by myself and Luigibull, you can get it in the KTweaker shop in KTweaker app. BE SURE TO LOAD YOU STOCK VOLTAGE TABLE AFTER APPLYING!!!!!!!
Change Log 05.02.2015
1. Added UC and OC steps for both CPU's. Little now ranges from 200-1600 and big ranges from 200-2496. Be sure to adjust voltages accordingly, the UC and OC steps may not work properly for your binned CPU without tweaking the voltage!!!!!!!!!!!!!!!!!
2. Included patch to insure deep sleep is NOT lossed
2. KTweaker 9.3
3. Cleaned up some FC issues
4. GPU screen is now fully functional for all items
5. "Get Phone Information" screen was pretty'd up and added CPU "Time in State" gride for both little and big cpus including Deep Sleep and Total up Time items.
6. OTA is now functional.
7. KTweaker Shop for Profiles is now functional. Only 1 profiles which is the stock settings.
8. Change Log item in KTweaker is now functional.
Change Log 04.29.2015
1. Add voltage control for little and BIG CPU's. Thanks to AndreiLux for pointing me to the right files.
2. Added ondemand and conservative governor.
3. Added CPU Min/Max control for BIG CPU
4. Added ability to tweak governor adjustments.
5. GPU governor selection is working, dont mess with Min/Max yet.
Change Log 04.19.2015
1. First build, things are just getting started
2. Min/Max will look weird upon open KTweaker the first time, just slide the Min and Max bars to what you want, this is only setup for the SMALL CPU.
3. So far you can only control the SMALL CPU which is the cpu that ranges from 400-1500Mhz
4. Control over Scheduler.
5. Control over governor for SMALL CPU.
6. Kernel is setup for SELInux Permissive
7. Lots of dmesg spam removed.
8. Dont bother setting other items in KTweaker just yet since things are just getting started.
9. As with all custom kernels since the S4, you may need to find "securestorage" line in build.prop and change from true to a false if you have trouble with wifi remembering your password after reboots.
10. If you have trouble with S-Health after installing custom kernels, Force Stop it and clear cache/data for the app, that will usually take care of it.
11. Please post a "dmesg" after running the kernel for 10-15 minutes and you have let the phone go into deep sleep at least once so I can remove more dmesg spam.
12. ENJOY the awesome!!!!!!!!!!!!!!!
ktoonservative explained:
Any item with the word cycle in it refers to how many sampling_rate's have occured. A 22 ruffly equates to 1 second for a sampling_rate of 45000
block_cycles_offline_screen_off =1
How many sampling_rate cycles need to occur before a core is allowed to go OFFLINE while the screen is OFF.
block_cycles_offline_screen_on = 11
How many sampling_rate cycles need to occur before a core is allowed to go OFFLINE while the screen is ON.
block_cycles_online_screen_off = 11
How many sampling_rate cycles need to occur before a core is allowed to go ONLINE while the screen is OFF.
block_cycles_online_screen_on = 3
How many sampling_rate cycles need to occur before a core is allowed to go ONLINE while the screen is ON.
block_cycles_raise_screen_off = 11
How many sampling_rate cycles need to occur before the current Mhz is allowed to be raised while the screen is OFF.
block_cycles_raise_screen_on = 3
How many sampling_rate cycles need to occur before the current Mhz is allowed to be raised while the screen is ON.
button_boost_screen_off_core_1 = 1
When this item is a 1, it will turn on the core #1 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_1 = 1
When this item is a 1, it will turn on the core #1 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_2 = 1
When this item is a 1, it will turn on the core #2 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_2 = 1
When this item is a 1, it will turn on the core #2 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_3 = 1
When this item is a 1, it will turn on the core #3 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_3 = 1
When this item is a 1, it will turn on the core #3 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_4 = 1
When this item is a 1, it will turn on the core #4 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_4 = 1
When this item is a 1, it will turn on the core #4 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_5 = 1
When this item is a 1, it will turn on the core #5 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_5 = 1
When this item is a 1, it will turn on the core #5 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_6 = 1
When this item is a 1, it will turn on the core #6 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_6 = 1
When this item is a 1, it will turn on the core #6 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_7 = 1
When this item is a 1, it will turn on the core #7 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_7 = 1
When this item is a 1, it will turn on the core #7 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
boost_hold_cycles = 22
How many sampling_rate cycles need to occur before going out of CPU/GPU boost mode
cpu_load_adder_at_max_gpu = 0
When set to higher than zero, this will add to the actual CPU load to create a perceived higher load when an app is using alot of GPU but not CPU.
cpu_load_adder_at_max_gpu_ignore_tb = 0
When set to 1, this will ignore cpu_load_adder_at_max_gpu during touch/button boost. When set to 0 cpu_load_adder_at_max_gpu will be used all the time.
disable_hotplug = 0
When this item is a 1, it disables hotplugging so all cores stay on full time. 0 lets all cores turn on and off when needed.
disable_hotplug_bt = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while paired to a bluetooth device and doing bluetooth activities like playing music, transfering files.... 0 doesn't do anything extra to the cores when doing bluetooth functions.
disable_hotplug_chrg = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while charging the device. 0 doesn't do anything extra to the cores while charging.
disable_hotplug_media = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while playing music or movies. 0 doesn't do anything extra to the cores while music or movies are playing.
down_threshold_screen_off = 52
A percentage of CPU utilization that needs to occur before the current Mhz begins to lower while screen is OFF.
down_threshold_screen_off_hotplug_1 = 40
A percentage of CPU utilization that needs to occur before the core #1 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_2 = 45
A percentage of CPU utilization that needs to occur before the core #2 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_3 = 50
A percentage of CPU utilization that needs to occur before the core #3 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_4 = 55
A percentage of CPU utilization that needs to occur before the core #4 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_5 = 60
A percentage of CPU utilization that needs to occur before the core #5 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_6 = 65
A percentage of CPU utilization that needs to occur before the core #6 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_7 = 70
A percentage of CPU utilization that needs to occur before the core #7 is taken offline while screen is OFF.
down_threshold_screen_on = 52
A percentage of CPU utilization that needs to occur before the current Mhz begins to lower while screen is ON.
down_threshold_screen_on_hotplug_1 = 35
A percentage of CPU utilization that needs to occur before the core #1 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_2 = 40
A percentage of CPU utilization that needs to occur before the core #2 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_3 = 45
A percentage of CPU utilization that needs to occur before the core #3 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_4 = 50
A percentage of CPU utilization that needs to occur before the core #4 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_5 = 55
A percentage of CPU utilization that needs to occur before the core #5 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_6 = 60
A percentage of CPU utilization that needs to occur before the core #6 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_7 = 65
A percentage of CPU utilization that needs to occur before the core #7 is taken offline while screen is ON.
freq_step_lower_screen_off = 8
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when lowering the current Mhz while the screen is OFF.
freq_step_lower_screen_on = 2
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when lowering the current Mhz while the screen is ON.
freq_step_raise_screen_off = 1
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when raising the current Mhz while the screen is OFF.
freq_step_raise_screen_on = 5
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when raising the current Mhz while the screen is ON.
ignore_nice_load = 0
If this value is 1, the system will ignore "Nice" processes when deciding to scale up or down. Nice processes are used by the IO scheduler to designate a low-priority process. Ignore nice load basically tells a governor to disregard processes with higher nice values.
lockout_hotplug_screen_off_core_1 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_1 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_2 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_2 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_3 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_3 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_4 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_4 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_5 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_5 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_6 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_6 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_7 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_7 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_changes_when_boosting = 0
If this value is 1, all CPU changes to all cores will be ignored while executing a touch/button boost. If 0 all cores will be allowed to scale and hotplug.
no_extra_cores_screen_off = 1
When set to a 1, this option keeps all extra CPU cores offline while the screen is OFF. 0 lets it hotplug them on and off as needed
sampling_rate = 45000
The amount of milliseconds that the governor will analyze the CPU usage and adjust for changes in load while the screen is ON.
sampling_rate_min = 10000
READ-ONLY value that specifies the lower value that "sampling_rate" and "sampling_rate_screen_off" will accept.
sampling_rate_screen_off = 45000
The amount of milliseconds that the governor will analyze the CPU usage and adjust for changes in load while the screen is OFF.
super_conservative_screen_off = 0
With the screen OFF: When set to a 1, this option will explicitly obey your block cycles settings to be a super battery saver (Setting a 1 will slow down the UI a little bit). When set to a 0 it uses fuzzy logic on the "block cycle" items.
super_conservative_screen_on = 0
With the screen ON: When set to a 1, this option will explicitly obey your block cycles settings to be a super battery saver (Setting a 1 will slow down the UI a little bit). When set to a 0 it uses fuzzy logic on the "block cycle" items to create a smooooooth UI experience.
touch_boost_cpu_cl0 = 1200000
The Mhz that you want the online CPU's to jump to when the screen is touched for the the LITTLE CPU (Cluster 0).
touch_boost_cpu_cl1 = 1600000
The Mhz that you want the online CPU's to jump to when the screen is touched for the the BIG CPU (Cluster 1).
touch_boost_core_1 = 1
When set to a 1, this option turns on the core #1 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_2 = 1
When set to a 1, this option turns on the core #2 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_3 = 0
When set to a 1, this option turns on the core #3 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_4 = 0
When set to a 1, this option turns on the core #4 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_5 = 0
When set to a 1, this option turns on the core #5 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_6 = 0
When set to a 1, this option turns on the core #6 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_7 = 0
When set to a 1, this option turns on the core #7 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_gpu = 424
This value specifies what Mhz the GPU should jump to when the screen is touched.
up_threshold_screen_off = 57
A percentage of CPU utilization that needs to occur before the current Mhz begins to raise while screen is OFF.
up_threshold_screen_off_hotplug_1 = 55
A percentage of CPU utilization that needs to occur before the core #1 is put online while screen is OFF.
up_threshold_screen_off_hotplug_2 = 60
A percentage of CPU utilization that needs to occur before the core #2 is put online while screen is OFF.
up_threshold_screen_off_hotplug_3 = 65
A percentage of CPU utilization that needs to occur before the core #3 is put online while screen is OFF.
up_threshold_screen_off_hotplug_4 = 70
A percentage of CPU utilization that needs to occur before the core #4 is put online while screen is OFF.
up_threshold_screen_off_hotplug_5 = 75
A percentage of CPU utilization that needs to occur before the core #5 is put online while screen is OFF.
up_threshold_screen_off_hotplug_6 = 80
A percentage of CPU utilization that needs to occur before the core #6 is put online while screen is OFF.
up_threshold_screen_off_hotplug_7 = 85
A percentage of CPU utilization that needs to occur before the core #7 is put online while screen is OFF.
up_threshold_screen_on = 57
A percentage of CPU utilization that needs to occur before the current Mhz begins to raise while screen is ON.
up_threshold_screen_on_hotplug_1 = 50
A percentage of CPU utilization that needs to occur before the core #1 is put online while screen is ON.
up_threshold_screen_on_hotplug_2 = 55
A percentage of CPU utilization that needs to occur before the core #2 is put online while screen is ON.
up_threshold_screen_on_hotplug_3 = 60
A percentage of CPU utilization that needs to occur before the core #3 is put online while screen is ON.
up_threshold_screen_on_hotplug_4 = 60
A percentage of CPU utilization that needs to occur before the core #4 is put online while screen is ON.
up_threshold_screen_on_hotplug_5 = 60
A percentage of CPU utilization that needs to occur before the core #5 is put online while screen is ON.
up_threshold_screen_on_hotplug_6 = 60
A percentage of CPU utilization that needs to occur before the core #6 is put online while screen is ON.
up_threshold_screen_on_hotplug_7 = 60
A percentage of CPU utilization that needs to occur before the core #7 is put online while screen is ON.
Can I test?
mikeyinid said:
Can I test?
Click to expand...
Click to collapse
Here you go man. This is just a test of mostly stock kernel, we are testing for Cell service, Wifi and deep sleep since that seems to be a common problem for anything custom on this device, so make sure you are getting deep sleep first before flashing:
Also, I really need that post your snuck on, lol. U know how to let me take that post over?
http://bit.ly/1ESQRPi
haha crap, i didnt realize you had just posted. i think a mod can switch it over to you, or just delete it.
mikeyinid said:
haha crap, i didnt realize you had just posted. i think a mod can switch it over to you, or just delete it.
Click to expand...
Click to collapse
All taken care of by my good friend @kennyglass . Flash the kernel and let me know what happens please
ktoonsez said:
All taken care of by my good friend @kennyglass . Flash the kernel and let me know what happens please
Click to expand...
Click to collapse
Flashed it, phone is deep sleeping. WiFi works, data works, usb works. no issues stand out yet.
mikeyinid said:
Flashed it, phone is deep sleeping. WiFi works, data works, usb works. no issues stand out yet.
Click to expand...
Click to collapse
Awesome. Use my app called KTweaker and open it up. Its a slide menu app like Play Store so slide from far left to the right to open the menu and click on "Utilities" then "Generate a dmesg" and post the file for me so I can kill all the dmesg spam and speed this beeach up
thanks man, glad to see you here i remember using your kernel during my s4 days
flashed it and its working great! just one thing. KTweaker is crashing upon starting the app
guaneet said:
thanks man, glad to see you here i remember using your kernel during my s4 days
flashed it and its working great! just one thing. KTweaker is crashing upon starting the app
Click to expand...
Click to collapse
Thanks man. Do you have root? Do you know how to get dmesg's and logcat's from your PC so I know whats crashing it if there is root installed already?
It crashes for me as well, flashed it with the XtreStroLite ROM.
Edit: Just noticed this page.
Yes, I do have root.
No, I don't know. Mind telling me how? I do have Windows and Ubuntu.
Edit2: No longer crashes after flashing the latest kernel.
Thanks!
Paradoxumical said:
It crashes for me as well, flashed it with the XtreStroLite ROM.
Click to expand...
Click to collapse
That doesnt help, look at my post above.
ktoonsez said:
Thanks man. Do you have root? Do you know how to get dmesg's and logcat's from your PC so I know whats crashing it if there is root installed already?
Click to expand...
Click to collapse
yeah i have the devices root with twrp, I wiped cache as well. i forgot how to get dmsg and logs from PC sorry. let me do some research and see what i can muster up
guaneet said:
yeah i have the devices root with twrp, I wiped cache as well. i forgot how to get dmsg and logs from PC sorry. let me do some research and see what i can muster up
Click to expand...
Click to collapse
Try redownloading, just updated source to OCV and changed a few flags, not sure if it will KTweaker, probably not but worth a shot.
wow, awesum to see you over here, man!
I'd be glad to test, but I have the s6Edge, not the S6, and the phones are just a bit different, and I've already bricked my phone once this week!
wase4711 said:
wow, awesum to see you over here, man!
I'd be glad to test, but I have the s6Edge, not the S6, and the phones are just a bit different, and I've already bricked my phone once this week!
Click to expand...
Click to collapse
Lol, ya, completely different phone :highfive:
ktoonsez said:
Awesome. Use my app called KTweaker and open it up. Its a slide menu app like Play Store so slide from far left to the right to open the menu and click on "Utilities" then "Generate a dmesg" and post the file for me so I can kill all the dmesg spam and speed this beeach up
Click to expand...
Click to collapse
I'll be glad to test this for you on the stock ROM with no mods and Deep Sleep *working*. I've searched everywhere for the stock kernel to revert back to in case of issues... No luck, any tips where to find it besides Samsung Opensource?
Edit nevermind, I'll make a backup, duh...
So I just flashed the file from the OP
"KT-SGS6-LP5.0-TW-G920T-04.17.2015.zip"
And it seems like it didn't actually flash. The kernel under info is still 3.10.61-4351281 built on March 27th.
Anybody else seeing this too? Looked in the ZIP and there's a boot.img, along with two modules. The update script looks right. Any ideas?
EDIT: redownloaded, this time the file is a different one, larger 13.5MB vs 11.9MB - this file includes KT Monitor and Tweaker. However, the kernel version is still the same as the old file (with a build date of 3/27)
Yep, I flashed the same OP link and check under about phone, same thing as stated above but the ktweaker app is installed sooo?? Assuming this is expected, I don't see any change in voice calling, wifi, lag etc.. Feels exactly the same so thats good.
Now, everytime I try to open Ktweaker it closes,cleared cache/data etc but no luck..??
Related
So I'd like to gather some data to see which is the most battery efficient kernel.
To eliminate variances with 3G / Wifi / Brightness / ROMs / Battery size, I'd like to look at only the CPU power consumption, which is really the only thing a kernel changes. (That relates to power efficiency anyway.)
Now, how do we do this? Essentially we want to measure the power used by the CPU compared to the load placed on it.
Going to "Battery Use" we can see various %s that break down what uses what battery. And tapping on "Android System" leads to a screen with the "CPU Total" time. I believe this is a pretty accurate measurement of the amount of load the CPU has been placed under.
Now that we can find the load placed on it, we need to find how much power the CPU drew. Simply multiplying the "Android System"% by "Total time since unplugged" will give essentially how many minutes of power the CPU took up.
Now, dividing load by power consumed should give us, in effect, the "power efficiency."
For example, my numbers are:
10h 20m since unplugged. = 620 min
Android System: 11%
CPU Total: 7m 15s = 7.25 min
So, Android System used (620m)(11%) = 68.2 minutes of power.
Load = 7.25 min.
Load / Power = 7.25 / 68.2 = 0.10627
Step by Step-
1. Find time since unplugged. Find "Android System"%. Find CPU Total time.
2. Time since unplugged * "Android System"% = Power
3. CPU Total time = Load
4. Load / Power
5. Post along with kernel =]
If you guys are interested in doing a test, please:
Have the kernel flashed for at least 24 hours before doing the test. And have at last one complete discharge cycle. (Some say kernels need to "settle")
Set to 998/245, governor to on-demand. (Use SetCPU)
For HydraKernal, please go into Advanced and change Sampling Rate = 20000. Up Threshold = 95. Ignore Nice Load = 0, Powersave Bias = 0.
Run as long as possible (as low % as possible), and then do the calculation.
Please post:
Kernel
Load / Power ratio. (5 decimal places)
Adrynalyne's Battery.zip Kernel:
DQed. On-demand freezes.
Adrynalyne's Battery.zip Kernel(AOSP):
Hydra's SS Undervolt:
0.086993
KingKlick BFS #5:
KingKlickAOSP BFS #2:
Koush's Test:
0.68333
Stock:
Stock (Koush's):
Virtuous Custom Kernel:
PS Ordered alphabetically xD
PPS Higher is better. (More load for less power)
gmichaelow said:
Now that we can find the load placed on it, we need to find how much power the CPU drew. Simply multiplying the "Android System"% by "Total time since unplugged" will give essentially how many minutes of power the CPU took up.
Now, dividing load by power consumed should give us, in effect, the "power efficiency."
Click to expand...
Click to collapse
Where do you factor in the CPU frequency and voltage?
Doesn't it matter what max speed and governor we use.
I think we should all test w/ a max of 998MHz using the "on demand" with NO custom profile. (since every kernel/phone can do this)
Or, am I wrong?
daftlush said:
Doesn't it matter what max speed and governor we use.
I think we should all test w/ a max of 998MHz using the "on demand" with NO custom profile. (since every kernel/phone can do this)
Or, am I wrong?
Click to expand...
Click to collapse
The CPU clocks down when you turn the screen off (that's why music sometimes will skip shortly afterwards). Tasks that are using CPU time while the processor is clocked down (and using less voltage) will obviously take longer, but overall use less power (because of the lower voltage).
Some kernels have Conservative as the default governor; how would switching the profile to On Demand represent those kernels accurately?
If ur battery life sux, and you are on the latest radio, flash back to 07.28. I did that last night and have over 60% battery left 24hrs later.
Thanks jermaine151!
Ah, thanks for the feedback, I thought I might be forgetting something. Stock speed for anyone testing.
But I don't think the governor will matter. Conservative will take longer to scale up, and will have a lower CPU Total time, but will also have a lower power draw.
So I think the ratio will hold. In any case, if we get enough testers, we'll see xD
gmichaelow said:
But I don't think the governor will matter. Conservative will take longer to scale up, and will have a higher CPU Total time, but will also have a lower power draw.
Click to expand...
Click to collapse
Fixed it for you.
Higher CPU time but lower draw is not what your equation assumes.
larsrya8 said:
Fixed it for you.
Higher CPU time but lower draw is not what your equation assumes.
Click to expand...
Click to collapse
Ah, you sir are right.
How about we run everything exactly as the kernels come?
So basically, no using SetCPU. I think it's a reasonable assumption that the dev would make the kernel use whatever they thought best.
Perhaps in the future there will be room for a test with SetCPU, but for now, run everything w/o SetCPU.
Hmm, to remove OC variable, no OCed Hydras. Only SS undervolt.
How's that?
gmichaelow said:
How's that?
Click to expand...
Click to collapse
If 6 minutes of CPU time on one kernel isn't the same as 6 minutes of CPU time on another kernel (On Demand vs Conservate, etc), I don't know how you can compare the two using CPU time. I also don't have a different metric in mind
larsrya8 said:
If 6 minutes of CPU time on one kernel isn't the same as 6 minutes of CPU time on another kernel (On Demand vs Conservate, etc), I don't know how you can compare the two using CPU time. I also don't have a different metric in mind
Click to expand...
Click to collapse
No no, that's exactly what we are comparing! =]
We want to see how much power 6 minutes of CPU time is on various kernels, out of the box.
Sure, we're removing the aspect of SetCPU tweaking, but this will give an "out of the box" benchmark.
The whole point is that two kernels are going to perform differently. The question is which will come out ahead!
Not every Kernel has Conservative (koush.test and koush.test2) but i think all have on-demand.
Ultimately, we should compare all the kernels at different max speeds with all governors, but let's see if we can start with 998MHz on demand.
Also, I think it best to use SetCPU. We need to set/limit variables and SetCPU is the best way to do that.
daftlush said:
Not every Kernel has Conservative (koush.test and koush.test2) but i think all have on-demand.
Ultimately, we should compare all the kernels at different max speeds with all governors, but let's see if we can start with 998MHz on demand.
Also, I think it best to use SetCPU. We need to set/limit variables and SetCPU is the best way to do that.
Click to expand...
Click to collapse
This. Okay, so it's settled (mostly). 998MHz on-demand. But what about the min setting? Do you think all the min should be set to 245? Because adryalyne's kernels can have 128 as min.
gmichaelow said:
This. Okay, so it's settled (mostly). 998MHz on-demand. But what about the min setting? Do you think all the min should be set to 245? Because adryalyne's kernels can have 128 as min.
Click to expand...
Click to collapse
Yeah, 245 since every kernel has it.
daftlush said:
Yeah, 245 since every kernel has it.
Click to expand...
Click to collapse
All right, it's ALL settled now.
998/245. On-demand. And let the testing begin! =]
(Unless there's anything else?)
koush.test2: 245 min, 998 max, on-demand.
3h 15m since unplugged. = 195 min
Android System: 4%
CPU Total: 5m 20s = 5.33 min
So, Android System used (195m)(.04) = 7.8 minutes of power.
Load = 5.33 min.
Load / Power = 5.33 / 7.8 = .6833
I didn't "have the kernel flashed for at least 24 hours before doing the test. And have at last one complete discharge cycle" because I have never read that "kernels need to settle."
daftlush said:
koush.test2: 245 min, 998 max, on-demand.
3h 15m since unplugged. = 195 min
Android System: 4%
CPU Total: 5m 20s = 5.33 min
So, Android System used (195m)(.04) = 7.8 minutes of power.
Load = 5.33 min.
Load / Power = 5.33 / 7.8 = .6833
I didn't "Have the kernel flashed for at least 24 hours before doing the test. And have at last one complete discharge cycle" because I have never read that "kernels need to "settle."
Click to expand...
Click to collapse
Haha, yeah okay. Going up. Using 5 decimal places though =]
Great thread.. I hope we get tons of data soon..
Do you at the very least have the phone in airplane mode? There are several things under the "Android System" heading; on CyanogenMod for instance, Account and Sync Settings, Google Backup Transport, Network Location, etc are listed. What if Accounts and Sync fires up during one (and only one) of your kernel tests? Or Google Backup Transport? Or a weather widget requests your phone's location?
I notice you're using the percentage that Android System used, but you're not comparing it to any of the items that don't use CPU time (like the Display). Android System's percentage is going to change a lot if the Display (or WiFi, or GPS, or the Cell Radio, or a combination, etc) consumed 10% vs 80% of your battery. And if you're doing this on a Sense ROM, the percentages listed under Battery Use are wildly inaccurate anyway.
You're gathering data without knowing what that data even means.
But I'm done; just wanted to ensure that anyone who stumbles upon this thread (like TylerD004) aren't lead to believe that your results were derived scientifically, or are in any way accurate or useful
larsrya8 said:
Do you at the very least have the phone in airplane mode? There are several things under the "Android System" heading; on CyanogenMod for instance, Account and Sync Settings, Google Backup Transport, Network Location, etc are listed. What if Accounts and Sync fires up during one (and only one) of your kernel tests? Or Google Backup Transport? Or a weather widget requests your phone's location?
I notice you're using the percentage that Android System used, but you're not comparing it to any of the items that don't use CPU time (like the Display). Android System's percentage is going to change a lot if the Display (or WiFi, or GPS, or the Cell Radio, or a combination, etc) consumed 10% vs 80% of your battery. And if you're doing this on a Sense ROM, the percentages listed under Battery Use are wildly inaccurate anyway.
You're gathering data without knowing what that data even means.
But I'm done; just wanted to ensure that anyone who stumbles upon this thread (like TylerD004) aren't lead to believe that your results were derived scientifically, or are in any way accurate or useful
Click to expand...
Click to collapse
Hmm, I understand what you're saying. You think that, because some people will use use their phones more heavily one day than the other, that the data will be inconsistent?
I'm going to disagree. Because if I use my phone more, then I will have greater Load, but ALSO use greater Power. Thus, I believe the ratio will remain the same.
You pointed out that "Android System"'s % will wildly vary, but I think that's okay. It doesn't matter how much power anything non-CPU related uses, because that's not what we're measuring. I believe
(Time since unplugged) * (Android System %)
will always reflect how much power the CPU used, independent of anything non-CPU related. Sure, "Android System"% may be knocked down if "Cell Standby" sucks up like 50%. But a decreased (%) and an increased (time since unplugged) will come out the same I think.
Do correct me if I'm wrong?
Hello all !
I was bored in school today so I've written a governor concept idea for quad cores. I'm not a dev AT ALL (for now at least, i'm studying many different stuff, hardware / code related too).
I have no idea if this is possible or if this is clever but I wanted to share it anway. If it gives idea to a developer, that's totally worth it, otherwise, well... I had fun doing it
It's called Progressive.
Progressive
The name of the governor says all. The idea behind it is to be «*progressive*». It means it doesn't unleash the full power when it's not needed. It goes progressively higher in freq with more cores. This should make the phone cooler and the battery better. The delay (3 sec ) is just a number, not sure this is really nice. Also, I'm not sure how the S4 handles temperature.
Max freq 1.5 Ghz
Min freq 384 Mhz
Screen off
=> 384-918 Mhz // not too low frequency to avoid reboot
Screen on without touching since 3 sec // always check after 3 seconds for changing the state
=> 384-1134 Mhz only one core online
Screen on touched
=> 594-1134 Mhz two cores online // bump the min_freq to avoid keyboard lag and to add a bit of butter
Screen on touched with a medium load of task // not sure how quantify this
=> 594 Mhz – 1.5Ghz two cores online
Screen on touched with a high load of task // i.e. Games
=> 702 Mhz – 1.5 Mhz four cores online // max power
We also need a thermal protection to avoid any damage, this should do the trick
If the temp is >= 80°C
=> Two cores online max_freq 1134 Mhz until it reaches 70 °C // not sure about the temp, this can be adjusted
If the temps is >=70°C
=> Let 4 cores being possibly online but lower the max_freq to 1134 Mhz
Click to expand...
Click to collapse
What do you guys think ? Is this even possible ? Good, bad idea ?
I hope you enjoy reading it as much as I enjoyed to writte it
doesn't it do this already?
Fissurez said:
doesn't it do this already?
Click to expand...
Click to collapse
I'm not sure how the ondemand governor on nexus 4 works. So I can't really answer, it's really a noob idea that poped into my head today
you pretty much described interactive with mpdecision enabled.
not exactly, but quite.
3 seconds is way too long for the CPU to ramp up (just a matter of tweaking, though). you'd get more lag than you save battery.
mpdecision ramps the cpu to its maximum frequency as soon as a touch input is detected (normally only 2 cores until a certain threshold is reached), so yours should save a bit of power during smaller workloads.
also, if the touch input is released, it clocks the active cores down to 1.02 GHz for a bit before disabling them when not needed.
after all, it seems like a more conservative interactive governor with active mpdecision. could be nice for saving battery while retaining good performance.
it could be a viable choice for those who go for battery life over performance. :good:
Nuu~ said:
you pretty much described interactive with mpdecision enabled.
not exactly, but quite.
3 seconds is way too long for the CPU to ramp up (just a matter of tweaking, though). you'd get more lag than you save battery.
mpdecision ramps the cpu to its maximum frequency as soon as a touch input is detected (normally only 2 cores until a certain threshold is reached), so yours should save a bit of power during smaller workloads.
also, if the touch input is released, it clocks the active cores down to 1.02 GHz for a bit before disabling them when not needed.
after all, it seems like a more conservative interactive governor with active mpdecision. could be nice for saving battery while retaining good performance
Click to expand...
Click to collapse
Thank you Sir, I understand better how mpdecision works now
Glad to see i'm not completely stupid lol
Hi guys,
I have noticed on my one that the first CPU core always sits active about 1/3 usage in idle.
If I touch the screen the 4th core becomes active but not 2 or 3.
If this was a single core phone the phone would go flat quickly with constant CPU use, is it an issue with the one and it's 4 cores?
I do not know what is using the CPU time but I would like to get it to use as least amount of CPU where possible, phone never lasts a day.
This is measured in System Panel and Usemon.
I'm on 1.29.980.2 and not rooted.
Cheers
102 views and no comments or suggestions?
No one checked their own Phone to see if it is normal for one core to be very active all the time?
I don't have a second or third One to check if it is normal behaviour.
If I am doing nothing, not running any app or the such the CPU should be minimal CPU use, just idle time..
Thanks
it is absolutely normal that one core is always active with around 30% of usage. if you start to scroll, the device needs a second core, the 4th one, but these two cores have enough power if you're only scrolling. there is no need for the cores 2 & 3, so they are "inactive" to save battery life.
this is absolutely normal
Ktoonsez presents:
{
"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"
}
KT-SGS6 kernel features
•Must have a S6 model G920F and G920I and G920S and G920T and G925F and G925I and G925S and G925T
•Samsung open source
•Optimized kernel configuration
•unsecure root adb
•Voltage interface
•Over Clocking
•Under Clocking
•KTweaker app for kernel control
•KTweaker Widgets
•KTmonitor app to watch your cpu cores current speed
Click to expand...
Click to collapse
KTweaker Shop and profile help, plus previous versions can be seen here (thanks to LuigiBull23):
http://forum.xda-developers.com/tmo...nel-kt-sgs6-builds-variants-ktweaker-t3107867
Touchwiz Lollipop 5.0 VERSION:
06.22.2015: http://bit.ly/1Jf6B2n
Click to expand...
Click to collapse
KTweaker Shop and profile help, plus previous versions can be seen here (thanks to LuigiBull23):
http://forum.xda-developers.com/tmo...kernel-kt-sgs6e-builds-ktweaker-shop-t3107937
Sources can be found here:
https://github.com/ktoonsez/KTSGS6
What you can expect to get benchmark wise with a good CPU OC'd:
Go to my original thread to view Change logs:
http://forum.xda-developers.com/showpost.php?p=60180784&postcount=2
ktoonservative explained:
Any item with the word cycle in it refers to how many sampling_rate's have occured. A 22 ruffly equates to 1 second for a sampling_rate of 45000
block_cycles_offline_screen_off =1
How many sampling_rate cycles need to occur before a core is allowed to go OFFLINE while the screen is OFF.
block_cycles_offline_screen_on = 11
How many sampling_rate cycles need to occur before a core is allowed to go OFFLINE while the screen is ON.
block_cycles_online_screen_off = 11
How many sampling_rate cycles need to occur before a core is allowed to go ONLINE while the screen is OFF.
block_cycles_online_screen_on = 3
How many sampling_rate cycles need to occur before a core is allowed to go ONLINE while the screen is ON.
block_cycles_raise_screen_off = 11
How many sampling_rate cycles need to occur before the current Mhz is allowed to be raised while the screen is OFF.
block_cycles_raise_screen_on = 3
How many sampling_rate cycles need to occur before the current Mhz is allowed to be raised while the screen is ON.
button_boost_screen_off_core_1 = 1
When this item is a 1, it will turn on the core #1 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_1 = 1
When this item is a 1, it will turn on the core #1 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_2 = 1
When this item is a 1, it will turn on the core #2 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_2 = 1
When this item is a 1, it will turn on the core #2 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_3 = 1
When this item is a 1, it will turn on the core #3 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_3 = 1
When this item is a 1, it will turn on the core #3 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_4 = 1
When this item is a 1, it will turn on the core #4 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_4 = 1
When this item is a 1, it will turn on the core #4 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_5 = 1
When this item is a 1, it will turn on the core #5 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_5 = 1
When this item is a 1, it will turn on the core #5 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_6 = 1
When this item is a 1, it will turn on the core #6 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_6 = 1
When this item is a 1, it will turn on the core #6 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
button_boost_screen_off_core_7 = 1
When this item is a 1, it will turn on the core #7 when a button any hard button is pressed while the screen is OFF. 0 leaves the core in its current state.
button_boost_screen_on_core_7 = 1
When this item is a 1, it will turn on the core #7 when a button any hard button is pressed while the screen is ON. 0 leaves the core in its current state.
boost_hold_cycles = 22
How many sampling_rate cycles need to occur before going out of CPU/GPU boost mode
cpu_load_adder_at_max_gpu = 0
When set to higher than zero, this will add to the actual CPU load to create a perceived higher load when an app is using alot of GPU but not CPU.
cpu_load_adder_at_max_gpu_ignore_tb = 0
When set to 1, this will ignore cpu_load_adder_at_max_gpu during touch/button boost. When set to 0 cpu_load_adder_at_max_gpu will be used all the time.
disable_hotplug = 0
When this item is a 1, it disables hotplugging so all cores stay on full time. 0 lets all cores turn on and off when needed.
disable_hotplug_bt = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while paired to a bluetooth device and doing bluetooth activities like playing music, transfering files.... 0 doesn't do anything extra to the cores when doing bluetooth functions.
disable_hotplug_chrg = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while charging the device. 0 doesn't do anything extra to the cores while charging.
disable_hotplug_media = 0
When this item is a 1, it disables hotplugging so all cores stay on full time while playing music or movies. 0 doesn't do anything extra to the cores while music or movies are playing.
down_threshold_screen_off = 52
A percentage of CPU utilization that needs to occur before the current Mhz begins to lower while screen is OFF.
down_threshold_screen_off_hotplug_1 = 40
A percentage of CPU utilization that needs to occur before the core #1 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_2 = 45
A percentage of CPU utilization that needs to occur before the core #2 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_3 = 50
A percentage of CPU utilization that needs to occur before the core #3 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_4 = 55
A percentage of CPU utilization that needs to occur before the core #4 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_5 = 60
A percentage of CPU utilization that needs to occur before the core #5 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_6 = 65
A percentage of CPU utilization that needs to occur before the core #6 is taken offline while screen is OFF.
down_threshold_screen_off_hotplug_7 = 70
A percentage of CPU utilization that needs to occur before the core #7 is taken offline while screen is OFF.
down_threshold_screen_on = 52
A percentage of CPU utilization that needs to occur before the current Mhz begins to lower while screen is ON.
down_threshold_screen_on_hotplug_1 = 35
A percentage of CPU utilization that needs to occur before the core #1 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_2 = 40
A percentage of CPU utilization that needs to occur before the core #2 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_3 = 45
A percentage of CPU utilization that needs to occur before the core #3 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_4 = 50
A percentage of CPU utilization that needs to occur before the core #4 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_5 = 55
A percentage of CPU utilization that needs to occur before the core #5 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_6 = 60
A percentage of CPU utilization that needs to occur before the core #6 is taken offline while screen is ON.
down_threshold_screen_on_hotplug_7 = 65
A percentage of CPU utilization that needs to occur before the core #7 is taken offline while screen is ON.
freq_step_lower_screen_off = 8
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when lowering the current Mhz while the screen is OFF.
freq_step_lower_screen_on = 2
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when lowering the current Mhz while the screen is ON.
freq_step_raise_screen_off = 1
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when raising the current Mhz while the screen is OFF.
freq_step_raise_screen_on = 5
How many steps from the Mhz table (the entire Mhz table can bee seen in the CPU Voltage screen) it skips when raising the current Mhz while the screen is ON.
ignore_nice_load = 0
If this value is 1, the system will ignore "Nice" processes when deciding to scale up or down. Nice processes are used by the IO scheduler to designate a low-priority process. Ignore nice load basically tells a governor to disregard processes with higher nice values.
lockout_hotplug_screen_off_core_1 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_1 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_2 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_2 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_3 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_3 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_4 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_4 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_5 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_5 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_6 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_6 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_off_core_7 = 0
This is a 3 way option. While the screen is OFF, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_hotplug_screen_on_core_7 = 0
This is a 3 way option. While the screen is ON, 0 = Hotplug Normal so the core will go on and off as needed, 1 = Lock this core always ON, 2 = Lock this core always OFF.
lockout_changes_when_boosting = 0
If this value is 1, all CPU changes to all cores will be ignored while executing a touch/button boost. If 0 all cores will be allowed to scale and hotplug.
no_extra_cores_screen_off = 1
When set to a 1, this option keeps all extra CPU cores offline while the screen is OFF. 0 lets it hotplug them on and off as needed
sampling_rate = 45000
The amount of milliseconds that the governor will analyze the CPU usage and adjust for changes in load while the screen is ON.
sampling_rate_min = 10000
READ-ONLY value that specifies the lower value that "sampling_rate" and "sampling_rate_screen_off" will accept.
sampling_rate_screen_off = 45000
The amount of milliseconds that the governor will analyze the CPU usage and adjust for changes in load while the screen is OFF.
super_conservative_screen_off = 0
With the screen OFF: When set to a 1, this option will explicitly obey your block cycles settings to be a super battery saver (Setting a 1 will slow down the UI a little bit). When set to a 0 it uses fuzzy logic on the "block cycle" items.
super_conservative_screen_on = 0
With the screen ON: When set to a 1, this option will explicitly obey your block cycles settings to be a super battery saver (Setting a 1 will slow down the UI a little bit). When set to a 0 it uses fuzzy logic on the "block cycle" items to create a smooooooth UI experience.
touch_boost_cpu_cl0 = 1200000
The Mhz that you want the online CPU's to jump to when the screen is touched for the the LITTLE CPU (Cluster 0).
touch_boost_cpu_cl1 = 1600000
The Mhz that you want the online CPU's to jump to when the screen is touched for the the BIG CPU (Cluster 1).
touch_boost_core_1 = 1
When set to a 1, this option turns on the core #1 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_2 = 1
When set to a 1, this option turns on the core #2 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_3 = 0
When set to a 1, this option turns on the core #3 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_4 = 0
When set to a 1, this option turns on the core #4 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_5 = 0
When set to a 1, this option turns on the core #5 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_6 = 0
When set to a 1, this option turns on the core #6 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_core_7 = 0
When set to a 1, this option turns on the core #7 when the screen is touched. When set to a 0 it doesn't do anything extra to the cores.
touch_boost_gpu = 424
This value specifies what Mhz the GPU should jump to when the screen is touched.
up_threshold_screen_off = 57
A percentage of CPU utilization that needs to occur before the current Mhz begins to raise while screen is OFF.
up_threshold_screen_off_hotplug_1 = 55
A percentage of CPU utilization that needs to occur before the core #1 is put online while screen is OFF.
up_threshold_screen_off_hotplug_2 = 60
A percentage of CPU utilization that needs to occur before the core #2 is put online while screen is OFF.
up_threshold_screen_off_hotplug_3 = 65
A percentage of CPU utilization that needs to occur before the core #3 is put online while screen is OFF.
up_threshold_screen_off_hotplug_4 = 70
A percentage of CPU utilization that needs to occur before the core #4 is put online while screen is OFF.
up_threshold_screen_off_hotplug_5 = 75
A percentage of CPU utilization that needs to occur before the core #5 is put online while screen is OFF.
up_threshold_screen_off_hotplug_6 = 80
A percentage of CPU utilization that needs to occur before the core #6 is put online while screen is OFF.
up_threshold_screen_off_hotplug_7 = 85
A percentage of CPU utilization that needs to occur before the core #7 is put online while screen is OFF.
up_threshold_screen_on = 57
A percentage of CPU utilization that needs to occur before the current Mhz begins to raise while screen is ON.
up_threshold_screen_on_hotplug_1 = 50
A percentage of CPU utilization that needs to occur before the core #1 is put online while screen is ON.
up_threshold_screen_on_hotplug_2 = 55
A percentage of CPU utilization that needs to occur before the core #2 is put online while screen is ON.
up_threshold_screen_on_hotplug_3 = 60
A percentage of CPU utilization that needs to occur before the core #3 is put online while screen is ON.
up_threshold_screen_on_hotplug_4 = 60
A percentage of CPU utilization that needs to occur before the core #4 is put online while screen is ON.
up_threshold_screen_on_hotplug_5 = 60
A percentage of CPU utilization that needs to occur before the core #5 is put online while screen is ON.
up_threshold_screen_on_hotplug_6 = 60
A percentage of CPU utilization that needs to occur before the core #6 is put online while screen is ON.
up_threshold_screen_on_hotplug_7 = 60
A percentage of CPU utilization that needs to occur before the core #7 is put online while screen is ON.
Great to see you here mate.
Do you know where I can find my chip ASV / bin?
Sent from my SM-G925F
ktoonsez said:
Ktoonsez presents:
Sources can be found here:
https://github.com/ktoonsez/KTSGS6
Click to expand...
Click to collapse
great to see you here 2 great kernels here in dev section just need some great roms now
Welcome
skivnit said:
Great to see you here mate.
Do you know where I can find my chip ASV / bin?
Sent from my SM-G925F
Click to expand...
Click to collapse
Here is your answer for wifi:
CHANGE
ro.securestorage.support=true
TO
ro.securestorage.support=false
In your build.prop
To get you BIN, reboot, get a dmesg and search for "ASV-GROUP=". The first set you hit in the log will be your BIN for BIG CPU, the second set with be LITTLE CPU.
Thank you man, can't wait to see ur kernel fully operational as i'the s5
Sent from my SM-G925F
Hell yeah!! Was rocking this great kernel on my old GS4. Glad to see the Edge getting some dev support now, was starting to think I had made a mistake getting it over the regular S6! I don't want a phone I can't tinker with.
I'm attaching my logs there's a lot of ASV http://1drv.ms/1ORUUld
Sent from my SM-G925F
skivnit said:
I'm attaching my logs there's a lot of ASV http://1drv.ms/1ORUUld
Sent from my SM-G925F
Click to expand...
Click to collapse
Not sure if we got a language barrier or not here so Ill try to explain again:
Open the dmesg file
Search for "ASV-GROUP="
the first set of 24 or so is your BIG CPU
the second set of 19 or so is your LITTLE CPU (there will be a gap of other types of log info in between the BIG CPU logs and the LITTLE logs entries)
Hehe no language barrier just got confused with the ASV as it shows 0 then 8 that's why I attached if you can have a look. If you don't have time no worries
90% sure it's 8 for both
Sent from my SM-G925F
Kernel works perfekt and fast only litten Problem restart KT app Coming this.
skivnit said:
Hehe no language barrier just got confused with the ASV as it shows 0 then 8 that's why I attached if you can have a look. If you don't have time no worries
90% sure it's 8 for both
Sent from my SM-G925F
Click to expand...
Click to collapse
I tried to download when u posted it but it says read-only with a zip file and I clicked it and did nothing so could not view it :good:
cobra11111 said:
Kernel works perfekt and fast only litten Problem restart KT app Coming this.
Click to expand...
Click to collapse
That feature is not implememted yet, read the change log for options I have implememted:good:
ktoonsez said:
I tried to download when u posted it but it says read-only with a zip file and I clicked it and did nothing so could not view it :good:
Click to expand...
Click to collapse
[spolier] SET ASV INFO: ASV-TYPE=0, RCC-VALUE=0, INDEX=1
< 1>[ 0.245720] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, ASV-SUB-IDX=0, ASV-GROUP=8, INDEX=1
< 1>[ 0.245730] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, VOLT-VALUE=1075000, INDEX=2
< 1>[ 0.245741] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, RCC-VALUE=0, INDEX=2
< 1>[ 0.245751] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, ASV-SUB-IDX=0, ASV-GROUP=8, INDEX=2
[/spoiler]1]
This is it right?
Sent from my SM-G925F
Any chance of a TMO/W8 build? Kernel works great but there's no in-call audio similar to all other F/I/S based kernels.
skivnit said:
[spolier] SET ASV INFO: ASV-TYPE=0, RCC-VALUE=0, INDEX=1
< 1>[ 0.245720] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, ASV-SUB-IDX=0, ASV-GROUP=8, INDEX=1
< 1>[ 0.245730] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, VOLT-VALUE=1075000, INDEX=2
< 1>[ 0.245741] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, RCC-VALUE=0, INDEX=2
< 1>[ 0.245751] [6: swapper/0: 1] SET ASV INFO: ASV-TYPE=0, ASV-SUB-IDX=0, ASV-GROUP=8, INDEX=2
[/spoiler]1]
This is it right?
Sent from my SM-G925F
Click to expand...
Click to collapse
That is the entry types yes, you do have to pull it as soon as you boot or things get over-written. Here is an example of one of my testers logs:
http://pastebin.com/4gGK46ZS
In lines 245-314 you can see the BIG CPU (his is a 5)
In lines 343-397 you can see the LITTLE CPU (his is a 9)
Yep that's what I got, it's 8 on both, is there a table of the max UV values we can apply depending on the bins? The one on Anand shows few freqs and asvs
Sent from my SM-G925F
skivnit said:
Yep that's what I got, it's 8 on both, is there a table of the max UV values we can apply depending on the bins? The one on Anand shows few freqs and asvs
Sent from my SM-G925F
Click to expand...
Click to collapse
There is no guidline for OCing, its trial and error, here is a link to the code with the table in it:
https://github.com/ktoonsez/KTSGS6/...m64/mach-exynos/include/mach/asv-exynos7420.h
Line 1307 is where it starts for the big, 1339 for the little. The ASV8 column is yours since you said your an 8, and you can see the other columns ASV0 thru ASV15
A finding and a question:
1. ksmd is consuming CPU cycles. If I disable ksmd, the loadavg drops dramatically.
Code:
echo 0 > /sys/kernel/mm/ksm/run
It helps reduce battery usage.
2. I am seeing Gmail is consuming a whole lot of CPU cycles and its triggering a media scan. Is anyone else seeing this?
Code:
User 7%, System 36%, IOW 0%, IRQ 0%
User 5 + Nice 11 + Sys 76 + Idle 119 + IOW 0 + IRQ 0 + SIRQ 0 = 211
PID PR CPU% S #THR VSS RSS PCY UID Name
887 1 31% S 4 8564K 2952K fg media_rw /system/bin/sdcard
30426 0 21% S 71 1251556K 132212K bg u0_a123 com.google.android.gm
6735 0 4% R 1 2968K 1180K fg root top
Obviously, killing the process does not help because its system service and will pop right back up.
devsk said:
A finding and a question:
1. ksmd is consuming CPU cycles. If I disable ksmd, the loadavg drops dramatically.
Code:
echo 0 > /sys/kernel/mm/ksm/run
It helps reduce battery usage.
2. I am seeing Gmail is consuming a whole lot of CPU cycles and its triggering a media scan. Is anyone else seeing this?
Code:
User 7%, System 36%, IOW 0%, IRQ 0%
User 5 + Nice 11 + Sys 76 + Idle 119 + IOW 0 + IRQ 0 + SIRQ 0 = 211
PID PR CPU% S #THR VSS RSS PCY UID Name
887 1 31% S 4 8564K 2952K fg media_rw /system/bin/sdcard
30426 0 21% S 71 1251556K 132212K bg u0_a123 com.google.android.gm
6735 0 4% R 1 2968K 1180K fg root top
Obviously, killing the process does not help because its system service and will pop right back up.
Click to expand...
Click to collapse
Cool.. that's good to know. Thanks for the info! Would you say disabling that kernel process reduces battery usage a great deal?
One thing that I have noticed with CM 13/marshmallow builds in general, is that sometimes my device just *will not* connect to the mobile network; sometimes I will get lucky and it will connect just fine, but other times it cannot make a connection to save its soul. When it cannot connect, it persistently tries to connect, over and over again-- even if I'm on Wi-Fi-- and the battery is drained at a very rapid rate. However, when it does connect to the LTE network with no issues, battery drainage becomes a non-issue.
(I'm on Verizon, btw)
devsk said:
A finding and a question:
1. ksmd is consuming CPU cycles. If I disable ksmd, the loadavg drops dramatically.
Code:
echo 0 > /sys/kernel/mm/ksm/run
It helps reduce battery usage.
2. I am seeing Gmail is consuming a whole lot of CPU cycles and its triggering a media scan. Is anyone else seeing this?
Code:
User 7%, System 36%, IOW 0%, IRQ 0%
User 5 + Nice 11 + Sys 76 + Idle 119 + IOW 0 + IRQ 0 + SIRQ 0 = 211
PID PR CPU% S #THR VSS RSS PCY UID Name
887 1 31% S 4 8564K 2952K fg media_rw /system/bin/sdcard
30426 0 21% S 71 1251556K 132212K bg u0_a123 com.google.android.gm
6735 0 4% R 1 2968K 1180K fg root top
Obviously, killing the process does not help because its system service and will pop right back up.
Click to expand...
Click to collapse
I turned the KSM off in the Kernel Auditor and the loadav dropped significantly. It should be removed because it serves no purpose really and changing it every boot is a pain As for the gmail service, I just limited it's wakelocks because it was too damn frequent. But what I am wondering is, how is your loadavg 0.8? mine is 2.28 1.93 2.12 4/1437 4960 ... I think I have a major problem somwhere The lowest it has ever been is 1.60
Sinistersky said:
I turned the KSM off in the Kernel Auditor and the loadav dropped significantly. It should be removed because it serves no purpose really and changing it every boot is a pain As for the gmail service, I just limited it's wakelocks because it was too damn frequent. But what I am wondering is, how is your loadavg 0.8? mine is 2.28 1.93 2.12 4/1437 4960 ... I think I have a major problem somwhere The lowest it has ever been is 1.60
Click to expand...
Click to collapse
The loadavg depends on the apps you run. I have noticed that it spikes whenever gmail is doing the email sync or I am running videos from whatsapp etc.
So, don't worry about a larger value if you have been using the phone. The loadavg for idle phone should be close to 0, but it rarely is, because our phones are always doing something in background. The lowest I have seen it drop is 0.08, and then gmail brings it up whenever it does a sync. I have several accounts linked in gmail (yahoo, hotmail, google, work), so its understandable.
One thing you can do to monitor is to see which processes are eating up the CPU with:
Code:
ps | sort -n -k5 | tail -n 5
top -m 3 -s cpu -n 2 -d 2 | grep -v "^$" | tail -n 6
It will show 5 top memory consumers and 3 top CPU consumers. Put it in a shell script and run it periodically to collect some stats.
I have noticed dhd_dpc taking up CPU cycles. But I need the wifi... So, unless and until someone comes along and optimizes the kernel driver for wifi on M7, that's what we got! I don't think anybody would touch the driver code for m7. So, some things will never get fixed for m7.
On the other hand, the cycles eaten by system_ui and system_server are inexcusable! They can be fixed by CM/Google in non-device specific code. May be that will happen as CM13/Marshmallow matures.
devsk said:
The loadavg depends on the apps you run. I have noticed that it spikes whenever gmail is doing the email sync or I am running videos from whatsapp etc.
So, don't worry about a larger value if you have been using the phone. The loadavg for idle phone should be close to 0, but it rarely is, because our phones are always doing something in background. The lowest I have seen it drop is 0.08, and then gmail brings it up whenever it does a sync. I have several accounts linked in gmail (yahoo, hotmail, google, work), so its understandable.
One thing you can do to monitor is to see which processes are eating up the CPU with:
Code:
ps | sort -n -k5 | tail -n 5
top -m 3 -s cpu -n 2 -d 2 | grep -v "^$" | tail -n 6
It will show 5 top memory consumers and 3 top CPU consumers. Put it in a shell script and run it periodically to collect some stats.
I have noticed dhd_dpc taking up CPU cycles. But I need the wifi... So, unless and until someone comes along and optimizes the kernel driver for wifi on M7, that's what we got! I don't think anybody would touch the driver code for m7. So, some things will never get fixed for m7.
On the other hand, the cycles eaten by system_ui and system_server are inexcusable! They can be fixed by CM/Google in non-device specific code. May be that will happen as CM13/Marshmallow matures.
Click to expand...
Click to collapse
Thanks for the info. I'll try to collect some stats on my device to see what is putting a strain on the battery so much. As for the system, it has always been that way ever since lollipop came. Nobody bothers to fix it, and I am beginning to think that maybe they didn't notice the numbers or the switch from 5.0 to 6.0 happened so fast they just went "meh, we'll leave it and maybe fix it later if we remember". I never understood why most of the ROM and kernel makers try to add more new stuff without even fixing and optimizing the things that are the core of the new optimizations and add-ons. It just makes no sense to try to push something new on a broken foundation to begin with. The M7 is a great phone even now, and I had it for 3 years now. Naturally, the battery is very old now and the moment i start using the screen it drops 20% in an hour or so, making me have at most 3 hours of screen time. But with background usage restriction I get by on a daily basis just barely. Fixing the system cycles would be heavenly for me, but alas, maybe it will never happen, sadly