-Kernels, Governors and I/O Schedulers-
*OUR GOAL: To EDUCATE ourselves*
(This is a learning experience for me as well)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-PART 1-1) What is a KERNEL, and what does it do for us?
2) What are GOVERNORS, and how can we, the operators, use them to our advantage?
3) What is an I/O SCHEDULER, and how do we use it?
*In order to manually clock your kernel and use I/O schedulers you must be rooted and either using a custom kernel/ROM that supports clocking and the use of schedulers or an application with the same support*
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1) What is a kernel, and what does it do for us?
In short, the Android Kernel is an intermediary that functions between your devices CPU, memory and applications. It is the very base of the Android operating system. Written in linux, your device CANNOT function without a kernel.
{
"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"
}
In similar terms, a kernel is much like the brain of your device. It controls EVERYTHING. For instance when you adjust the brightness slider, open an application, use your voice search function, you are sending requests to the kernel to perform that specific function. When you tap the volume rocker your device sends a request to the kernel to increase sound output. The kernel then processes the request, and the music gets louder :victory:
Click to expand...
Click to collapse
Kernels come in all different shapes, sizes, colors and flavors. ONLY FLASH KERNELS BUILT SPECIFICALLY FOR YOUR DEVICE! Let it also be known that some developers cannot/will not assist you should you flash a custom kernel over their ROM.
Click to expand...
Click to collapse
2) What are governors, and how can we, the operators, use them to our advantage?
An Android governor controls how the CPU will clock it's frequencies (minimum/maximum) in response to the users demands. It also controls how long the device will hold that specific frequency. Governors, in large, can have a profound effect on the overall performance and battery life of your device
Click to expand...
Click to collapse
Assuming that you will eventually like to tweak your kernel, it is best practice to take note of the last properly functioning settings should your experimentation's go amiss. You have been warned :silly:
Click to expand...
Click to collapse
2) What is an I/O scheduler, and how do we use it?
I/O scheduling, while a bit perplexing, is how your device prioritizes user requests. Processes come in a random order, one after the other, and here is where an I/O scheduler will come in to play. While requests wait to be fulfilled, in a random order as we've said, the I/O scheduler will organize them into the order in which they will be found on the disk, thus reducing seek time and speeding up the process of fulfillment. Requests also have deadlines, and an I/O scheduler can ensure those requests will be met before they reach said deadline. I/O schedulers operate on a first come first serve basis, ensuring your requests are met in the order in which they are received.
Click to expand...
Click to collapse
With the proper combination of a governor and I/O scheduler you can experience OPTIMUM performance (snappiness and fluidity... that buttery goodness) and maximized battery life.These settings are user dependent. What works for me may not work for you! Also note that these settings are included for experimental purposes only, and no developer can be held responsible should you choose to tweak your kernel and something goes wrong.
Click to expand...
Click to collapse
-Kernels, Governors and I/O Schedulers-
CONTINUED
-PART 2-
-GOVERNORS BROKEN DOWN AND EXPLAINED-
With a wide variety of governors from which you can choose, it may seem a bit over whelming. No worries, though. After reading through this reference guide, you will come out well informed and ready to tweak your kernel to you hearts desire :cyclops:
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
*Tweak at your own risk. I will claim no responsibility for any damages that may occur*
-COMMON GOVERNORS-
1) Ondemand
2) Ondemandx
3) Conservative
4) Interactive
5) Interactivex
6) Lulzactive
7) Lulzactiveq
8) Smartass
9) SmartassV2
10) Intellidemand
11) Lazy
12) Lagfree
13) Lionheart
14) LionheartX
15) Brazilianwax
16) SavagedZen
17) Userspacce
18) Powersave
19) Performance
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
*To save myself a few hours of time, all credits for these descriptions go to @droidphile*
1) Ondeman: Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. (You can change this behavior using smooth scaling parameters, refer Siyah tweaks at the end of 3rd post.) Effectively, it uses the CPU busy time as the answer to "how critical is performance right now" question. So Ondemand jumps to maximum frequency when CPU is busy and decreases the frequency gradually when CPU is less loaded/apporaching idle. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings. One potential reason for ondemand governor being not very power efficient is that the governor decide the next target frequency by instant requirement during sampling interval. The instant requirement can response quickly to workload change, but it does not usually reflect workload real CPU usage requirement in a small longer time and it possibly causes frequently change between highest and lowest frequency.
2) Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3) Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
4) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.
5) Interactivex:
This is an Interactive governor with a wake profile. More battery friendly than interactive.
6) Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
7) Lulzactiveq:
Lulzactiveq is a modified lulzactive governor authored by XDA member robertobsc and is adapted in Siyah kernel for GS2 and GS3. Lulzactiveq aims to optimize the second version of luzactive from Tegrak by a) providing an extra parameter (dec_cpu_load) to make scaling down more sensible, and b) incorporating hotplug logic to the governor. Luzactiveq is the first ever interactive based governor with hotplugging logic inbuilt (atleast the first of its kind for the exynos platform). When CPU comes out of idle loop and it's time to make a scaling decision, if load >= inc_cpu_load CPU is scaled up (like original luzactiveq) and if load <dec_cpu_load, CPU is scaled down. This possibly eliminates the strict single cut-off frequency for luzactiveq to make CPU scaling decisions. Also, stand hotplug logic runs as a separate thread with the governor so that external hotplugging logic is not required to control hotplug in and out (turn On and Off) CPU cores in multi core devices like GS2 or GS3. Only a multi core aware governor makes real sense on muti-core devices. Lulzactiveq and pegasusq aims to do that.
8) Smartass:
Result of Erasmux rewriting the complete code of interactive governor. Main goal is to optimize battery life without comprising performance. Still, not as battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off. Smartass would jump up to highest frequency too often as well.
9) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
10) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
11) Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
12) Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
13) Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
14) LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
15) Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery.
16) SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
17) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
18) Powersave:
Locks max frequency to min frequency. Can not be used as a screen-on or even screen-off (if scaling min frequency is too low).
19) Performance:
Sets min frequency as max frequency. Use this while benchmarking!
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Each and every one of these governors offer their own benefits and disadvantages. Some will provide better performance at the cost of battery life and vice versa. It is up to you, the user, to determine which governor best suits your needs. No two people use their devices the exact same way. Please, for your own sake, note your original settings and/or any subsequent settings that provided your device with stability.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
This one too
just in case
Related
{
"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"
}
Just so we're all on the same page, consider this kernel to be minimally supported for the most part. I compiled it for my own personal use and figured someone else out there might want to use it as well. I'll take suggestions and see what I can do about implementing them and possibly fix some bugs along the way. Releases will be as I add new features or tweak existing ones.
This kernel is from the official CyanogenMod HTC-msm7x30 git repository with some tweaks and additions. This should work with AOSP based roms; I've only tested with a CyanogenMod variant. As usual, you flash this at your own risk.
I am only focusing on the Desire HD/Inspire 4G hardware with this kernel. Other MSM7x30 platforms are not supported in the slightest.
While I have quite a bit of linux/BSD experience under my belt, I'm still getting used to this Android thing. Consider this a beta release. While it's been rock solid for myself with my own testing, your results may vary.
Downloads:
Attached to the post.
Ouroboros-v0.40.zip md5sum: 29bd548462a5ef7ebb90f416d55c6642
Ouroboros-v0.32.zip md5sum: e5276abf8f73411a72e4a61294dfb644
Ouroboros-v0.31.zip md5sum: fc008a11dd07f146e7cb4f6caa7efa24
Click to expand...
Click to collapse
v0.40 is for people running CM Nightlies v250 and above or a rom that's based off these builds. Some code was changed regarding the dual microphone support and running a kernel below v0.40 will result in the person you're calling being unable to hear you. So, to clarify. v0.40 and future versions are for the CyanogenMod Nightly builds v250 and above or roms based on it. For everything else, run v0.32.
Supported I/O Schedulers:
BFQ
CFQ
No-Op
Deadline
Simple I/O (default)
V(r) I/O
These can be changed using the No-Frills CPU Control app or something similar.
Click to expand...
Click to collapse
Supported CPU Governors:
Smartass v2 (default)
Ondemand
OndemandX
Performance
Interactive
Conservative
Userspace
Powersave
Performance
These can be changed in CM Settings, SetCPU, No-Frills, or a similar app.
Click to expand...
Click to collapse
Other features:
20% audio boost (speaker, headset, etc)
SLQB memory allocator
Increased available GPU memory
Lowered SD card voltage
Lowered wifi voltage
Updated to jhash3
Click to expand...
Click to collapse
Many thanks: CyanogenMod team, Kali-, LorD ClockaN, Leedroid, a whole bunch of others
git
If you feel like you want to donate money to me, consider donating to a charity such as the Mercy Ships, Red Cross, Globus Relief, and The Children's Aid Society (to name a few) instead.
Changelog
Changelog:
Code:
v0.40
*Fixed the voice/dual mic problems that were occurring with CM Nightly builds 250 and above
*Removed BTRFS support for now. This is for another project of mine.
v0.32
*Added support for BTRFS file systems
v0.31
*Fixed some compiler flags
v0.30
*Added BrazilianWax cpu governor
*Switched to Lempel-Ziv-Overhumer (LZO) compression from Gzip
-This produces a larger kernel size but decompresses much faster
*Changed default I/O Scheduler to SIO
-This can be modified using No-Frills CPU Control or something similar
*Support LZO compressed initial ramdisks
*Compiler optimization
v0.20
*Added cleancache
*Fixed typo in GPU memory increase
*Increased camera memory
*Lowered vfs_cache_pressure more (50 from 75)
*Disabled IPv6. This might fix the network connectivity issues a user was reporting.
v0.10
*Initial release
To-Do List:
Code:
*None
Initial performance seems great on smartass2, will give it a test today, and report back tomorrow.
(Running on DHD)
Many thanks.
Regards
Lost WiFi and 3G connectivity after flashing it ;s
deerxmoose said:
Lost WiFi and 3G connectivity after flashing it ;s
Click to expand...
Click to collapse
That's just strange, I have no idea why it would happen. What rom?
EDIT:
Also, what radio? And can you confirm the md5sum? It's possible it was a bad/incomplete download.
New version has been attached, 0.20. I disabled IPv6 which might fix the connection problems deerxmoose reported.
Giving this a go on MIUI.
Will try on miui
Sent from my Inspire 4G using XDA App
Giving it a try. Seems smooth, only suggestion is to add lower frequency and Brazillianwax governor.
Great work bro!
Sent from my Inspire 4G
jibust said:
Giving it a try. Seems smooth, only suggestion is to add lower frequency and Brazillianwax governor.
Great work bro!
Sent from my Inspire 4G
Click to expand...
Click to collapse
Cheers. Adding the 122mhz frequency has been proving difficult (usually causes boot lockups when I add it) but I'll keep tinkering away at it.
Brazillianwax should be easy to add. I'll put it in the next update.
helushune said:
Cheers. Adding the 122mhz frequency has been proving difficult (usually causes boot lockups when I add it) but I'll keep tinkering away at it.
Brazillianwax should be easy to add. I'll put it in the next update.
Click to expand...
Click to collapse
Great thanks. It has been running perfect, smooth and fast for the last couple of hours. Battery life has been really good, even though it doesn't support UV (yet ). Keep up the good work.
Sent from my Inspire 4G
+1, very nice, smooth, and no faults to report.
Regards
helushune said:
Cheers. Adding the 122mhz frequency has been proving difficult (usually causes boot lockups when I add it) but I'll keep tinkering away at it.
Brazillianwax should be easy to add. I'll put it in the next update.
Click to expand...
Click to collapse
You know what, I usually use 122 to save battery, but it seems that your kernel is a lot more frugal ( when it come to battery use) than LorMods (don't know why). So we may not need the lower frequency
Sent from my Inspire 4G
Has been running great on MIUI. Too early to tell as far as battery goes. You can run a UV script to UV i believe. Really snappy and fast kernel. Perfectly stable as well.
jibust said:
Great thanks. It has been running perfect, smooth and fast for the last couple of hours. Battery life has been really good, even though it doesn't support UV (yet ). Keep up the good work.
Sent from my Inspire 4G
Click to expand...
Click to collapse
InspiresMe said:
Has been running great on MIUI. Too early to tell as far as battery goes. You can run a UV script to UV i believe. Really snappy and fast kernel. Perfectly stable as well.
Click to expand...
Click to collapse
I've compiled the kernel with voltage support enabled in the configuration but I think I need to manually add the VDD interface code in order to properly take advantage of the undervoltage scripts. Either way, it's a work in progress right now.
If you guys want a version that has the Brazilianwax CPU governor, feel free to grab 0.21-b1 from here: http://mirror.helushune.net/ouroboros/. That's currently the only change between the v0.21 beta and v0.20.
helushune said:
I've compiled the kernel with voltage support enabled in the configuration but I think I need to manually add the VDD interface code in order to properly take advantage of the undervoltage scripts. Either way, it's a work in progress right now.
If you guys want a version that has the Brazilianwax CPU governor, feel free to grab 0.21-b1 from here: http://mirror.helushune.net/ouroboros/. That's currently the only change between the v0.21 beta and v0.20.
Click to expand...
Click to collapse
Thanks, flashing right now.
Update: running perfectly!!!
Sent from my Inspire 4G
This is another great choice for MIUI users! Battery life is very good as well.
Better than talon and i think better than lordmod. I have having pretty bad battery life with talon.
I have it running at 245/768 on interactive. UV by 50.
Running great for me on CM7.
Inspire4G via Tapatalk
v0.30 has hit. I changed the default I/O scheduler to Simple I/O (SIO) which gives more consistent performance over V(r) I/O. This can be changed using No-Frills CPU Control, SetCPU, or something similar. Another thing of note would be I switched the compression method over to LZO from Gzip. This results in a larger kernel size but decompression is about 56% faster. Boot times should be quicker as a result.
I added the Brazilianwax CPU governor and added some compiler optimization flags which may produce higher performance all around as well.
EDIT:
Oops. Looks like some compiler flags backfired on me and the kernel was much bigger than it should have been. v0.31 corrects this. If you already flashed v0.30, there's nothing to worry about; the kernel's just a bit on the chubby side.
helushune said:
v0.30 has hit. I changed the default I/O scheduler to Simple I/O (SIO) which gives more consistent performance over V(r) I/O. This can be changed using No-Frills CPU Control, SetCPU, or something similar. Another thing of note would be I switched the compression method over to LZO from Gzip. This results in a larger kernel size but decompression is about 56% faster. Boot times should be quicker as a result.
I added the Brazilianwax CPU governor and added some compiler optimization flags which may produce higher performance all around as well.
EDIT:
Oops. Looks like some compiler flags backfired on me and the kernel was much bigger than it should have been. v0.31 corrects this. If you already flashed v0.30, there's nothing to worry about; the kernel's just a bit on the chubby side.
Click to expand...
Click to collapse
Flashed, running good.
Sent from my Inspire 4G
Well imma share this guide, it's from the user droidphile and this is the original post http://forum.xda-developers.com/showthread.php?t=1369817 all the credit its for him cuz he made an excellent post and explanation from governors and I/O Schedulers this is a COPY PASTE from his post but i wanted to share with you guys.
1. GOVERNORS
I) MANUAL:
These are the 17 governors we're talking about.
1) lazy
2) lulzactive
3) lagfree
4) smartassV2
5) ondemandx
6) intellidemand
7) lionheart
8) brazilianwax
9) SavagedZen
10) smartass
11) conservative
12) userspacce
13) powersave
14) ondemand
15) performance
16) Interactive
17) Interactivex
[ Governors 1 to 7 ]
1) lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time cpu stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step. Lazy also has a screenoff_maxfreq parameter which can be configured to specify screen-off max frequency.
2) lulzactive:
This new find from Tegrak is based on interactive & smartass governors and is one of our favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up cpu to next higher step. When workload is less than 60%, governor scales down cpu to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
3) lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
4) smartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down cpu very fast while screen is off and scales up to 500 mhz quickly when screen is on. There's no upper limit for frequency while screen is off (unlike smartass). The motto of this governor is a balance between performance and battery.
5) ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be battery friendly ondemand. When screen is off, max frequency is 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors.
6) intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (rather moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of cpu. Lower idling time (<20%) causes cpu to scale-up from current frequency. Frequency scale-down happens at steps=5% of current frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is not busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
7) lionheart:
Lionheart is a tweaked conservative governor from Knzo. You can simply modify conservative to experience lionheart. Set low up-threshold (60 or something) and lowest possible sampling rate on conservative. Lionheart's motto is extreme responsiveness and performance, at the cost of battery. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand. This could be the reason for lionheart's 'birth'.
This thread by knzo has the explanations for governors 6 to 15. So i will just give 1/2 line briefing on Governors 6 to 15.
6) brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery.
7) SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
8) smartass:
Initial version of smartassV2 with screen-off max frequency limit. Not battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off.
9) conservative:
A slower ondemand which scales up slowly to save battery. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle.
10) userspace:
Instead of automatically determining frequencies, lets user set frequencies.
11) powersave:
Locks max frequency to min frequency. Can not be used as a screen-on or even screen-off(if scaling min frequency is too low)
12) ondemand:
Default governor in almost all stock kernels. Simply put, Ondemand jumps to maximum frequency on CPU load and decreases the frequency step by step on CPU idle. No suspend/wake profiles. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings.
13) performance:
Sets min frequency as max frequency. Use this while benchmarking!
14) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Instead of sampling at every interval like ondemand, it determines how to scale up when cpu comes out of idle. It's an intelligent ondemand because of stability optimizations.
15) Interactivex:
This is an Interactive with wake profile. More battery friendly than interactive.
Click to expand...
Click to collapse
3. I/O SCHEDULERS
Q. "What purposes does an i/o scheduler serve?"
A.
Minimize hard disk seek latency.
Prioritize I/O requests from processes.
Allocate disk bandwidth for running processes.
Guarantee that certain requests will be served before a deadline.
So in the simplest of simplest form: Kernel controls the disk access using I/O Scheduler.
Q. "What goals every I/O scheduler tries to balance?"
A.
Fairness (let every process have its share of the access to disk)
Performance (try to serve requests close to current disk head position first, because seeking there is fastest)
Real-time (guarantee that a request is serviced in a given time)
Q. "Description, advantages, disadvantages of each I/O Scheduler?"
A.
1) Noop
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2) Deadline
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3) CFQ
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.
4) BFQ
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires. BFQ assigns high budgets to non-read tasks. Budget assigned to a process varies over time as a function of it's behavior.
Advantages:
Believed to be very good for usb data transfer rate.
Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others)
Considered an accurate i/o scheduler.
Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages:
Not the best scheduler for benchmarking.
Higher budget assigned to a process can affect interactivity and increased latency.
5) SIO
Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Advantages:
Simple, so reliable.
Minimized starvation of requests.
Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.
6) V(R)
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
7) Anticipatory
Based on two facts
i) Disk seeks are really slow.
ii) Write operations can happen whenever, but there is always some process waiting for read operation.
So anticipatory prioritize read operations over write. It anticipates synchronous read operations.
Advantages:
Read requests from processes are never starved.
As good as noop for read-performance on flash drives.
Disadvantages:
'Guess works' might not be always reliable.
Reduced write-performance on high performance disks.
Click to expand...
Click to collapse
I hope this helps clarify your doubts about OC and I/O
Thanks, I actually was gonna ask something like this!!!
So what governer+ io scheduler combination would you recommend for extreme performance??
And for equal importance to battery and performance (like for normal daily use)???
Well atm im using this
Rom: Razodroid v1
Governor: OndemandX
I/O: vr
Max: 734 mhz
Min: 245 mhz
And this is my best quadrant score:
{
"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"
}
Its stable but my average its 1,770-1,850
would be nice if other pplz post their results and scores, that way we can learn together.
Enviado desde mi GT-S5670 usando Tapatalk
Thanks
Quite an informational post.
Rom: Razodroid v1.0
Governor: Brazilianwax
I/O: vr
Max: 763 mhz
Min: 245 mhz
lomash said:
Rom: Razodroid v1.0
Governor: Brazilianwax
I/O: vr
Max: 763 mhz
Min: 245 mhz
Click to expand...
Click to collapse
Ooh vr is the most "unstable" of the lot...and with brazilianwax, how much battery life you get???
And I haven't oc'ed yet (I'll do it 2mrw)
Rom: creed's 1.6
Governor: ondemand (or sometimes userspace)
I/o: deadline
I'll post it my qaudrant after moving to creed's 1.7
I just overclocked today, so can't say much about battery life.
Changed to vr for the benchmark while fiddling with the governors. Usually, I keep it on deadline
Getting around 1800 with Ondemand and deadline.
Yeah for score i use vr nut usually i use deadline too
Enviado desde mi GT-S5670 usando Tapatalk
gave me so much knowledge haha
thankssssss
Nice thread..
My favourite setting is :
Max : 748
Min : 245
Gov : Smartassv2
I/O : Sio
Sent from my Galaxy Fit
he mentioned lulzactive as "best governer" many times..
any1 knows how to get it on our fit?
i have tried it on ace, and it certainly is better then any other governor..
Thanks very useful I got cpuspy from market and i am trying to find the best set up for. The phone
Send from my HTC Wildfire S
ROM. Wildchild. v2. 0
{
"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"
}
Settings Optimilization
(Requirements: being literate, at least half a brain, common sense. If you don't meet these, listen to da song
and go away)Processor Tweaks
CPU Governor
A CPU governor in Android controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device
1: OnDemand Governor:
Main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. Ondemand jumps to maximum frequency and decreases the frequency gradually when CPU is less loaded/apporaching idle.
2: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency.
3: Interactive Governor:
Can be considered a faster ondemand. Snappier with similar battery life.
4: Performance Governor:
This locks the phone's CPU at maximum frequency. Not very power efficient but God, it's fast.
Minimum and Maximum CPU Frequency
These are the values between which your cpu will scale it's clockspeed. The lower is Min value the less battery your phone should consume when not bothered. Max value is the border of how high you will let you CPU go.
The higher it goes the more battery it eats. Many people say it improves the performance, some that it doesn't. Too high values can cause freezes so don't be surprised when that happens
HTC Desire S values:
Min 245-368
Max 1024-1516
Experimental 1612-1804
I/O scheduler
I/O scheduler basically determines the order in which things get written to or read from storage. It will prioritize each block of data based on which process is requesting the operation or how much time it takes to complete each operation
1: Noop:
Inserts all the incoming I/O requests to a First In, First Out queue and implements request merging.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2: Deadline:
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3: ROW
The ROW IO scheduler was developed with the mobile devices needs in
mind. Favoring READ requests over WRITEs decreases the READ latency greatly.
Advantages:
Best READ values so very fast user experience
Disadvantages:
Not so good at WRITEing
4: CFQ:
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ.
5: BFQ
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires.
Advantages:
Believed to be very good for usb data transfer rate.
Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others)
Considered an accurate i/o scheduler.
Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages:
Not the best scheduler for benchmarking.
Higher budget assigned to a process can affect interactivity and increased latency.
Set on boot
This option sets your CPU values on boot. It's good to let your phone run on your settings for a while before doing that.
Memory management and miscellaneous
zRAM
zRam is a virtual memory, also known as swap space, which lives in the ram. Virtual memory is the part where the system stores memory fragments which are not accessed, making more room for apps to store information in the ram. From my experience makes phone faster.
Advantages:
More memory for you.
Disadvantages:
It uses CPU to compress/decompress so battery dies faster/might cause some lags.
Allow purging of assets
Purging of bitmap memory assets. Think of it as allowing stale items in RAM to be tossed out when you need more RAM.
Kernel samepege merging
Let's say that we have processes called "A" and "B". "A" needs "Y" data to be loaded in memory to run and "B" needs "Z" data. Assuming that "Y" and "Z" are identical kernel samepege merging merges those identical processes into "X" thus increasing available RAM.
16bit transparency & Surface iprovement
Some users claim better performence/smaller battery usage after enabling 16bit and disabling Surface improvement
Barebones
Some of the apps that come with your phone can be safely removed without causing stability issues. They take up space and use resources that could be used for other things. Removing unwanted apps will theoretically make your phone run faster and smoother, plus, you can configure your phone just the way you want it.
WE WANT YOUto help developing Barebones
How do I do that?
1. Click on the link.
2. Login to cyanogenmod wiki.
3. Click edit
4. You will see a list of templates. Click (edit) next to Template:Barebones cm10.1
How do I add an app?
You will see something like this:
! <apk name>
! <package name>
! Remove
! Description
! Version
|-
|Android keyboard
|com.android.inputmethod.latin
|{{yes}}
|Stock android keyboard. Safe to remove if replaced with something else for eg. Swype,Swift
|4.2.2
|-
Click to expand...
Click to collapse
These are columns:
! <apk name>
! <package name>
! Remove
! Description
! Version
Click to expand...
Click to collapse
This is how you start and end your row:
|-
Click to expand...
Click to collapse
Behind this you have to write your column content
|
Click to expand...
Click to collapse
Warning! You always have to make all columns even if you want to leave them empty.
Modding
Modding
So, Google IT guys are the best, they know everything better and magic rainbow is flowing out of their arses... Yet still some people find ways to improve Android:
V6 Supercharger:
Turbo Boost:
RTMixManager™
Looking for a real functioning game booster? Get one here!
CrossBreeder
Lag Reduce/Entropy/DNS+/Tether+/Adblock/Censor Bypass
Direct Injection Turbo
The end
What do you want from us?
1. Post your settings/OC/ideas on how to make Phone run Faster.
2. Help updating Barebones.
3. Post Mods you're using
Credits: droidphile, mj.vikram, http://androidforums.com/, http://rootzwiki.com/, http://wiki.cyanogenmod.org/, and others...
not bad.... here are some suggestions for post 3
http://forum.xda-developers.com/showthread.php?t=2076101
http://forum.xda-developers.com/showthread.php?t=2113150
http://forum.xda-developers.com/showthread.php?t=2158329
Sent from my GT-I9505 using Tapatalk 2
hisname said:
not bad.... here are some suggestions for post 3
http://forum.xda-developers.com/showthread.php?t=2076101
http://forum.xda-developers.com/showthread.php?t=2113150
http://forum.xda-developers.com/showthread.php?t=2158329
Sent from my GT-I9505 using Tapatalk 2
Click to expand...
Click to collapse
Thanks! Updated.
Hi there is like this new setting in cm11, force high end setting. Anyone care to share their thoughts about that?
First Custom Kernel for Micromax Canvas Magnus A117
WARNING:
Code:
I or xda is not responsible for any kind of damage to your device. Please use it at your own risk!
FEATURES :
As of now basic features added. Will keep updating new version regularly.
Lots of governors & I/O schedulers added ( Check below for list )
LZMA Compression for zImage and Gzip for ramdisk.
Google Snappy compression mode (v5)
Clean Cache Enabled
MTK Vermagic Hack
Optimized ARM algorithm ( Credits to @faux123 )
NTFS support.
Governors added :
Lulzactiveq
Nightmare
Smartass2
Nightmare
Pegasusq
Sakuractive
Intellidemand
zzmoove
Performance
Powersave
I/O schedulers added :
SIO
Fifo
Fiops
Row
Vr
Zen
Sioplus
Click to expand...
Click to collapse
Use Trickster mod App to change governors. For more detailed review on governors read post #3
Installation instructions :
Copy zip to your Sd card / Internal memory & reboot to recovery
Mount system ( mounts & storage -> Mount system )
Install zip
Reboot :laugh:
DOWNLOADS :
Xtreme Sandy kernel V 1.2
Note
Anyone who wants to include the Kernel in custom ROM's feel free to include after informing me. Also just link back to this thread
Older versions
V 1.0 : http://p.pw/babqRW ( Only compatible with Blu ROM
CREDITS :
@kashifmin for his support and guidance
@Siddhesh.K15 for working with me for months
Screenshots :
{
"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"
}
Kernel sources :
https://github.com/sandymanu/A117_MT6589_kernel
XDA:DevDB Information
[KERNEL][3.4.5][Xtreme Sandy Kernel ][Smoothness] for Micromax A117, Kernel for the Micromax Canvas Magnus A117
Contributors
Santhosh M
Kernel Special Features:
Version Information
Status: Alpha
Current Stable Version: V 1.2
Stable Release Date: 2014-07-17
Created 2014-07-03
Last Updated 2014-07-23
FAQ's on Kernel :
What is a kernel? Why should I install it?
A: Click here to know the answer.
Will this work on all MT6589 / 6589T Phones?
A: NO
Is this kernel compatible with all ROMs?
A: This kernel works only on Stock ROM as of now. Other ROM's have to replace ramdisk.
Will this work on other clones of these devices such as Blu life One M ?
A: YES. It will work
Is this kernel recommended for daily use?
A: Yes!
What are the best governor+io combinations?
A: Hotplug+cfq, Smartassv2+cfq, Sakuractive+cfq. Read about governors & i/o schedulers & try them and give feedback on the thread so that others can know.
Explanation on Governors & I/O schedulers :
Read the below links for everything
http://forum.xda-developers.com/showthread.php?t=1767797 ( All governors & schedulers explained )
http://forum.xda-developers.com/showthread.php?t=2301294 ( All governors & schedulers explained )
For people who are lazy i have put through some here
Performance governor helps gaming according to people who tried my kernel in A250. I can't confirm the same here since i am not a gamer. So try that for gaming and let people know.
Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
Sakuractive:
This driver mimics the frequency scaling behavior in "on demand" but with several key differences. First is that frequency transitions use the CPUFreq table directly, instead of incrementing in a percentage of the maximum available frequency. Second "sakuractive" will offline auxillary CPUs when the system is idle, and online those CPUs once the system becomes busy again. This last feature is needed for architectures which transition to low power states when only the "master" CPU is online, or for thermally constrained devices
ZZmoove
ZZmove Governor optimized for low power consumption with the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. It has three settings: battery saver, balanced and performance. In addition to a performance boost, there is also the governor zzmove optimized.
Pegasusq/Pegasusd
The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging.
Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values arranged (priority will be used by the task scheduler, which then decides which process to run next).
To ensure that each process has its fair share of resources, each running for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.
SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
I/O Schedulers :
I/O Schedulers Explained
1: Noop:
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2: Deadline:
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3: CFQ:
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.
5: SIO:
Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Advantages:
Simple, so reliable.
Minimized starvation of requests.
Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.
6: V(R):
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
I congratulate you on your amazing work. Looking forward to more from you.
Grounded for long; its time now to fly...
Click to expand...
Click to collapse
keep on crossing your limits.. Keep flying my friend .....
Rht555 said:
keep on crossing your limits.. Keep flying my friend .....
Click to expand...
Click to collapse
Thanks a lot bro
Excellent work !!
Android Original development was the only place there was not activity in magnus dashboard, you have unleashed it with the bang. ! Hope it can be used on magnus stock rom in coming days. !! Cheers :cyclops::highfive:
Finally *wipes tears* an awesome work by an awesome dev ! thnkz for all the support.... :good::good::good: keep developing gr8 :highfive:
waiting for more
Was waiting for this thanks a lot
Sent from my Micromax A117 using XDA Premium 4 mobile app
rubenhardy said:
Android Original development was the only place there was not activity in magnus dashboard, you have unleashed it with the bang. ! Hope it can be used on magnus stock rom in coming days. !! Cheers :cyclops::highfive:
Click to expand...
Click to collapse
Hey Did You Checked In Stock ROM And XLD,SLD,PureXpriaZ2 Rom ???
Please make it available for stock rom
Xtreme Sandy kernel V 1.2 released
Now compatible with A117 stock ROM
Changelogs
Compatible with A117 stock ROM
Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
Xtreme smoothness
DOWNLOADS :
Xtreme Sandy kernel V 1.2
Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.
Thanks
Santhosh
Can this be used in other custom roms or only for stock?
Sent from my A117 using XDA Free mobile app
Link is not working plz fix
Sent from my Micromax A117 using XDA Premium 4 mobile app
Siddk007 said:
Can this be used in other custom roms or only for stock?
Sent from my A117 using XDA Free mobile app
Click to expand...
Click to collapse
Hope you have read Post #2
vikash118 said:
Link is not working plz fix
Sent from my Micromax A117 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
It does work. Checked even now
Santhosh M said:
It does work. Checked even now
Click to expand...
Click to collapse
Link not working! Has been blocked by my ISP (Airtel)
Please give the direct link!
Cant download
Santhosh M said:
Xtreme Sandy kernel V 1.2 released
Now compatible with A117 stock ROM
Changelogs
Compatible with A117 stock ROM
Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
Xtreme smoothness
DOWNLOADS :
Xtreme Sandy kernel V 1.2
Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.
Thanks
Santhosh
Click to expand...
Click to collapse
Cant download..............
Santhosh M said:
Xtreme Sandy kernel V 1.2 released
Now compatible with A117 stock ROM
Changelogs
Compatible with A117 stock ROM
Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
Xtreme smoothness
DOWNLOADS :
Xtreme Sandy kernel V 1.2
Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.
Thanks
Santhosh
Click to expand...
Click to collapse
I'm glad you got it working on the STOCK ROM. But I do have a request? Can you please add features like Sweep2Wake and all? I know it eats battery, but options can be available. Just a request. Thanks. I appreciate your work, the kernel is really smooth.Can we?
Full Regards.
Geek-DROID said:
I'm glad you got it working on the STOCK ROM. But I do have a request? Can you please add features like Sweep2Wake and all? I know it eats battery, but options can be available. Just a request. Thanks. I appreciate your work, the kernel is really smooth.Can we?
Full Regards.
Click to expand...
Click to collapse
Thanks for the review. Ya s2w is possible. Need to edit touch panel driver codes and it comes to lot of lines. Personally no interest to work on it.
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