Você está na página 1de 16

Check out the latest episodes of XDA Developer TV.

User Name

Remember Me?

Forgot your password?
Search All Forums






Find Your Device...

> Samsung Galaxy S II I9100 > Galaxy S II General > [REF][TWEAKS] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs





Search this thread

Page 1 of 50







[REF][TWEAKS] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs
30th November 2011, 03:48 PM (Last edited by droidphile; 15th September 2012 at 05:38 PM.) Reason: Added LulzactiveQ
[REF][TWEAKS] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs

Share Thread:

Newsworthy Thread?


Reorganized overflowing Posts to fit into 5 Posts. [Feb 3]
Recognized Contributor - OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO

Most of us are flash maniacs, and we do it a lot. But after a kernel flash, we wonder: Q1. "OK i have flashed this xyz kernel. What're all these governors? How do i know which one is the best for me? How do i tweak them to bias their characters towards Batterylife/Performance/Balance between the Two". Q2. "What's the fuzz about these modules that comes with the kernel. How do i use them. Are they any good. Is it OK to neglect them?"


Q3. "What roles does an i/o scheduler play? How to choose a reliable i/o scheduler?" Q4. "Can i have more control on CPU? More info and tweaks on dual core CPU, bus frequency, etc?" Q5. "Better understanding on impact of different values for basic/advanced parameters in the Kernel Config App, so that i can tweak the settings according to my taste?" Hope this thread could give you answers for all these questions. We're covering governors, modules, i/o schedulers that comes with Siyah kernel, plus more. That should cover almost all the popular governors/modules/io schedulers! Many people seem to get lost in Kernel dev threads without getting answers about governors and such. The info in this thread holds good for non-siyah kernel users too. You should find here, info on most of the governors/modules/io schedulers in your kernel if not all. Thanks To 1) Gokhanmoral for his mighty sweet Siyah Kernel which inspired me to write this thread. 2) Moderators for squeezing in extra posts when i ran out of space to fit everything in only 3 reserved posts. 3) Users/Readers for your warm comments.


These are the 19 governors we're talking about. 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 NOTE: Info on Samsung's own multi-core aware governor - Pegasusq is here 1) Ondemand: 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.

New Version: Three more user configurable parameters: inc_cpu_load. 12) Lagfree: Lagfree is similar to ondemand. Tough question! lulzactive and smartassV2 for a balance between performance and battery. If you don't know how exactly to do it. this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling. Luzactiveq is the first ever interactive based governor with hotplugging logic inbuilt (atleast the first of its kind for the exynos platform).6) Lulzactive: This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites. SavagedZen. Why the hell is the phone not waking up after deep sleep. use a tweaked ondemand or conservative. Intellidemand does not jump to highest frequency when screen is off. lets user set frequencies. So the entire frequency range is available for the governor to use during screen-on and screen-off state. The original idea comes from Netarchy. Governors can be categorized into 3/4 on a high level: 1. 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. To 'experience' Lionheart using conservative. But we can not recharge performance! After all. When GPU is really busy (gaming. so more performance. these apps will tell us the active governor too. 7) Lulzactiveq: Lulzactiveq is a modified lulzactive governor authored by XDA member robertobsc and is adapted in Siyah kernel for GS2 and GS3. lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. We can set the threshold at which governor decides to scale up/down. and ramp up more aggressively towards this freq and less aggressive after. Do not use two governors as screen-on & screen-off govs. stay away from it or you will end up complaining about battery drain! Q. Smartass would jump up to highest frequency too often as well. __________________________________________________ __________________________________________________ ____________ II) QUESTION TIME: Q. InteractiveX. Enough of explanations. "Ok. Luzactiveq. the governor scales up CPU to next higher step. It depends on what you need and your daily usage pattern. almost forgot. For ex: while scrolling through app drawer/vertically scrolling browser. etc. 10) Intellidemand: Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Lionheart. 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. if load >= inc_cpu_load CPU is scaled up (like original luzactiveq) and if load <dec_cpu_load. CPU busy-time is taken into consideration for scaling decisions. not as battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off. this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). When screen is off. Smartass. 15) Brazilianwax: Similar to smartassV2. Didn't get it? Examples for Wrong combinations: (screen-on:screen-off):ondemandX:smartassV2 Examples for right combinations:ondemand:smartassV2. "Well i have set my favorite governor as screen-on governor and another one as screen-off governor. 14) LionheartX LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor. When CPU comes out of idle loop and it's time to make a scaling decision. governor scales CPU pump_up_step steps up. How do i change governors?" A. Can not be used as a screen-on or even screen-off (if scaling min frequency is too low). Lulzactive. 13) Lionheart: Lionheart is a conservative-based governor which is based on samsung's update3 source. LionheartX 2) Interactive Based: Works on "make scaling decision when CPU comes out of idle-loop" principle. Brazilianwax. governor scales CPU down pump_down_step steps down. and (exits browsing mode) behaves like ondemand when GPU is busy. pump_up_step. Some users report that video playback using lagfree stutters a little. "How do i know which governor is best for me?" A. lulzactive:smartassV2 Q. Another favorite for many a people.a) Ondemand Based: Works on "ramp-up on high load" principle. we bought GS2 to enjoy it's sheer power. Unlike older version. if they both have an upper frequency limit for screen-off state. Frequency scale-down happens at steps=5% of max frequency. The governor aim for an "ideal frequency". less battery.000uS hence using 10. whichever you feel is safer. but never complain about battery. etc. frequency is locked to global scaling minimum frequency. a tuned conservative delivers more as compared to a tuned ondemand. Yes it is. namely awake_ideal_freq and sleep_ideal_freq. cpu is scaled up 2 steps . If current frequency =1200. Is it a sleep-of-death?" A. 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. (This parameter is tunable only in conservative. maps. Achieves good balance between performance & battery as compared to brazilianwax. lulzactive should be better for battery. 3) Weird Category: Members: Userspace. This possibly eliminates the strict single cut-off frequency for luzactiveq to make CPU scaling decisions. "Hey. intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. 16) SavagedZen: Another smartassV2 based governor. Use this while benchmarking! So. 19) Performance: Sets min frequency as max frequency. this one gives more control for the user. For light weight tasks. And for heavy weight tasks. Powersave. When workload is less than 60%. When it comes to smoothness (not considering battery drain). 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. to deliver performance for gaming and such. 9) SmartassV2: Version 2 of the original smartass governor from Erasmux. Better choose a governor that's balanced for battery/performance. cpu is scaled down 1 step . To get maximum performance. Remember that if there's a requirement for sudden burst of power. 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. Performance or battery.b) Conservative Based: Members: Conservative.to 1000. 8) Smartass: Result of Erasmux rewriting the complete code of interactive governor. 18) Powersave: Locks max frequency to min frequency. "I can feel slight lags here and there with a governor. More aggressive ramping.000 might not be safe). unlike ondemand which jumps to 100% too often. See here. I really love this governor and don't tell me to use . benchmarking. try these tweaks: sampling_rate:10000 or 20000 or 50000. Still. Performance. Voltage Control has the interfaces for gpu oc/uc/uv and charge-current change if your kernel supports them. Lower idling time (<20%) causes CPU to scale-up from current frequency. Old Version: When workload is greater than or equal to 60%. Every down_sampling_time Us if cpu load < 70%. Example: Consider inc_cpu_load=70 pump_up_step=2 pump_down_step=1 If current frequency=200. Lagfree does not skip any frequency step while scaling up or down. up_threshold:60 down_threshold:30 freq_step:5 Lionheart goes well with deadline i/o scheduler. Frequency is gracefully decreased and increased.d script if your kernel supports it. among the popular governors ) To sum up. Main goal is to optimize battery life without comprising performance. SmartassV2. Like we guessed. 17) Userspace: Instead of automatically determining frequencies. I need to force-restart the phone by pressing power button for about 10 secs. We can see some 'traces' of interactive governor here. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand. We can always re-charge the phone: In car when off to work. Lulzactiveq and pegasusq aims to do that. at the cost of battery as the scaling is very aggressive. pump_down_step. CPU is scaled down. The original intellidemand behaves differently according to GPU usage. Intellidemand. Q. Q. etc) intellidemand behaves like ondemand. Every up_sampling_time Us if cpu load >= 70%. Best way is to use an init. governor scales down CPU to next lower step. or overnight. (echo "governor-name" > /sys/devices/system/cpu/cpu0/cpufreq /scaling_governor) Else use Voltage Control/SetCpu/No Frills/Antuntu CPU Master." A. Members: Ondemand. It uses different ideal frequencies for screen on and screen off. (transition latency of the CPU is something below 10ms/10. and b) incorporating hotplug logic to the governor. This is called browsing mode. There's no upper limit for frequency while screen is off (unlike Smartass). Lagfree. Only a multi core aware governor makes real sense on muti-core devices. Or tweak a governor to give performance an upper-hand as compared to battery. Also. Lazy.to 800. The motto of this governor is a balance between performance and battery. Unlike what some users believe. NOTE: It's not so easy to tame luzactive. 1. Members: Interactive. When workload greater than or equal to inc_cpu_load. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one. Frequency scale-up decision is made based on idling time of CPU. Main difference is it's optimization to become more battery friendly. We can also set number of frequency steps to be skipped while polling up and down. lulzactive should be better for performance also. OndemandX. Tweaks comes from 1) Knzo 2) Morfic. Tell me which governor is for performance and which one is for battery life. When workload is less than inc_cpu_load. but changes frequency only after completing min_time_state on a step overriding sampling interval. When GPU is 'idling' (or moderately busy).

tweaks.down_differential). When CPU load reaches this point. but for higher frequencies. for which CPU is scaled down or up respectively. Default behavior is fast switching to lower frequencies (1). Hope there's nothing wrong in doing that. Wait! You may want to stay away from using 100mhz during screen-off or screen-on states for three reasons 1) It seems 100 mhz uses more power than 200 mhz. This improves performance by reducing the overhead of load evaluation and helping the CPU stay at its highest clock frequency when it is truly busy.. For lower frequencies.In the simplest form. Just restart the phone. Because triggering up-threshold will again cause CPU to scale up to max frequency. Lulzactive and Interactive. Well. iii) powersave_bias . ) Recognized Contributor . 18th March 2012 at 05:09 AM. sampling_down_factor determines how often CPU should stay at higher frequencies when truly busy. Try scaling between 200 and 1000 mhz for a day and feel the difference. A better alternative would be to underclock to a lower frequency than using powersave bias.. So . 'energetically efficient' frequency for our CPU is 200 mhz. Device should instantly dance to my tunes. the frequency used in the calculations based on the optimal energy to run (Ex: In Milestone it's 550 MHz). v) down_differential ." A. Setting a higher value will bias the governor towards lower frequency steps.. But it's easy to understand a governor.This factor indirectly calculate the 'down-threshold' of Ondemand. a random reboot/freeze once in a while signifies that we're android/galaxy SII enthusiast.. 100 mhz accounted to 1 W / GHz and 200 mhz to 0. ie.. pegasusq. max_load_freq is the theoretical frequency at which CPU can handle 100% workload.I do care about battery life. GB/ICS kernel differences. because i'm not happy with the default behavior of these governors". No excess power consumption because 1400 and 1600 is out the league. you can. but only in terms of avoiding unwanted power consumption. Higher values means CPU polls less often. See this post by AndereiLux for more info. OCing to 1600mhz draws considerably more power than stock 1200mhz or even 1400mhz. Take my word. This should eliminate the lag. [Some governors will have different sampling time for scaling-up and scaling-down] 2) Thresholds measured in percentage. "Even though i don't have too much uv/oc. ii) up_threshold . Basically what we have to do is make the governor "poll" less often to scale-down cpu. You can tweak the governors using an init. According to tests. This way. the scale-down time will be increased. SAMPLE GOVERNOR TWEAKS III) PARAMETERS & TWEAKS: > [Only Ondemand. so that the cpu will stay longer on a frequency before scaling down. How do i solve this?" A. 2) 200 mhz can finish same task faster compared 100 mhz and thus hit deep idle soon. If everything go smooth as silk. Scale 500 to 1200 during screen-on and 200-500 during screen-off. Code: echo echo echo echo "95" /sys/devices/system/cpu/cpufreq/ondemand/up_threshold "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential ii) For performance:- . i experience a freeze/lock/reboot. Use this if you want CPU to spend less time on higher frequencies. Can i diminish this lag?" A...d script to echo suitable values into: /sys/devices/system/cpu/cpufreq/name-of-active-governor/name-of-the-paramater-to-tweak Example: echo "20000" /sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time Q. minimum of 500 during screen-on will not drain too much battery like you think! Governor tweaks in Post 2. "I'm going to set scaling min freq as 100 mhz because my kernel supports it.another governor. Sgs2 can do majority of the task with 1000 or 800 as the max. I want to tweak these governors according to my usage pattern.. what's the fun? We could use stock rom/kernel /governor and be happy.] Different governors has different parameters. I don't care much about batt. "I want to know is there's anything more i can do to improve battery life. When CPU load reaches this point.OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO 2.Default value is 0. Q. Hmm well. 3) 200 mhz is the 'sweet spot' of frequency in SGS II. Samsung Galaxy S3 i9300 . Use performance tweaked conservative/ondemand(x). A rare reboot or freeze is nothing to worry about.Measured in uS . I'm using governor X. may be once in two weeks. Having sampling_down_factor set to 1 makes no changes from existing behavior (for the non-modified ondemand). iv) sampling_down_factor . dual boot faqs. a governor will have:1) Sampling Time/Rate measured in uS by which the polling function determines how often to poll and decide if frequency should be scaled-down or scaled-up.7 W / GHz. set high up-thresholds and higher sampling-rate.Measured in percentage 1-100. Conservative. governor scales up or scales down the CPU. modules. being the most preferred governors. "How to make my device more snappier. when both the cores were online. Ideally.. once in a while. Best way is to limit scaling max freq to 800 or 1000 mhz. 03:48 PM (Last edited by droidphile. And don't worry. Q. "OK. Q.ONDEMAND [ PARAMETERS ] i) sampling_rate . I have already tweaked my governor settings but. governor samples the load again to calculate an estimate of the new target frequency in a way that the lowest frequency will be chosen that would not trigger up_threshold in the next sample. Q. i/o schedulers.err. this is how often the kernel look at the CPU usage and make decisions on what to do about the frequency. After completing sampling-down-factor*sampling-rate at max frequency because of high load.. governor will scale CPU up." A.. this could be considered an advantage since it might not jump to next frequency very often. This tunable has no effect on behavior at lower frequencies/lower CPU loads. SmartassV2. but all are in someway related to these two parameters. Increase down-sampling-time of your governor (whichever parameter that corresponds to). It is usually a value below scaling_max_freq. The obtained value might be a non-existent value in the freq_table and CPU driver will round it off to a value in freq_table. Response will be sweet. A. governor polls less often and scales up less often.Paranoid / CM10 on Siyah Governors. [Most of the governors will have down-threshold and up-threshold. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. During this choice down_differential is taken into account as a breathing room value.) Reason: changes in governor tweaks Governor Tweaks #2 (First post extended here. but having sampling_down_factor set to a value greater than 1 causes it to act as a multiplier for the scheduling interval for re-evaluating the load when the CPU is at its highest clock frequency (which is scaling_max_freq) due to high load. [ SAMPLE TWEAKS ] i) For battery:To bias ondemand towards battery saving. There are various other parameters/factors too. rather than shifting back and forth in speed. Higher value means less responsiveness and lower values corresponds to more responsiveness at the cost of battery. Samsung Galaxy Tab P750 REPLY The Following 821 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. 1. Target frequency is calculated as max_load_freq / (up_threshold ." A.

android.In previous version. but only at 90% load. governor polls more often and scales up quite often.000 or 3x24000=72000. v) up_sample_time . Code: echo echo echo echo "70" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold "50000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate "2" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor "15" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential 2.No of scale up steps when load >= inc_cpu_load iii) pump_down_step .000) vi) down_sample_time . iii) For balanced-performance:Code: echo echo echo echo echo echo "90" > /sys/devices/system/cpu/cpufreq/lulzactive/inc_cpu_load "4" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_up_step "1" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_down_step "10000" > /sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time "40000" > /sys/devices/system/cpu/cpufreq/lulzactive/down_sample_time "5" > /sys/devices/system/cpu/cpufreq/lulzactive/screen_off_min_step This tweak cause lulzactive to poll more often and scale up 4 steps above current frequency.LULZACTIVE 1. Now it's user-configurable. Like 2x24000=48.same as initial version. Better keep the default up_sampling time (24000) unchanged. use lulzactive app from market to tweak the governor. Initial Version:- [ PARAMETERS ] i) down_sampling_time .To bias ondemand towards performance. 2.No of scale down steps when load < inc_cpu_load iv) screen_off_min_step . app drawer. Load >= inc_cpu_load: cpu scaled up ii) pump_up_step . This way.000) [ SAMPLE TWEAKS ] i) For battery:Code: echo echo echo echo echo echo "90" > /sys/devices/system/cpu/cpufreq/lulzactive/inc_cpu_load "1" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_up_step "2" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_down_step "50000" > /sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time "40000" > /sys/devices/system/cpu/cpufreq/lulzactive/down_sample_time "5" > /sys/devices/system/cpu/cpufreq/lulzactive/screen_off_min_step This tweak cause lulzactive gradually scale up CPU and rapidly scale down on low load. We can only control how often cpu should scale up and scale down. Load < inc_cpu_load: cpu scaled down. set low up-thresholds and lower sampling-rate.000 to 50.. etc.200 and 500 (L5 to L7) will be used during screen-off depending on the demand. Use higher down_sampling_time if you experience lag while scrolling through browser. Example: If available freqs are 1600 1400 1200 1000 800 500 200 100 (L0 to L7) and screen_off_min_step=5 then 100.same as older version. Second Version:- [ PARAMETERS ] i) inc_cpu_load . (Allowed values 10. the initial version of lulzactive doesn't give user much control on it's behavior. this was 'hard-coded' to 60. [ SAMPLE TWEAKS ] Unfortunately.Sampling time to scale cpu up. CPU is scaled down normally. ii) up_sampling_time .000 to 100.com/details?i.. ii) For performance:Code: echo echo echo echo echo echo "60" > /sys/devices/system/cpu/cpufreq/lulzactive/inc_cpu_load "4" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_up_step "1" > /sys/devices/system/cpu/cpufreq/lulzactive/pump_down_step "10000" > /sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time "70000" > /sys/devices/system/cpu/cpufreq/lulzactive/down_sample_time "5" > /sys/devices/system/cpu/cpufreq/lulzactive/screen_off_min_step This tweak cause lulzactive scale up CPU rapidly.rak. (Allowed values 10.lulzactive 3. note: If you're lazy to use a script. And make down_sampling proportional to up_sampling.SMARTASSV2 [ PARAMETERS ] .Steps in frequency table to be used when screen-off. https://market.Sampling time to scale cpu down. The frequency at which governor scales CPU up/down. polling often and scale down gradually.

i) awake_ideal_freq . Zero disables and causes to always jump straight to max frequency.[Isn't it ironical that we are tuning Conservative to achieve blazing performance!] Code: echo echo echo echo echo "60" > /sys/devices/system/cpu/cpufreq/conservative/up_threshold "40000" > /sys/devices/system/cpu/cpufreq/conservative/sampling_rate "5" > /sys/devices/system/cpu/cpufreq/conservative/sampling_down_factor "20" > /sys/devices/system/cpu/cpufreq/conservative/down_threshold "25" > /sys/devices/system/cpu/cpufreq/conservative/freq_step 5. "0" > /sys/devices/system/cpu/cpufreq/smartass/ramp_up_step. scaling down is less aggressive.Same as up_threshold in other governors. [ SAMPLE TWEAKS ] i) For battery:Code: echo echo echo echo echo echo echo echo echo "500000" > /sys/devices/system/cpu/cpufreq/smartass/awake_ideal_freq.Refer above governors.Go to hi speed when CPU load at or above this value.The frequency until which CPU is scaled up rapidly on screen-awake (from sleep). (Ignored above sleep-ideal frequency since governor needs to rapidly scale down to sleep_ideal_freq when above it) v) max_cpu_load . (Sounds like Lazy governor?!) iv) timer_rate .Defines how much (as a percentage of the maximum CPU speed) the conservative governor will increase the CPU speed by each time the CPU load reaches the Up Threshold.INTERACTIVE [ PARAMETERS ] i) hispeed_freq . viii) ramp_up_step . "800000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_wakeup_freq "75" > /sys/devices/system/cpu/cpufreq/smartass/max_cpu_load. [ SAMPLE TWEAKS ] i) For battery:. iii) sampling_down_factor.Frequency delta when ramping down below the ideal frequency.CONSERVATIVE [ PARAMETERS ] i) down_threshold. Thereafter. "48000" > /sys/devices/system/cpu/cpufreq/smartass/up_rate_us "49000" > /sys/devices/system/cpu/cpufreq/smartass/down_rate_us ii) For performance:Code: echo echo echo echo echo echo echo echo echo "800000" > /sys/devices/system/cpu/cpufreq/smartass/awake_ideal_freq. iv) sampling_rate .Same as down_threshold in other governors. "24000" > /sys/devices/system/cpu/cpufreq/smartass/up_rate_us "99000" > /sys/devices/system/cpu/cpufreq/smartass/down_rate_us 4. "200000" > /sys/devices/system/cpu/cpufreq/smartass/ramp_up_step. ix) sleep_wakeup_freq .The minimum amount of time to spend at a frequency before we can ramp down. (Default value is scaling max freq) ii) go_hispeed_load . "200000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_ideal_freq.[Interactive and battery?!! I'm capping the highspeed_freq in the hope of saving battery] . Zero disables and will calculate ramp down according to load heuristic.Hi speed to bump to from lo speed when load burst. v) freq_step .The minimum amount of time to spend at a frequency before we can ramp up.The frequency to set when waking up from sleep. iii) up_rate_us .The minimum amount of time to spend at a frequency before we can ramp down. scaling up is less aggressive. "70" > /sys/devices/system/cpu/cpufreq/smartass/min_cpu_load. ii) up_threshold. When above the ideal frequency we always ramp down to the ideal freq.[Set freq_step to lower value to make conservative governor conserve more battery] Code: echo echo echo echo echo "95" > /sys/devices/system/cpu/cpufreq/conservative/up_threshold "120000" > /sys/devices/system/cpu/cpufreq/conservative/sampling_rate "1" > /sys/devices/system/cpu/cpufreq/conservative/sampling_down_factor "40" > /sys/devices/system/cpu/cpufreq/conservative/down_threshold "10" > /sys/devices/system/cpu/cpufreq/conservative/freq_step ii) For performance:.The sample rate of the timer used to increase frequency.The frequency until which CPU is scaled down rapidly when screen is turned off. When below the ideal frequency we always ramp up to the ideal freq. "200000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_ideal_freq. Thereafter. ii) sleep_ideal_freq . When sleep_ideal_freq=0 this will have no effect. "500000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_wakeup_freq "85" > /sys/devices/system/cpu/cpufreq/smartass/max_cpu_load.Frequency when ramping up above the ideal frequency. [ SAMPLE TWEAKS ] i) For battery:. vi) min_cpu_load . "200000" > /sys/devices/system/cpu/cpufreq/smartass/ramp_down_step. (Ignored below awake-ideal frequency since governor needs to rapidly scale up to awake_ideal_freq when below it) iv) down_rate_us . vii) ramp_down_step . (Similar to Up-Threshold in other governors) iii) min_sample_time . "45" > /sys/devices/system/cpu/cpufreq/smartass/min_cpu_load. "0" > /sys/devices/system/cpu/cpufreq/smartass/ramp_down_step.

GUIDE: First line of any script should invoke a compatible shell/interpreter which is responsible for executing the rest of the script. modules. Save the script without any extensions (Yes. copy the script to /etc/init.IN PROGRESS Samsung Galaxy S3 i9300 .. check for extra spaces at the beginning and end of each line in the script. But if script manager shows errors. i/o schedulers.[Assuming your scaling_max_freq is equal to or above 1400 mhz) Code: echo echo echo echo "80" > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load "1400000" > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq "40000" > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time "20000" > /sys/devices/system/cpu/cpufreq/interactive/timer_rate IV) GUIDE TO INIT. dual boot faqs.Half done. If you're already familiar with init. it might cause minor fragmentation in kernel resulting in a minor performance penalty. Some developers choose to run init.Code: echo echo echo echo "95" > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load "1000000" > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq "10000" > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time "40000" > /sys/devices/system/cpu/cpufreq/interactive/timer_rate ii) For performance:. Repeat this until script is error-free. and system calls. your script will be automatically executed on every reboot. pegasusq. From now on.d scripts whose names starts with an "S". For ex: among two scripts named. (also check for logical errors) Most common error is to use a windows-based editor which leaves an extra space at the end of each line or leaves an invisible invalid character when you press carriage return (ENTER key). Read this beautiful guide on how to install SDK and setup ADB without any hassle on your PC. Using root explorer. Samsung Galaxy Tab P750 REPLY The Following 330 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. So do not use editors such as notepad or wordpad to create scripts.d scripts.DONE 2) Sample Interactive gov tweaks .. "Ascript1" and "Bscript2". 2) Kernel boots and it loads various drivers. busybox location and change the path accordingly] OR #!/system/bin/sh From next line. Android boot-up process can be divided into three parts on a high-level. 3) User space programs are invoked.sh extension).) Reason: Re-organize Posts+started q&a Modules #3 3.d and set permissions. . So here are the "WHATs" and "HOWs". remove them. Mostly.. Use Notepad++.d) Order of executing init. filesystems. scattered along Posts 4) More questions in Question Time section .d scripts are in the increasing order of ASCII values that corresponds to their names.DONE 3) Technical explanation on working of popular governors by the aid of parameters. ex: echo "200000" > /sys/devices/system/cpu/spu0cpufreq/scaling_max_freq Make sure there are no syntax errors first. Init. it's unfair if i don't cover a small guide to scripts since there are people who does not have any experience or knowledge on init. make sure you name it properly. If exit code= 0. a free GNU editor.. If there is a particular reason that we need one script to be executed before another. GB/ICS kernel differences. 4th February 2012 at 01:08 PM.d scripts are executed. the actual script starts. So first line of any script should look like this: #!/sbin/busybox sh or #!/system/xbin/busybox sh [The location of busybox may vary with roms/devices. Others choose to execute all the scripts inside init. "Ascript1" will be executed first. (Also various apps and daemons are started to prepare the rom) Most of the custom kernels supports init. So please check with root explorer. fix the errors and execute again.d directory. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. use it to run the script as root by checking the skull symbol. This is only to check the script for any errors. again edit the script (using notepad++ in your PC or using script manager editor itself from your phone).Paranoid / CM10 on Siyah Governors. Use adb or rootexplorer to push the script into /etc/init. Remember once again: "A single extra space at the end of a line is a syntax error and script will fail to execute the rest of the lines. . After finishing the script.d directory (or /etc/init. The compatible shell may be the default shell "sh" or "busybox".D SCRIPTS When I'm writing tweaks all over the thread.d scripts. not even .d scripts. not noticeable.d and set permissions: owner : rwx group : r_x others : r_x Download script manager from market. Modules serves various type of purposes like support for new hardwares.d which is a symbolic link to /system/etc/init. please skip this part. It is in this stage where init. prepares hardware and so on." To add comments you can use "#" Sample Script: Code: #!/sbin/busybox sh #No of values echoed to freq table and uvmv table should match the no of steps in you echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/fre echo "1425 1325 1275 1175 1075 975 950 950"> /sys/devices/system/cpu/cpu0/cpufreq/UV echo "200" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo "1200" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo "ondemandx" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor To Do: 1) Sample SmartassV2 gov tweaks . MODULES A loadable kernel module is an object that contains some code to extend your kernel. 1) First stage bootloader runs.d script are to be placed inside /system/etc/init. It is probable that once a new module is inserted. script executed successfully. tweaks. If found. 03:49 PM (Last edited by droidphile.

ko . It is the usbserial-generic interface for linux platform.lfs is formatted as j4fs filesystem by default. The module is responsible for managing your network shares. download and use nls_utf8. cpufreq_ savagedzen. if logging is disabled in your kernel by default. One of the prime motivation for developing cuse is to provide a better support for Open Sound System or OSS. 2) cifs. To avail a module.ko .ko . This driver provides support for supercurio's Voodoo Louder app. etc. Provides sysfs interface for HP gain and Aout. CUSE isn't very different from FUSE.ko module for UTF-8 character support. The embedded device will be an ftdi chipset based device.ko* . You can find all the modules in /lib/modules. Devices like an USB-RFID reader could be connected. this protocol is supported by windows servers.d script to load the module(s) on every boot. etc.OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO We might ask "ok. 15) vibrator. If special characters are not properly read/displayed.ko* .ko* .File System in Userspace Signifies: File System The module let the users create own filesystems without editing kernel code. 9) hfs.LD9040 AMOLED Driver Signifies: Voodoo Color Module/driver for voodoo color/screen tuning support for our device.USB Serial Signifies: USB Serial Modems This module is often used along with ftdi_sio module. mounted in /mnt/. Logging is used to generate logcats (for debugging purpose). Except for initialization sequence and creation of character device instead of a mount. Please do not mess with . 4) cuse.ko. Also give USB Mass Storage Watcher App from market a try. The module is used to detect and use devices such as usb serial modems.Recognized Contributor .Dongle Host Driver Signifies: Wifi This module (from broadcom) is the wifi kernel module/wireless driver. and is responsible for wifi tethering.ko* . cpufreq_ powersave. The module is often used in our devices to support ntfs/ntfs-3g filesystem for mounting ntfs formatted hard drives and pen drives. 7) usbserial.ko.ko. loading only those elements that are needed. joysticks. if kernel modules are so amazing.ko.ko .ko. 13) scsi_wait_scan.ko . for proper functioning of app protectors. Module is loaded by default by Siyah.Future Technology Devices International . you need to install/insert it by: > Code: insmod /lib/modules/module-name. Well.Hierarchical File System Plus Signifies: Mac Filesystem This module acts as the driver for HFS+ aka Mac OS Extended file system. The module provides support for devices such as bluetooth mice. Install this module to enable logging.mc1n2 Voodoo Sound Driver Signifies: Voodoo Sound Module/driver for Exynos Yamaha audio hardware tweaks.ko* . use: Code: lsmod To unload/remove a module (that has been loaded): Code: rmmod "modulename" 1) bthid.BlueTooth Human Interface Device Signifies: Bluetooth Bthid is one of the bluetooth profiles. If there are issues with fm radio in aosp roms. It is used to mount/unmount network file resources on to your device.ko Insert these module(s) to avail your favorite governor which are not loaded by default.Jong Jang Jintae Jongmin File System Signifies: File System J4fs is a filesystem based on LFS (Linear File Store). (With extension . 10) hfsplus. To view the list of modules that are loaded by default. CUSE is used for tasks like proxying OSS audio from OSS apps to an audio system. The module is the driver that's responsible for detecting and functioning of gspca based webcams. 14) Si4709_driver.Vibrate Sensation on Touchsense Signifies: Haptic feedback This module from immersion corporation is responsible for haptic feedback.ko. Fuse module act as a bridge between filesystem code running in the userspace and kernel interface. 8) gspca_main. Try inserting this module if haptic feedback not working on aosp roms. Try mount -t hfs "/source" "/destination" to mount.Small Computer System Interface Wait Scan Signifies: Waiting During Booting scsi_scan_wait is responsible to wait until all the asynchronous scans are complete.ko .keyboards. to skip commands and mount via GUI.ko .ko Put the line in an init.Serial I/O Signifies: USB Serial Devices The module is required to connect an embedded device to our device using FTDI USB-serial converter. 6) ftdi_sio.ko. HFS+ is one of the formats found in iPods. why not add them all into the kernel code instead of asking us to load them".Logger for Android Signifies: Logging/Debugging Loggers are used to log records to a variety of destinations such as log files or the console. cpufreq_ userspace.ko . . 16) logger. 18-25) cpufreq_ brazilianwax. It will wait after all root SCSI drivers have finished scanning their busses.ko = Kernel Object). ondemandX.ko . The bootlogo and some misc files in our device. samba. Use mount -t hfsplus "/source" "/destination" for mounting drives.GSPCA Main Driver Signifies: Webcams This module is used to install gspca based web camera in our device. 11) j4fs. Let's wait patiently until supercurio comes out with a legendary app to have full control on our amoled display. 3) fuse. cpufreq_ lazy. 5) dhd.ko* . Note that use of this module can increase your bootup time. cpufreq_ interactivex. try inserting this module. cpufreq_ interactive.etc.Si4709 FM Radio Driver Signifies: FM Radio Si4709 is the fm radio receiver driver.ko . 17) mc1n2_voodoo.lfs folder! 12) ld9040_voodoo. It senses touch as a request and sends back vibration as response.Character Devices in User Space Signifies: Audio Proxying CUSE is an extension of FUSE allowing character devices to be implemented in userspace. dmesgs (message buffer of the kernel).ko .Hierarchical File System Signifies: Mac Filesystem This module is the driver to support HFS aka Mac OS Standard file system.Common Internet File System Signifies: Network Share Successor to the SMB (Server Message Block) protocol. It uses a low latency link with low power requirement to achieve the above mentioned. the advantage to LKMs is that you can minimize the memory footprint for a kernel. and such.

it's probable that the compatibility is lost. Prioritize I/O requests from processes. you can insmod it. Easiest to tune. Five queues are aggressively used to reorder incoming requests. disadvantages of each I/O Scheduler?" A. Best database system performance after deadline. because seeking there is fastest) Real-time (guarantee that a request is serviced in a given time) Q. advantages. Excels on multiprocessor systems. So in the simplest of simplest form: Kernel controls the disk access using I/O Scheduler. Samsung Galaxy Tab P750 REPLY The Following 303 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. is easily calculated.. "Description. tweaks. What can i do?" A. but they're loaded by kernel during boot-up. Disadvantages: Reduction in number of cpu cycles used is proportional to drop in performance. BFQ assigns budgets. Achieves about 30% more throughput than CFQ on most workloads. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up. Best scheduler for database access and queries. Disk is granted to an active process until it's budget (number of sectors) expires. 03:49 PM (Last edited by droidphile.. (Battery friendly?) Best for flash drives since there is no seeking penalty. "What purposes does an i/o scheduler serve?" A. > Minimize hard disk seek latency. Jitter (worst-case-delay) exhibited can sometimes be high. like our flash drives). Advantages: Considered to deliver a balanced i/o performance. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness. 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.*Modules preloaded in Siyah by default. Like noop. 4) BFQ Instead of time slices allocation by CFQ. i/o schedulers. Believed to be the best scheduler for HD video recording and video streaming. media scanning is not given any special priority. Module should be binary compatible with the kernel version.d script. modules.. Disadvantages: Some users report media scanning takes longest to complete using CFQ. I/O SCHEDULERS Q. Each per-process queue contains synchronous requests from processes. GB/ICS kernel differences. 4th February 2012 at 01:11 PM. Bandwidth requirement of a process .) Reason: Re-organize Posts I/O Schedulers #4 Recognized Contributor . so that it's uninstalled on every boot-up. Disadvantages: When system is overloaded. 2) Deadline Goal is to minimize I/O latency or starvation of a request. dual boot faqs.. Good throughput on db systems. 1) Noop Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. because of the number of tasks competing for the disk.Paranoid / CM10 on Siyah Governors. set of processes that may miss deadline is largely unpredictable. Ex: rmmod Si4709_driver. Best used with storage devices that does not depend on mechanical movement to access data (yes. Advantages: Believed to be very good for usb data transfer rate. (If you don't use FM radio) Samsung Galaxy S3 i9300 . (because of less jitter as compared to CFQ and others) Considered an accurate i/o scheduler. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. Time slice allocated for each queue depends on the priority of the 'parent' process. Excels in reducing latency of any given single I/O. Disadvantages: . Budget assigned to a process varies over time as a function of it's behavior. pegasusq. BFQ assigns high budgets to non-read tasks.what percentage of CPU it needs. Q. Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives. "I feel there could be some advantage if i remove modules which is no use for me.ko. Guarantee that certain requests will be served before a deadline. Fairness (let every process have its share of the access to disk) Performance (try to serve requests close to current disk head position first. "What goals every I/O scheduler tries to balance?" A. Allocate disk bandwidth for running processes. "I can not find a module that i need to use with the current release of my kernel.OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO 4. Can i use the module downloaded from internet?" A. Q&A Q. After booting if you need to use the module. Put "rmmod name-of-module" in one of your init. Advantages: Serves I/O requests with least number of cpu cycles. Advantages: Nearly a real time scheduler. The same is achieved by round robin policy to be fair among multiple I/O requests. Q. a good scheduler for solid state/flash drives. So even if the module was one that came with an older version of the kernel.

"Best I/O Scheduler?" A. Processor: ARM Cortex-A9 MPCore processor on Exynos 4210 SoC (System on a Chip . throughput and battery-life delivered by GS2's dual-core CPU. Sequential-read speeds on flash drives also not so good. use different schedulers. it is believed that SIO > Noop > Deadline > VR > BFQ > CFQ.ICs where all components are integrated into a single chip) and 45nm semi-conductor technology. so reliable. Least reliable/most unstable. like our device. Stock behavior is dynamic bus frequency scaling. Reduced write-performance on high performance disks. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. dual boot faqs. Higher budget assigned to a process can affect interactivity and increased latency. "What is modifying bus frequency? How do I do it? Advantages?" A. 03:49 PM (Last edited by droidphile. echo "disabled" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static > .Not the best scheduler for benchmarking. set higer bus for 500 mhz and higher frequencies or simply disable static bus frequency scaling to switch to default. Next three. Disadvantages: Performance fluctuation results in below-average performance at times.d script: echo "scheduler-name" > /sys/block/mmcblk0/queue/scheduler Samsung Galaxy S3 i9300 . pegasusq. 133 mhz Advantages of bus frequency modification: i) Saves battery by using low bus speeds on low frequencies and ii) Prevent overheating. The next request to be served is based on it's distance from last request. Sio is a mix between noop & deadline. 0 – 400 mhz 1 – 266 mhz 2 – 133 mhz Sample bus frequency modification: echo "0 0 0 1 1 1 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static echo "enabled" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static This means for first three higher CPU frequency steps. We can modify this behavior by setting static bus frequency scaling.Paranoid / CM10 on Siyah Governors. 7) Anticipatory Based on two facts i) Disk seeks are really slow. No reordering or sorting of requests. "I experience some lags sometimes while playing HD videos or playing heavy 3d games using static bus frequencies.OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO 5. So anticipatory prioritize read operations over write. but there is always some process waiting for read operation. That's the best i can suggest. Memory throughput is directly proportional to bus frequency. Why?" A. GPU: ARM Mali-400 Memory: LPDDR2 (may be DDR3) Q. Bus speed at its simplest form determines how fast the data should travel to and from memory.. specifying at what bus speed should each CPU frequency operate. "What is the basic hardware of GS2 that make all of us enjoy this phone so much and boast about benchmark scores to office-mates and friends?" A. given all schedulers are tweaked and the storage used is a flash device. i/o schedulers. Q. 400 mhz bus will be used. lower bus speed means longer the CPU has to wait for data to arrive from memory. Samsung Galaxy Tab P750 REPLY The Following 217 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. and some CPU tweaks Q.. and a slow bus cannot catch-up.) Reason: bug fix! Dual Core CPU Q&A and Tweaks #5 Recognized Contributor . 5) SIO Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests.There is nothing called "best" i/o scheduler. To resolve. Advantages: May be best for benchmarking because at the peak of it's 'form' VR performs best. Q. 25th March 2012 at 06:45 AM. ii) Write operations can happen whenever. "What is the significance of bus frequency?" A. but only basic merging.4GB/s memory bandwidth for heavy-weight ops such as full hd video encoding. reliability and low latency. Q. modules. Depending on your usage environment and tasks/apps been run. Advantages: Simple. GB/ICS kernel differences. HD videos and some games require a minimum of 400/266 mhz bus irrespective of the CPU frequencies being used during the run.. tweaks.. where in operating bus speed is dynamically calculated for each CPU frequency depending on the application/process’s requirement. considering the overall performance. Or init. Advanced Micro-controller Bus Architecture (AMBA) is used as the on-chip bus in system-on-a-chip designs. synchronous and asynchronous requests are not treated separately. battery. DUAL CORE CPU Q&A and TWEAKS Q&A on parameters and factors that control the performance. 6) V(R) Unlike other schedulers. In tasks that includes small amount of work on every element in a data sets. As good as noop for read-performance on flash drives. Minimized starvation of requests. However. Disadvantages: Slow random-read speeds on flash drives. CPU spends only little time on each of these elements. Disadvantages: 'Guess works' might not be always reliable. It anticipates synchronous read operations. "How do i change I/O schedulers?" Voltage Control or No Frills from market. 266 mhz And last two. Q. No priority quesues concepts. Three values/levels are possible. Exynos 4210 is supposed to give 6. Because. Advantages: Read requests from processes are never starved. compared to other schedulers. instead a deadline is imposed for fairness.

but reduced performance. From Siyah 2. jrcu?" A. This RCU is tailored and designed to work with the new NoHz kernel system. Recommended for power saving is to enable AFTR and LPA. The stock behavior is Dynamic Hot Plug Mode where depending on the load. but reduced battery. This is 'overloading' CPU0 first. Using this app you can set three modes :Dynamic Hot Plug Mode: Default mode. these values are 90 & 35 respectively. We can have IDLE or AFTR modes with LPA enabled or disabled. when load > 70% second core becomes active and when load drops below 25%." A. Second core is kicked in depending on the load. LPA and AFTR?" A. 1) If you find advantages to sched_mc.SLAB allocator with Queue. In deep idle (LPA). so load balancing is almost redundant to hotplugging. "OK. SLAB is used to retain allocated memory that contains a data object of a certain type for reuse upon subsequent allocations of objects of the same type. like immediately after you reboot cause the . (Obviously it is not possible to have IDLE and AFTR together) Values: 0: IDLE 1: AFTR 2: IDLE+LPA 3: AFTR+LPA Q. Charge cycle for the device's battery actually consist of two stage. They are IDLE aka Normal Idle. using a screen-off profile. and are not configurable from user space. This makes more sense if lower step is underclocked. You can set UP & LOW thresholds for second core in Screen-On and Screen-Off states. we can use sched_mc with the default hot plug mode. But do remember that loading CPU0 and leaving CPU1 can not do justice to hitting deep idle states sooner since second core can not enter deep idle. Like you guessed. Race to idle by CPU is implemented for power management. It's like this: i reboot the device with 40 percent battery left and when it returns. in the context of delayed didle. multithreading does not come into picture. This is a slab allocator that focuses on per-CPU scaling. "What are SLAB. it may not have any advantage on exynos chip. "What are these modes: IDLE. This behavior can be controlled by using Tegrak Second Core app from market if your kernel supports it. Tree RCU fixes a performance bug in classic RCU that results in massive lock contention on the internal RCU lock on systems with large number of CPUs. "My battery drains fast sometimes immediately after a kernel flash. the second core is turned on. ie value 3 Example: echo "3" > /sys/module/cpuidle/parameters/enable_mask Q.2 v. (Good practice is to use a governor with built in screen off profile. while retaining the current slab allocator interface. utilize both cores wisely to save power and balance performance. Using dual core mode can reduce latency by a tiny bit on high loads. On high-loads. So use it wisely. Many new kernels are using the Tickless NoHz design. Linaro team invented sched_mc or Schedule Multi Core to make process scheduling multi-core aware. Mali aggressive scaling policy is simply lowering the up-threshold of GPU so that GPU doesn't jump to second frequency step too often. So extra performance or no performance. but can have some adverse effects too if there are some heavy tasks that require both cores too often: 3d games. "Advantages/Disadvantages of switching to Single Core/Dual Core modes? A. a constant voltage is applied until the charge current goes below top-off current. SLAB has the advantage of being simple. "What is tree rcu. They are set at compile time at kernel level. Example: echo "0" /sys/devices/system/cpu/sched_mc_power_savings. Between screen off and deep sleep states. it is set to 100ma just so that a little more juice goes into battery since a lower top-off current means longer the constant voltage is applied in the second phase of charging. (Siyah. JRCU mechanism in its simplest form. "What is sched_mc?" A. RCU improves scalability by allowing readers to execute concurrently with writers.a state after IDLE. Recommendation: Use Hot Plugging and tune thresholds (like mentioned above) for a better experience. "What is top-off current?" A. Anyhow since load-balancing is reduntant on hotplugging. CPU is not clocked anymore. Q. This is the second stage. Possible Values: 0 : No power saving load balance. If you love your battery. If the load can be handled by a single core. Anything i can do?" A. This can lead to increased battery. Deep idle brings in real power savings and there is no need of putting a hard limit to frequency during screen-off. Increased performance. Tree RCU is a new implementation of original classic RCU to achieve more scalability as the number of CPUs increase. JRCU can conflict with hot-plugging. Only first core (cpu0) can enter deep-idle (LPA). Read-Copy Update (RCU) is a synchronization mechanism added to Linux kernel. Examples: echo "70" > /sys/module/pm_hotplug/parameters/loadh echo "25" > /sys/module/pm_hotplug/parameters/loadl echo "90" > /sys/module/pm_hotplug/parameters/loadh_scroff echo "35" > /sys/module/pm_hotplug/parameters/loadl_scroff As you can see. To make it more aggressive/more mild depending on my usage. runs batch operations from a single CPU relieving other CPUs from this periodic responsibility. Deep idle is not used when device is entering deep sleep and also when device is woken from suspend/deep sleep. etc. Your battery is not actually draining fast. NO. How are they utilized? Are the two cores ON all the time?" A. do not charge to 'real' 100% too often. than using an user-configured screen-off profile by putting a hard limit on frequency). Dual Core Mode: Irrespective of low loads. both the cores are always active. SLUB. Slab allocation is a memory management mechanism intended for the efficient memory allocation of kernel objects which displays the desirable property of eliminating fragmentation caused by allocations and de-allocations. Q. In IDLE state. "Can i change the RCU synchronization mechanism & memory allocators?" A. Yes there is. downloading. Level 2 cache keeps it data during this mode. Q. They're three memory allocation mechanisms. something between 4.9. Even though sched_mc is sort of an alternative to cpu hot plugging. AFTR is a patch to support Top=Off mode for deep idle. During screen off. But hot plugging is intelligent enough to turn second core ON really fast when load demands it. SLUB offers to make alignment of objects and cleaning up of caches easier. This helps in reducing unwanted kick-ins of second during screen-off state when music is playing. SLQB?" A. Lulz. ie. 1 : Fill one thread/core/package first for long running threads. again. SLUB allocator promises better performance and scalability by dropping most of the queues and related overhead and simplifying the slab structure in general. etc. This allocator is designed to be simple. as compared to hot plugging. While entering/exiting DEEP IDLE. as compared to SLAB. the threshold was changed to 55 from default 65. Q. still i want to control how often the second core kicks in. "What value is recommended for sched_mc?" A.Q. For our dual core single CPU. But the fuel gauge is showing funny values which is not the real percentage left. default in our exynos4210 Soc. fast nohz. but no hardware is powered down. Q. Using only single core can save some battery. so using dual core mode in an idle system cause unwanted excess-power consumption. Note that SLUB is significant on a system with large number of CPUs. the second core is turned off dynamically. the cpu is not clocked anymore like we guessed but some parts of hardware are powered down. In our single-CPU dual-core device. I'm using hot plug mode. Q. Switch to dual core mode only for benchmarking or playing some heavy 3d games. LPA aka Deep Idle and AFTR aka ARM Off Top Running. "What is MALI aggressive policy on GPU?" A. Q. higher sampling rate could cause core 2 to kick in less often and thus save a little battery. Q. value 2 will drain some more battery. In Siyah kernel though. "Like governors. SLQB . CPU is set statically to SLEEP_FREQ and is not clocked below or above until it exits this state. second core is turned off. only first core is used always. and kicked out when first core can handle the load alone. hence we will have tree rcu (with or without CONFIG_RCU_FAST_NO_HZ) in our kernels. MISC Q&A Q. i have only 20 percent left.1 and 4. is there a sampling rate/interval also at which the load on CPU is checked for crossing thresholds to turn second core ON?" A.etc supports this). This memory allocator is designed for small number of CPUs system. Perform the 'trickle' charge only once every 20 days or so. Stock top-off current is 200ma. Q. 3) To do justice to hotplugging. these thresholds are configurable. Upon reaching this peak voltage. Fast NoHz is an optimized version of the traditional Tree RCU. 2) For performance use 2. "Our phone CPU has two cores. "What idle modes are recommended for power saving? How do i change it"? A. (Bias new tasks to cpu1 if cpu0 is mostly filled with running tasks). Single Core Mode: Irrespective of the load. full hd videos. there are some idle modes supported by cpuidle driver. 2 : Also bias task wake-ups to semi-idle CPU package for power savings. use sched_mc=1 for a possible battery saving.6. Recommendation: Use the stock hotplug mode during normal use. First stage consist of supplying a constant current until battery reaches it's constant/peak voltage. use value 0. But it is set at kernel level in most kernels and can not be controlled at user level. Q. In one release of Siyah. This is important for those real-time applications requiring full use of dedicated CPUs.

4W+ CPU 1. SIYAH SPECIFIC TWEAKS (2.400/1. CPU jumps either to smooth_target+smooth_offset or current_freq-smooth_step.3W Camera . there's 30% left. Full white background.3. Interactivex and Lulzactive in Siyah. Location of reset-file may be different in other variants of GS2] Give it a few hours after you reset the gauge. (Now we know why using dark wallpapers and reducing brightness is so important than undervolting)..5. Then If target_level less than smooth_target.9W (Forget Ocing to 1600mhz) BLN . Some heavy load conditions such as quickly reaching 1600mhz on full load. Some which were already listed in above posts. 3) GPU Clock. 1% brightness . Voltages. Let's have everything in one place. Now you know why. "What is 500 mhz core voltage bug?" A. reduce brightness. then the battery percentage should be fine. Changes possible at +/-25mV steps echo "1425 1325 1275 1175 1075 975 950 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table #Sets global scaling min&max frequencies echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo "1400000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 2) Scaling Governor & Smooth Scaling Parameters #Set scaling governor.1.110 to 180mW (Really?!) 2G to 3G switching . Examples: 40 80 89 100 114 133 160 200 267 400 ) echo "160 200 267" > /sys/class/misc/gpu_clock_control/gpu_control #Set GPU voltages (changes possible at +/-50mV ie at 50000 steps) echo "900000 950000 1000000" > /sys/class/misc/gpu_voltage_control/gpu_control #Set GPU Up and Down thresholds echo "85% 55% 85% 50%" > /sys/class/misc/gpu_clock_control/gpu_control Working of Thresholds: Up threshold for Step 1 (160 mhz) = 85% [GPU scales up to 200 from 160 when load >= 85%] Down Threshold for Step 2 (200 mhz) = 55% [GPU scales down to 160 from 200 when load < 55%] . So roughly every percentage of brightness increased accounts to additional 5. L2=1200 mhz. It's a safety feature. Thresholds & Staycounts #Set GPU clocks ( valid values are 400/(x*0. echo "2" > /sys/devices/system/cpu/cpu0/cpufreq/smooth_target echo "2" > /sys/devices/system/cpu/cpu0/cpufreq/smooth_offset echo "2" > /sys/devices/system/cpu/cpu0/cpufreq/smooth_step note: Smooth scaling is disabled for interactive based governors: Interactive. [Courtesy Entropy512.603W 3G upload . If you're UVing do it properly for 500 and 800. core voltage used is it's own voltage. It may still show you funny values for those period. with examples.. Idle loop based governors shouldn't like throttling. L1=1400 mhz.598W 2G upload . Full white background. AMOLED Display: Average . echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table #Set voltages for frequency steps. Why?" A.51W 2G download . Note that L0=1600 mhz.4 Ghz full load.960mW.2W CPU 1.800mW for 8 seconds. "What're the approximate power consumptions by the device peripherals & activities?" A.853mW 3G download . Wifi download .5.700mW Bluetooth and GPS .9/i2c-9/9-0036/power_supply/fuelgauge/fg_re Q. What you can do is to reset the fuel gauge. L3=1000 mhz.370mW. So climb to 500 uses 800's volt and fall to 500 uses it's own volt. Avoid bright wallpapers.40mW Led lamp next to camera . "Sometimes the device says 'low battery' and switches itself off. When frequency is dropped to 500 from a frequency above it. 1) CPU Frequency & Voltages #Set frequency steps according to the number of steps in your kernel.smooth_step = L5-2 = L3 = 1000 mhz Since 800 mhz is smaller CPU jumps to 800 mhz first and then 1400 mhz.450mW. It's not a bug. smooth_offset = 2 and smooth_step = 2 smooth_target + smooth_offset = L2+2 = L4 = 800 mhz current_freq .2mW. What is it: When frequency is raised to 500 from a frequency below it.3V and this is wrongly interpreted by the battery as empty.1. Q. whichever is smaller. 100% brightness .1.200mW during suspend state opposed to deep sleep 8mW without BLN. but we should know) CPU 1. according to available governors in your kernel echo ondemandx > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor #Smooth scaling parameters to control any governor jumping to higher frequency directly (other governor specific tweaks in first post).. 100% brightness . etc will cause the battery voltage to time below 3. (This is no h/w component.fuel gauge to report low percentages. core voltage used for 500mhz is the core voltage of 800mhz. which is the biggest power drainer in GS2?" A. We have smooth_target = 2 = L2. L7=100 mhz Example: CPU current_freq is 500 (L5) and Ondemand governor decides to jump to 1400 (L1). It is the bright amoled display! Display uses roughly 370mW average and 960mW with 100% brightness full white screen.6 gingerbread versions) Summary of all user configurable parameters in Siyah kernel. When CPU is on a certain frequency (let's call this current_freq) and governor decides to jump CPU up to a higher frequency (let's call this target_level). Q. Code: echo "1" > /sys/devices/platform/i2c-gpio.4 Ghz average . and some which i may have missed out.136W (Stay away from uploading your videos to youtube via 3G) Q. .etc.1. So valid values will be 400/1. But when i turn it on.6 Ghz full load . Illuminated button .5) where x is an integer >= 2. The code is for i9100. "So CPU/GPU or GPS chip.2.

Up Threshold for Step 2 (200 mhz) = 85% [GPU scales up to 267 from 200 when load >= 85%] Down Threshold for Step 3 (267 mhz) = 50% [GPU scales down to 200 from 267 when load < 50%] Step 1 will not have a Down Threshold & Step 3 will not have an Up Threshold since they don't have a step to scale-down to or scale-up to. Now you have complete control over GPU! echo "1 1 1" > /sys/class/misc/gpu_control/gpu_staycount 4) Hot Plug Thresholds. echo "500000" > /sys/module/pm_hotplug/parameters/freq_cpu1on If CPU frequency <= 500 mhz. then second will not be turned on. if current load >= loadh_scroff If second core is already online. 5) Deepsleep Levels #Set deep sleep frequency & bus speed (L4=800 mhz and 0=400mhz bus speed) echo "4" > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_cpulevel echo "0" > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_buslevel 6) I/O Schedulers #Set i/o scheduler echo "sio" > /sys/block/mmcblk0/queue/scheduler 7) Bus Frequencies #Set bus frequencies for highest-to-lowest CPU frequencies and enable static bus frequency scaling echo "0 0 0 1 1 2 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static echo "enabled" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static Bus speeds: 0: 400 mhz | 1: 266 mhz | 2: 133 mhz 8) Schedule Multi Core & Idle Modes #enable sched_mc echo "1" > /sys/devices/system/cpu/sched_mc_power_savings #enable AFTR echo "3" > /sys/module/cpuidle/parameters/enable_mask 9) Touch Sensitivity Parameters #touch sensitivity echo "50" > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold Possible values are between 40 to 80. Sampling Interval & Frequency #Set second core kick-in threshold for screen-on state echo "25" > /sys/module/pm_hotplug/parameters/loadl echo "70" > /sys/module/pm_hotplug/parameters/loadh #Set second core kick-in threshold for screen-off state [Forcing second core NOT to turn on during screen-off make it easier for first core to hit deep idle. regardless of thresholds. Staycount act as rate multiplier for GPU sampling intervals. if present load >= loadh. Lower value = higher sensitivity. Misc & USB charge current echo "750 650 450" > /sys/devices/virtual/misc/charge_current/charge_current . Also use Tegrak's Touch Move app from market to further control touch sensitivity 10) Charge Current #set AC. Since frequency of GS2 system timer = 200hz. #Set frequency below which second core will not be turned on. please see this post. #Set GPU Staycounts. rate_cpuon is the sampling ineterval to check if second core should be turned off (if already online). divide jiffy value by 200 to convert into seconds. Unit for these sampling intervals are jiffies. rate_cpuon is used as the sampling to check if second core should be turned off For more info on Hotplug sampling and behavior. hence power savings] echo "35" > /sys/module/pm_hotplug/parameters/loadl_scroff echo "100" > /sys/module/pm_hotplug/parameters/loadh_scroff #Set hot plug sampling intervals for screen-on state echo "200" > /sys/module/pm_hotplug/parameters/rate echo "400" > /sys/module/pm_hotplug/parameters/rate_cpuon rate is the sampling interval to check if second core should be kicked-in. if present load < loadl #Set hot plug sampling intervals for screen-off state echo "800" > /sys/module/pm_hotplug/parameters/rate_scroff rate_scroff is the sampling interval used in screen-off state to check if second core should be turned on.

rate_cpuon. Reducing brightness. GS2 Exynos supports only 3 idle state: IDLE. Samsung Galaxy S3 i9300 . throttling. 3) loadl_scroff. If you want to delay enabling second core. PREFACE: ARM processor in Exynos chip consists of four major power domains: CPU cores (and L2 cache). Also. USB refers to usb charge current from pc. Samsung Galaxy Tab P750 REPLY The Following 144 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. smooth_step: If you feel there's a need for 1) throttling CPU 2) Control governor's urge to jump to maximum frequency too often. i/o schedulers. smooth_step 2 for the sake of power saving and precaution. 20th March 2012 at 06:56 PM. You decide how many FPS you want! SIYAH KERNEL . modules. GB/ICS kernel differences. MISC refers to car charger current . Unit is jiffy. Sched_mc: Unlike 8 idle states supported by OMAP4 of Nexus. then use sensible valid non-zero values. sched_mc 0 7) smooth_target. smooth_offset. Possible values for min_bl = 0 to 255 | min_gamma = 0 to 24 | max_gamma = 0 to 24 12) Switch Hotplug/DualCore/SingleCore #Dynamic hotplug mode echo "on" > /sys/devices/virtual/misc/second_core/hotplug_on #Single core mode echo "off" > /sys/devices/virtual/misc/second_core/hotplug_on echo "off" > /sys/devices/virtual/misc/second_core/second_core_on #Dual core mode echo "off" > /sys/devices/virtual/misc/second_core/hotplug_on echo "on" > /sys/devices/virtual/misc/second_core/second_core_on The above script is a replacement for Tegrak's 2nd Core app. Sample Values: loadl_scroff 50. AFTR. Tasks that can be run during screen-off state are very few. loadh_scroff: Bluetooth transfers.ExTweaks TAB 1 .. power saving states. 03:49 PM (Last edited by droidphile. leave it all zero. Sample Values: rate 100 rate_cpuon 400 rate_scroff 1000. This will help first core to hit deep idle state soon after tasks are finished.OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO 6. Sample Value: 800000 (so that second core kicks-in only from frequency>=800 mhz). Never forget this!) It takes only a few micro seconds to activate/deactivate a core. core 2 won't kick-in when screen is off. Forcing dual core mode is also foolishness. So the value divided by 200 gives the equivalent seconds. Or 300000 (so that core2 could be online from 500mhz onwards) 6) Idle Mode.Paranoid / CM10 on Siyah Governors. Frequency of sgs2 timer is 200hz. 4) rate. Forcing single core mode is foolishness. Do not set Ac & Misc more than 1000mA or Usb more than 450. LPA. NOTE: Smooth scaling is enabled only for ondemand and conservative governors. CONFIGURE KERNEL AIO APP . We're simply delaying the next sampling. In a research it was found that having two cores online consumes almost same power as having a single core online. Please note: 1) Having an upper hand on Screen-ON power consumption is difficult. 11) Brightness Curve Settings #brightness settings echo "30" > /sys/class/misc/brightness_curve/min_bl echo "1" > /sys/class/misc/brightness_curve/min_gamma echo "24" > /sys/class/misc/brightness_curve/max_gamma We will have lowest brightness or zero gamma for brightness level read from sensor < 30. control GPU behavior and bus frequencies are almost the only ways. The tunables discussed below will directly or indirectly affect power consumptions of these domains. for those who don't like apps to set something on boot.GINGERBREAD See the previous post for detailed description of each tunable. 5) freq_cpu1on: CPU runs efficiently if only first core is used until about 800 mhz and both the cores are used for the higher frequencies (if the load demands). It is recommended to set threshold to 100% so that second core doesn't kick-in during screen-off state. TAB 2 . rate_scroff: Compared to governor sampling interval (in the range of micro seconds).GPU: Take control on GPU domain. load balancing using sched_mc makes no sense on an already hotplug-enabled device. wifi/3g downloads.. So the value of rate_scroff doesn't matter.. Value of loadl_scroff is insignificant since Core 2 will not turn on.) Reason: more info Gingerbread Kernel AIO Configuration Apps: How To Mess With Them #6 Recognized Contributor . music play. 2) loadl. This post is to give an idea on impact of value x or value y for a tunable. 2) Beyond a point we can not achieve better performance or better power saving and it's useless to tweak settings thereafter. (Only first core can hit deep idle states in Exynos 4210. these are normally very high values (terms of seconds or hundreds of milli seconds). and audio/video IP blocks. smooth_offset 2. To increase the minimum brightness.CPU: Take control on CPU hotplugging. Unwanted excess power consumption even when CPU is 'idling' is the 'minor-reason' and blocking deep idle states is the 'major-reason'. loadh_scroff 100. > Thread | App . If you prefer not to interfere with governor's decision use 0 0 0. Above that. it is linearly mapped to [min_gamma:max_gamma] which is [1:24] here. One jiffy is the time taken by one tick of the system timer. etc 1) Hot-Plug Mode: You have a dual-core device. pegasusq. Why such a high value for rate_scroff? Because loadh_scroff was set to 100%. loadh: Do not wait for core 1 to be over-loaded to activate second core. Sample Values: loadl 25. decrease the min_bl.. GPU. memory interface.AC refers to wall charger current. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. use 200 400 1000. dual boot faqs. Otherwise. Sample Values: smooth_target 2. loadh 75 for less aggressiveness or 25 50 for more aggressiveness. Sample Values: Idle Mode 3 (AFTR+LPA). You have room for performance. So use Hotplugging. tweaks.

max_gamma: If you don't want lowest brightness to be very low. It is recommended to leave it as default 1 1 1. I would recommend using energetically efficient GPU freqs. But i assure you the difference isn't too much! Samsung Galaxy S3 i9300 ..SCREEN: Take control on touch response and brightness levels.min_gamma. etc. 1) Backup EFS: 2) Default CPU Governor: 3) Default I/O Scheduler: 4) File Fsync Disable: If FSYNC is used. This implies the thresholds causes overlapping of load-evaluations. swipes will be registered as clicks. This feature helps to minimize data loss under rough conditions. This kinda issues arises when AFTR is hit too soon. dual boot faqs. as module(s). loadh_scroff: 3) rate. Let the system decide what bus frequency should be used. and a file is open for writing. TAB2 . Only advantage to disable per file fsync is increased performance in DB writes. "Even though i could understand everything you stated here about. An alternative is to charge full->discharge full->charge full. 2) Android Logger: Enable/Disable Logging. 3) AFTR Idle Mode: Enable AFTR+LPA. i recommend leaving static bus frequency disabled. etc. where power failures can occur. Or just a -50mV UV for each step.E. i/o schedulers.MISC: See above for config hints/sample values for each parameters under this tab. rate_scroff: 4) freq_cpu1on: 5) CPU Idle Mode: TAB 2 . If you want more frames. Leave it enabled.1) GPU Frequency Steps: There are plenty of frequencies supported by the MALI400. Samsung Galaxy Tab P750 . Sample Value: 7 2) min_bl. 5) Reset Fuel Gauge Chip: Thread | App . leave it at AC: 650. New ondemand is good enough. Set it too low. Lower value: more responsive. use 30 1 24. (Lionheart = aggressive conservative).E. Disabling Pfsync is dangerous as it can lead to data corruption..K Configurator TAB 1 . 4) Default CPU Governor: Use whichever you like. Conservative governor can also have lionheart tweaks enabled. GB/ICS kernel differences. rate_cpuon. Use this to have better battery life. 4) Ext4 Boost Optimizations: Enable to have remount scripts run during every boot-up.N. Leave it unchecked. (If you like the 'good old' two frequency step.K KERNEL Q. Possible issues are stuttering videos/lagging gui.. 2) SCHED_MC: Yes you have read multiple times that enabling load-balancing via Linaro's Shedule Multi-Core is redundant and is of no particular use in an hotplug enabled device. If and only if there are issues. N. The battery life is 'bettered' by hitting deep idle states before the actual deep sleep. To calculate down-thresholds in such a way that overlapping is prevented. To have more governors available.Paranoid / CM10 on Siyah Governors. We should utilize and enjoy the performance of the phone. use 200 267 400. Sample Values: 160 200 267. Sample Values: 1 1 1 TAB 3 . I'd recommend to use stock voltages. not Nokia 1100. 3) GPU UP and DOWN Thresholds: We do not want GPU to immediately scale up after scaling down to a frequency. This can also be achieved using a different i/o scheduler. We have a Galaxy S2.OTA Downloader Download OTA APP: Click to download Kernel OTA app.MISC: Governor. Set it too high. your navigation app will crash. NEAK comes with Ondemand. Use up-thresholds of the range 80-90. Our definitions of 'too-much' may be different. The values recommended were intended to give snappiness without compromising too-much battery life.yeah do not set it high. pegasusq. loadl: 2) loadl_scroff.A. find out what percentage of higher frequency is lower frequency. 400 267 200 160 133 114 100 89 80 73 67 62 57 53 50 47 44 42 40 are valid frequencies. 1) GPU Frequency Steps: 2) GPU Voltages: 3) GPU UP and DOWN Thresholds: TAB 3 .NEAK Options: 1) Governors: By default.GPU: See above for config hints/sample values for each parameters under this tab.5) where 2 <= x <= 20. OR 85 65 85 55 (If GPU freqs are 200 267 400). Lulzactive and Performance only. Leave it as 500000. 6) Charge Current: Since it was proved that i9100 Li-ion battery charge current can only be either of 450mA and 650mA. 5) Default I/O Scheduler: Use whichever you like. and reduce 5-10 % from the resultant value. Do not disable Pfsync. Scheduler.CPU: See above for config hints/sample values for each parameters under this tab. 3) Default Ondemand Suspend Frequency: Max frequency to be used by ondemand governor during suspend state (screen-off). 2) GPU Voltages: GPU Undervolting (if not taken care of) has some worse side effects compared to CPU UV. modules. May increase disk performance. leave it unchecked.. what exactly does those sample values/recommended settings do? Will i get 8 hours screen-on and 8000 Antuntu?" A. MISC: 450.ExTweaks TAB 1 . etc 1) Backup EFS: Backup your precious EFS partition to use in the future to recover a lost IMEI. enable from the list and reboot. OTA app can be used to check and download new releases without visiting xda. Your game will crash.. Sample Values: 30 1 24 (for stock experience) OR 50 0 20 (for low lowest brightness level and low highest brightness levels) TAB 4 . Tasks which involves a lot of GPU rendering really does a lot of Write and Read To and From memory. all cached data will be written to disk. set Threshold-2-UP to 100 so that only First two Steps are used and third step will never be active) Sample Values: 85 70 85 65 (Assuming GPU freqs are 160 200 267).A. press the button and wait for sometime. for a set of two freqs. Last Words: If you use scripts to set bus frequencies. USB:450 or AC:650 MISC: 650 USB:450 7) Reset Fuel Gauge Chip: After a low-battery reboot if the battery shows very low and incorrect percentages since true battery capacity failed to accurately synchronize with the fuel gauge. Selected governors will be loaded on reboots. tweaks.. I use sio/bfq. 1) loadh. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. FECALITY KERNEL Thread | App . Valid frequencies are 400/(x*0. 1) Touch Move Sensitivity: Supported values are between 0 and 20. 4) GPU Stay Counts: No of cycles to stay at each GPU step.

Frequency of sgs2 timer is 200hz. pegasusq. I use sio/bfq. GS2 Exynos supports only 3 idle state: IDLE. This is energy efficient because above 800mhz. leave it as 0 0 0. 3) min_rq. dual boot faqs. 4) GPU Stay Counts: No of cycles to stay at each GPU step.Clock is gated but power on CPU core remains (static power consumption still active) AFTR . This implies the thresholds are overlapping load-evaluations.USB:450 OR AC:650 MISC:650 USB:450 7) Reset Fuel Gauge Chip: After a low-battery reboot if the battery shows very low and incorrect percentages since true battery capacity failed to accurately synchronize with the fuel gauge. 6) CPU Idle States: Unlike 8 idle states supported by OMAP4 of Nexus. Since it doesn't go well with hotplugging logic. AFTR. Sched_mc is valid only when both cores are online. smooth_step 2 TAB 2 . Brightness curve 1) Touch Move Sensitivity: Supported values are between 0 and 20. If you want more frames.apk and SU binary. One jiffy is the time taken to complete one tick of the system timer. If current frequency <= freq_min. one jiffy = 5 milliseconds in GS2 terms. the voltage increase is steep. I think it's something to do with CPU run queue and enhance load balancing on cores. modules. smooth_offset 2. max_gamma: If you don't want lowest brightness to be very low. 29th March 2012 at 04:15 AM. 4) Default CPU Governor: Use whichever you like. if someone uses dual-core mode sched_mc is worth a try to handle task loads on cores. To calculate down-thresholds in such a way that overlapping is prevented.MISC: Governor. CPU runs efficiently if only single core is used until about 800 mhz and both the cores are used only for the higher frequencies. 9) Install Root: Tries to install root after a removal. Sample Values: loadl 20. for a set of two freqs.ExTweaks TAB 1 . Sample Value: 7 pixel 2) min_bl.SCREEN: Touch sensitivity. load is sampled and if found to be more than loadh0. Valid frequencies are 400/(x*0. Thresholds to turn ON and turn OFF second core. NOTE: Smooth scaling is enabled only for Ondemand and Conservative governors. If we're not interested in either of them.ICS We heard a lot of "ICS is more mutlithreaded and multi core aware". switch to third step. Sample Value: 800000 (so that second core kicks-in only from frequency>800 mhz). Samsung Galaxy S3 i9300 .r. > Thread | App . Sample Values: sched_mc 0 8) smooth_target. An alternative is to charge full->discharge full->charge full. (If you like the 'good old' two frequency step. Ondemand is good enough. Sample Values:CPU Hotplug 2) loadh0. 500000 (500 mhz) is the most sensible value. Sample Values: Idle Mode 3 (AFTR+LPA).min_gamma. 3) GPU UP and DOWN Thresholds: The four thresholds are threshold to switch to second step. AFTR or LPA cannot be entered if second core is active. leave it at AC:650. i had to use more aggressive(reduced) thresholds. use 200 267 400. 2) GPU Voltages: GPU Undervolting (if not taken care of) has some worse side effects compared to CPU UV. This matters more than CPU UV w. 4) rate: Rate is the sampling interval for hutplugging for screen-ON state. Because voltage increase is intense past 800 mhz. SIYAH KERNEL This post will be updated with more releases of the kernel. Sample Values: 160 200 267. loadh 50 for less aggressiveness or 20 30 for more aggressiveness. Scheduler. Sample Values: rate 100. Miscellaneous tweaks 1) Backup EFS: Backup your precious EFS partition to use in the future to recover a lost IMEI. It's better not to overload first core before turning second core on. Sample Values: 1 1 1 TAB 3 . second core comes online. Every rate jiffies.. But setting it too low will cause swipes to be registered as clicks.) Reason: typo ICS Kernel AIO Configuration Apps: How To Mess With Them #7 Recognized Contributor . LPA. 7) Sched_mc: Disable sched_mc. To get the same responsiveness as in gingerbread.t Screen-On power savings! 1) GPU Frequency Steps: There are plenty of frequencies supported by the MALI400. ICS hotplugging logic has some difference from GB hotplugging. So the value divided by 200 gives the equivalent seconds or in other words.. i/o schedulers. GB/ICS kernel differences. tweaks. Leave it enabled. 2) Android Logger: Enable/Disable Logging. 400 267 200 160 133 114 100 89 80 73 67 62 57 53 50 47 44 42 40 are valid frequencies. switch back to second step.. Having only one core online roughly saves about 55% power compared to two cores online. use 30 1 24. check 'Auto-Install Root' and reboot.apk and SU binary. 5) Default I/O Scheduler: Use whichever you like. power on CPU core is removed and L2 cache power remains. OR 85 65 85 55 (If GPU freqs are 200 267 400). Copies Superuser. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. So static power consumption increases steeply and it's better to have two cores handling tasks from here on. to save battery. what these params does is unknown. I'd recommend to use stock voltages.0 kernel make the best out of dual core Arm Cortex A9? Let's tweak and see. find out what percentage of higher frequency is lower frequency.GPU: GPU behavior. Sample Values: 30 1 20 (for stock experience) OR 50 0 20 (for low lowest brightness level and low highest brightness levels) TAB 4 . But it's not worth using single core for all frequencies since the device is capable of more.when we use dual core mode. Can a 3. 03:49 PM (Last edited by droidphile. Idle States 1) Hotplug Mode: Best practice is to use hotplugging instead of single/dual core modes and setup settings in such a way that until about 800 mhz. 5) freq_min: 'Threshold' frequency for second core to turn on during hotplugging. There could be only one situation where load balancing or weird-overloading of first core can be useful .OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO 7. In such cases. set Threshold-2-UP to 100 so that only First two steps are used and third step will never be active) Sample Values: 85 70 85 65 (Assuming GPU freqs are 160 200 267). remove root and re-install root. smooth_offset. smooth_step: These params helps in 1) Throttling CPU at higher temperatures 2) Control Ondemand based governors' urge to jump to maximum frequency too often by jumping the CPU to an intermediate frequency first. 6) Charge Current: Since it was proved that i9100 Li-ion battery charge current can only be either of 450mA and 650mA. press the button and wait for sometime. 3) Default Ondemand Suspend Freq: Max frequency that will be used during screen-off state if Ondemand is the active governor. Samsung Galaxy Tab P750 . When average load on both cores is less than loadl1. second core will not turn on even if the load has crossed loadh0.Clock is gated. MISC:450. loadl1: Values are so self explanatory.Cache power removed. Static power consumption mostly eliminated. I would recommend using energetically efficient GPU freqs. Pressing the button will remove Superuser.Paranoid / CM10 on Siyah Governors. or if some apps are freezing in a while..REPLY The Following 74 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. second core is turned ON. IDLE . switch back to first step. We do not want GPU to immediately scale up after scaling down to a frequency. 8) Remove Root: Some apps detects root and refuse to work if found. It is recommended to leave it as default 1 1 1. I'm not sure. and reduce 5-10 % from the resultant value. Use up-thresholds of the range 80-90. When load on first core is greater than or equal to loadh0. Sample Values: smooth_target 2. second core goes offline. Smooth Scaling. If this fails. Or just a -50mV UV for each step. only first core is active. your navigation app will crash.5) where 2 <= x <= 20. Your game will crash.CPU: Hotplugging. CONFIGURE KERNEL AIO APP . LPA . Load-High-0 and Load-Low-1. load_rq: As of now. Lower value is more responsive.

.392 Join Date: Mar 2011 Location: Madurai MORE INFO DONATE TO ME MODEM : LIB || ROM :AOKP BUILD 3 @ 240 DPI|| KERNEL : Siyah 1.But Actually It Is. tweaks. from customizing the look and feel to adding new functionality. i/o schedulers. AIO App Configs Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is Off Go to top of page.. siyah. It is now a valuable resource for people who want to make the most of their mobile devices. modules. . init. 30th November 2011 at 04:22 PM. GB/ICS kernel differences. dual boot faqs. Modules. Are you a developer? Get the XDA forums on your Android Device. > Samsung Galaxy S3 i9300 .. DOWNLOAD THE XDA ANDROID APP XDA Developers was founded by developers. this will help many people around here. this will help many people around here. pegasusq. 04:20 PM (Last edited by bala_gamer.d scripts..OP Thanks Meter 3777 Posts: 912 Join Date: Jul 2011 Location: Bangalore MORE INFO One more thing. I/O Schedulers.~ REPLY The Following 4 Users Say Thank You to bala_gamer For This Useful Post: [ Click to Expand ] droidphile 30th November 2011. for developers. 07:46 PM respect!!!! #10 Nice work droidphile > REPLY The Following User Says Thank You to chetasus For This Useful Post: [ Click to Expand ] POST REPLY TAGS + Page 1 of 50 1 2 3 11 > >> extweaks.. When We Start Understanding Small Things. can you add the details about bus frequency selection? It will be helpful for starters Sent from my GT-I9100 using xda premium Recognized Contributor Thanks Meter 2863 Posts: 8.REPLY The Following 101 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] bala_gamer 30th November 2011...) #8 Nice work droidphile.XDA 2013 Beta Copyright© xda-developers. can you add the details about bus frequency selection? It will be helpful for starters I will add bus frequencies and other parameters soon. One more thing.. CPU Tweaks.. i/o schedulers. Recognized Contributor .6 Launcher : Nova Prime || Apps Installed : 200+ || Battery Backup : 1-2 days > New to Android and sgs3? Read the FAQ here || S3 CPU/GPU overclocking/undervolting guide Previous Mobiles: Galaxy S2||Galaxy SL|| Nokia X6||5230|N73 ~ Maturity is Not When We Start Speaking Big Things.. Faqs on i9300 kernels? Siyah in particular? What's STweaks? Some useful links: Setup ADB/SDK | Git Tutorial Previous Devices: Samsung Galaxy S2 i9100. Powered by Searchlight © 2012 Axivo Inc. tweak governors « « Previous Thread | Next Thread » » > Samsung Galaxy S II I9100 > Galaxy S II General > [REF][TWEAKS] Kernel Governors. MORE INFO Contact Us Suggest Content Privacy Policy RSS BE SOCIAL -. 04:28 PM Quote: #9 Originally Posted by bala_gamer Nice work droidphile. Samsung Galaxy Tab P750 REPLY The Following 11 Users Say Thank You to droidphile For This Useful Post: [ Click to Expand ] chetasus Member Thanks Meter 4 Posts: 62 Join Date: Jul 2011 Location: Auckland MORE INFO 30th November 2011.Paranoid / CM10 on Siyah Governors..