kernel adiutor tweaks for stock and gaming mode? - Xiaomi Redmi Note 5 Pro Questions & Answers

I am on miui 10 with ancient Kernel v1.6
Can u tell me kernel adiutor tweaks for stock and gaming mode?

For gaming :
Cpu governor =Interactive on both, max speed to 2.2/1.8 or can be kept near stock 1.8/1.6 too as it's not a huge difference in performance (for it to be more battery balanced)
I/O scheduler = Deadline, readahead buffer= 1024-2048, rq affinity=2, switch off other things like rotational entropy etc.
TCP profile =Westwood
Importantly Keep ZRAM=0, or flash "Swap Torpedo" in Magisk otherwise with swap file on you'll lose more battery and performance in general and it's plain unnecessary on a modern phone like RN5.
Basically these are the basic settings and should get you around 132000-135000+ in Antutu and also generally high and consistent performance in games. In pubg @60fps my battery consumption is usually 18-23% per hour thus you can expect around 4hours of intense gaming on a fully charged battery.

nakulp said:
For gaming :
Cpu governor =Interactive on both, max speed to 2.2/1.8 or can be kept near stock 1.8/1.6 too as it's not a huge difference in performance (for it to be more battery balanced)
I/O scheduler = Deadline, readahead buffer= 1024-2048, rq affinity=2, switch off other things like rotational entropy etc.
TCP profile =Westwood
Importantly Keep ZRAM=0, or flash "Swap Torpedo" in Magisk otherwise with swap file on you'll lose more battery and performance in general and it's plain unnecessary on a modern phone like RN5.
Basically these are the basic settings and should get you around 132000-135000+ in Antutu and also generally high and consistent performance in games. In pubg @60fps my battery consumption is usually 18-23% per hour thus you can expect around 4hours of intense gaming on a fully charged battery.
Click to expand...
Click to collapse
what about gpu driver & gpu govornor and thermal?
is zram = 0, will giv me more battery?

Related

[KERNEL][RC12] Rm Kernel | Overclock 1Ghz | 2.6.32.59 |

RM KERNEL ​
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you
Rm -Kernel For Optimus me (pecan)
What is a Kernel?
The Kernel is the Foundation in which everything else builds upon in any software system.
NOTICE: This Kernel Only COMPATIBLE with Mine and Pax0r CM7.2 AND there Based Roms cooked roms.
Don't try to flash on stock roms or older cm7 or omgb/omfgb or cm9 roms becuase is not COMPATIBLE now with this roms
Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).
IMPORTANT NOTES
Click to expand...
Click to collapse
No Guarantees! If it kills your grandmother or your device ,I'm not responsible if
you brick your device by heavy OC, flashing, voiding your warranty,or any other pain or suffering you may feel as result of using this kernel!!! ...
Using using very high frequencies (OVER 806Mhz) is dangerous for your phone.
if you oc your phone OVER 806MHZ on my kernel then no support provided
(If you download, please hit Thanks below my post! Thank you!)
NOTE: after wipe battery,system recreate the battery stats, forcing the battery to lose its capacity, i advice you recalibrate the battery after doing that.
KNOW BUGS
Click to expand...
Click to collapse
Not All CHIPS ARE CREATED EQUAL
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
*RC12* [STABLE] Click me
Old Downloads: Click Me
INSTALL
Click to expand...
Click to collapse
How to Flash/Install the Kernel
Root Your LG Optimus Me , Then Install Custom Recovery
Download Newer Version Of Rm 32 Kernel From Topic
Copy Zip File to Sd Card
Reboot Your Phone To Recovery Mode
Wipe Cache,Wipe Dalvik Cache And Battery
Now Install Kernel And Enjoy:laugh:
​Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...
SOURCE
Click to expand...
Click to collapse
I respect the GPL (the license covering the Linux kernel), so all the up-to-date source code for this kernel is avaiable on my github:https://github.com/kerneldevs/RM-32-kernel-pecan
My kernel is, in turn, based on the publicly-avaiable froyo kernel source from LG. You're free to fork, modify, and re-release the code as your own, but you must provide the source code for your resulting work. Doing so ensures you honor the terms of the license, but you're also giving back to the community. Basically, don't be a ****.
THANKS TO
Click to expand...
Click to collapse
drapalyuk- initial setup of pecan kernel source and for biggest work for this device
pax0r- 2nd setup of pecan kernel source and also for biggest work for this device
codeaurora forum - source and patches
Mik9-SOME PATCHES THAT I USED IN MY KERNEL
Fserve-for sharing his kernel source from his source i got some idea for this kernel
Andy572-used some patches
Tasssadar-for his kernel source based on mik9 kernel
Roqu3-for his kernel source for p350, i got a 1 fix from his source
Cyanogenmod - for sharing their kernel source code, used some 1 patches from cm kernel source.
burstlam- got i nice idea about kgsl from his zte blade source
SUPPORT
Click to expand...
Click to collapse
IF YOU LIKE MY WORK YOU CAN USE DONATE BUTTON TO SUPPORT MY WORK OR YOU CAN PRESS THANKS BUTTON TO SHOW YOUR SUPPORT .
SOME INFO OF SOME KERNEL THINGS
Click to expand...
Click to collapse
CleanCache(via ZCache backend)
ZCACHE is a compressed cache similar to ZRAM but the similarity ends there. ZCache is meant to provide as many "cleancache" pages (non-dirty or untouched "virgin" memory) to apps that request for new memory. CleanCache is very easy to allocate and no additional penalty are required to hand them out, so having more CleanCache pages will improve performance. Under heavy memory pressure, often times the kernel will NOT have enough CleanCache pages, so the kernel has to do EXTRA work to reclaim dirty cache pages and clean them for the new apps that's requesting for them. The described process creates a performance hit for the kernel and the app, so the idea is to use compression to create more CleanCache pages available for use. Of course there's a penalty to pay for using compression, but the trade-off between compression penalty and the penalty for reclaiming dirty cache pages and allocating them after cleaning is smaller for compression, so in the end, CleanCache should add more performance.
USER experience BENCHMARK ARE MOVED TO THIS LINK
MORE
Click to expand...
Click to collapse
WANT FAST NEWS ABOUT MY WORK? THEN JOIN MY FACEBOOK GROUP : https://www.facebook.com/groups/OADPROM/
If you want to donate some bucks for the work that i'm doing for LG Optimus Me, go to the my username and hit the 'donate to me' button. Otherwise I would be grateful if you can click the "Thanks" button on the bottom right of this post.
THANKS TO ALL
CHANGELOG
CHANGELOG
OLD CHANGELOG OF RM VERSIONS ARE MOVED CLICK HERE TO SEE OLD CHANGELOG
​
09-07-2012 RC7 http://www.mediafire.com/?sxh8wt2u1b9493t
serial: msm_serial_hs_lite: Use pm_runtime to indicate device state
mm: Make memory hotplug aware of memmap holes
mfd: Use min_uV for voltage setting
msm: timer: read clocksource from global clock variable.
msm_bus: APIs for MSM bus scaling.
arm: add ARM-specific memory low-power support
msm: rmnet: Add tailroom for sk buffer to be transmitted
msm: Add Timpani Sound Device Profile
14-07-2012 RC8 http://www.mediafire.com/?ld6lrnbxrghdewb
msm: camera: Support for Dynamic Camera Logging
add backlight driver in st1.5
msm: mfd: Use debugfs interface to allow timpani codec register access
spi_qsd: Modify timeout mechanism to check SPI state valid bit.
Define and process new type of memory tag (ATAG_MEM_RESERVED)
msm: Add XO aggregation and voting API stubs
Add tpmd_dev from the tpm-emulator source to the kernel
arm: common: CP register access tool for Read/Write to CP registers
serial: msm_serial_hs: Use runtime PM for HSUART power state transitions
21-07-2012 RC10 http://www.mediafire.com/?97g5pqr71xuuj9h
rcu: "Tiny RCU", The Bloatwatch Edition
fs: simple fsync race fix
Increase readahead value
acpuclock tweaks
axi oc back
add the Stochastic Fair Blue (SFB) network scheduler - from zachariasmaladroit
sched: Fix over-scheduling bug [author andy572]
block: introduce the BFQ I/O scheduler
block: Fix atomic functions in bfq & update bfq to v2
msm_kgsl: Fix corner cases while adding ringbuffer commands
msm_kgsl: Take the driver lock after waiting for wakeup to complete
msm_kgsl: enable writecombine
msm: 7x27: Update the SDC2 GPIO disable configs
msm: 7x27: mmc: Add platform data for dummy CMD52
usb: msm_gadget: Check both USB state and VBUS during initialization
and some more small changes, check github repo for that
25-07-2012 RC11 http://www.mediafire.com/?3l6fi81l4no860t
mmc: msm_sdcc: Enhance the current mechanism of simulating PIO interrupt
msm: socinfo: move sysdev creation outside init
fs: mark_inode_dirty barrier fix
vmalloc: remove redundant unlikely()
mm: remove likely() from mapping_unevictable()
mm: remove likely() from grab_cache_page_write_begin()
writeback: avoid unnecessary determine_dirtyable_memory call
brk: fix min_brk lower bound computation for COMPAT_BRK
mm/dmapool.c: take lock only once in dma_pool_free()
mm/dmapool.c: use TASK_UNINTERRUPTIBLE in dma_pool_alloc()
fs/select.c: fix information leak to userspace
PM: Lock PM device list mutex in show_dev_hash()
PM: Prototype the pm_generic_ operations
mmc: Attribute the IO wait time properly in mmc_wait_for_req().
Wifi fix
Last version of RM Kernel
09-08-2012 RC12 http://www.mediafire.com/?j6e21kzhdhw3x3v
revert axi oc back
revert update acpuclock
netlink: Make nlmsg_find_attr take a const nlmsghdr*.
netfilter/nf_conntrack_netlink: fix ctnetlink_parse_tuple()
net/ethernet/eth: remove deprecated: print_mac() [Marin Mitov]
ipv4/netfilter/nf_nat_standalone: workaround to make -Wswitch happy
ipv6/xfrm6_tunnel: missing middle operand
fs/ext4/move_extent: fix uninitialized start_ext.ee_block [tytso]
cpufreq: fix memory leak in cpufreq_add_dev [Xiaotian Feng]
cgroup: introduce cancel_attach() [Daisuke Nishimura]
block: rescan partitions on invalidated devices on -ENOMEDIA too
block: add proper state guards to __elv_next_request
mtd: mtdconcat: fix NAND OOB write
HERE THE INFO OF ANDROID GOV
ALL CREDITS GO TO Deedii
Android CPU governors explained
1: OnDemand
2: OndemandX
3: Performance
4: Powersave
5: Conservative
6: Userspace
7: Min Max
8: Interactive
9: InteractiveX
10: Smartass
11: SmartassV2
12: Scary
13: Lagfree
14: Smoothass
15: Brazilianwax
16: SavagedZen
17: Lazy
18: Lionheart
19: LionheartX
20: Intellidemand
21: Hotplug
​1: OnDemand Governor:
This governor has a hair trigger for boosting clockspeed to the maximum speed set by the user. If the CPU load placed by the user abates, the OnDemand governor will slowly step back down through the kernel's frequency steppings until it settles at the lowest possible frequency, or the user executes another task to demand a ramp.
OnDemand has excellent interface fluidity because of its high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand is commonly chosen by smartphone manufacturers because it is well-tested, reliable, and virtually guarantees the smoothest possible performance for the phone. This is so because users are vastly more likely to ***** about performance than they are the few hours of extra battery life another governor could have granted them.
This final fact is important to know before you read about the Interactive governor: OnDemand scales its clockspeed in a work queue context. In other words, once the task that triggered the clockspeed ramp is finished, OnDemand will attempt to move the clockspeed back to minimum. If the user executes another task that triggers OnDemand's ramp, the clockspeed will bounce from minimum to maximum. This can happen especially frequently if the user is multi-tasking. This, too, has negative implications for battery life.​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: Performance Governor:
This locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task, such as syncing email, and returns the CPU to the extremely efficient low-power state. This still requires extensive testing, and a kernel that properly implements a given CPU's C-states (low power states).​4: Powersave Governor:
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.
​5:Conservative Governor:
This biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.
The Conservative Governor is also frequently described as a "slow OnDemand," if that helps to give you a more complete picture of its functionality.​6: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency. This governor is more common amongst servers or desktop PCs where an application (like a power profile app) needs privileges to set the CPU clockspeed.
​7: Min Max
well this governor makes use of only min & maximum frequency based on workload... no intermediate frequencies are used.​8: Interactive Governor:
Much like the OnDemand governor, the Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. This is where the similarities end. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.
Unlike OnDemand, which you'll recall scales clockspeed in the context of a work queue, Interactive scales the clockspeed over the course of a timer set arbitrarily by the kernel developer. In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. This can eliminate the frequency bouncing discussed in the OnDemand section. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. This is another pro-battery life benefit of Interactive.
However, because Interactive is permitted to spend more time at maximum frequency than OnDemand (for device performance reasons), the battery-saving benefits discussed above are effectively negated. Long story short, Interactive offers better performance than OnDemand (some say the best performance of any governor) and negligibly different battery life.
Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.​9: InteractiveX Governor:
Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.​10: Smartass
Is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"​11: SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.​12: Scary
A new governor wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.​13: Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.​14: Smoothass:
The same as the Smartass “governor” But MUCH more aggressive & across the board this one has a better battery life that is about a third better than stock KERNEL​15: Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery​16: SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.​17: Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.​18: Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source.
The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.​19: LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.​20: Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
​21: Hotplug Governor:
The Hotplug governor performs very similarly to the OnDemand governor, with the added benefit of being more precise about how it steps down through the kernel's frequency table as the governor measures the user's CPU load. However, the Hotplug governor's defining feature is its ability to turn unused CPU cores off during periods of low CPU utilization. This is known as "hotplugging."
Obviously, this governor is only available on multi-core devices.
=============================================
ALL CREDITS GO TO THE USERS OF XDA WHO CREATED DIFF THREADS ABOUT I/O, THIS I/O INFO FROM ALL THREADS
ALL INFO ABOUT I/O
Click to expand...
Click to collapse
I/O:- short form of Input & Output​I/O Scheduler:- Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O operations will be submitted to storage volumes. I/O Scheduling is sometimes called 'disk scheduling'.
I/O schedulers can have many purposes depending on the goal of the I/O scheduler, some common goals are:
- To minimize time wasted by hard disk seeks.
- To prioritize a certain processes' I/O requests.
- To give a share of the disk bandwidth to each running process.
- To guarantee that certain requests will be issued before a particular deadline.​Info on I/O Scheduler
SIO:- cheduler is based on the deadline scheduler but it's more like a mix between no-op and deadline.In other words, SIO is like a lighter version of deadline but it doesn't do any kind of sorting, so it's aimed mainly for random-access devices (like SSD hard disks) where request sorting is no needed (as any sector can be accesed in a constant time, regardless of its physical location).​NOOP:- The NOOP scheduler inserts all incoming I/O requests into a simple, unordered FIFO queue and implements request merging.
The scheduler assumes I/O performance optimization will be handled at some other layer of the I/O hierarchy; e.g., at the block device; by an intelligent HBA such as a Serial Attached SCSI (SAS) RAID controller or by an externally attached controller such as a storage subsystem accessed through a switched Storage Area Network.​ANTICIPATORY:- Anticipatory scheduling is an algorithm for scheduling hard disk input/output.
It seeks to increase the efficiency of disk utilization by "anticipating" synchronous read operations.
ADAPTIVE ANTICIPATORY SCHEDULER:- For the anticipatory scheduler, we scale up the anticipation timeout (antic expire) using the latency scaling factor over time. When the virtual disk latencies are low a small scaling of the timeout is sucient to prevent deceptive idleness, whereas when the latencies are high a larger scaling of the timeout value may be required to achieve the same. Note that such dynamic setting of the timeout value ensures that we attain a good trade-o between throughput (lost due to idling) and deceptive idleness mitigation. Setting a high value for the scaling factor (increasing idling time) only happens when the disk service latencies themselves are higher. This may not necessarily cause a signicant loss in throughput, because submitting a request from another process instead of idling is not going to improve throughput if the virtual disk itself does not get any faster than it is at the current period. A higher anticipation timeout might also be capable of absorbing process scheduling eects inside the VM. The results for the adaptive anticipatory scheduler are shown in Figure 2. The read time with our modied implementation (third bar in the dierent scheduler combi- nations) shows that it is possible to mitigate the eects of deceptive idleness by adapting the timeout. An interesting related observation is that the level to which the improve- ment is possible varies for dierent Domain-0 schedulers; noop - 39%, anticipatory - 67% and cfq - 36%. This again points to the fact that the I/O scheduler used in Domain-0 is important for the VM's ability in enforcing I/O scheduling guarantees. Dierent Domain-0 I/O schedulers likely have a dierent service latency footprint inside the VMs, contributing to dierent levels of improvement.​CFQ:-CFQ, also known as "Completely Fair Queuing", is an I/O scheduler for the
Linux kernel which was written in 2003 by Jens Axboe.
CFQ works by placing synchronous requests submitted by processes into a number of per-process queues and then allocating timeslices for each of the queues to access the disk. The length of the time slice and the number of requests a queue is allowed to submit depends on the IO priority of the given process. Asynchronous requests for all processes are batched together in fewer queues, one per priority.​DEADLINE:- The goal of the Deadline scheduler is to attempt to guarantee a start service time for a request. It does that by imposing a deadline on all I/O operations to prevent starvation of requests. It also maintains two deadline queues, in addition to the sorted queues (both read and write). Deadline queues are basically sorted by their deadline (the expiration time), while the sorted queues are sorted by the sector number.
Before serving the next request, the Deadline scheduler decides which queue to use. Read queues are given a higher priority, because processes usually block on read operations. Next, the Deadline scheduler checks if the first request in the deadline queue has expired. Otherwise, the scheduler serves a batch of requests from the sorted queue. In both cases, the scheduler also serves a batch of requests following the chosen request in the sorted queue.​V(R):- The next request is decided based on its distance from the last request, with a multiplicative penalty of `rev_penalty' applied for reversing the head direction. A rev_penalty of 1 means SSTF behaviour. As this variable is increased, the algorithm approaches pure SCAN. Setting rev_penalty to 0 forces SCAN.
​SIMPLE:- Does not do any kind of sorting, as it is aimed foraleatory access devices, but it does some basic merging. We try to keep minimum overhead to achieve low latency.​BFQ:- BFQ is a proportional share disk scheduling algorithm based on the slice-by-slice service scheme of CFQ. But BFQ assigns budgets, measured in number of sectors, to tasks instead of time slices. The disk is not granted to the active task for a given time slice, but until it has exahusted its assigned budget. This change from the time to the service domain allows BFQ to distribute the disk bandwidth among tasks as desired, without any distortion due to ZBR, workload fluctuations or other factors. BFQ uses an ad hoc internal scheduler, called B-WF2Q+, to schedule tasks according to their budgets. Thanks to this accurate scheduler, BFQ can afford to assign high budgets to disk-bound non-seeky tasks (to boost the throughput), and yet guarantee low latencies to interactive and soft real-time applications.​
cips gokhle said:
Welcome to my RM kernel thread
About
THIS KERNEL IS BASED ON PECAN KERNEL .
RM KERNEL IS a very optimized kernel for 2.3 ROMS (in 2.2 you will face problem). i made this kernel to push performance as hard as it can.
Features & Changelog
Installation
Reboot intro recovery
Flash the latest kernel
Reboot
Enjoy
NOTE: THIS KERNEL IS ONLY FOR MY CM NIGHTLY AND PAX0R CM7.2 ROMS. DON'T FLASH ON VIVEK CM7.2,OMFGB,OMGB AND CM7.1 AND 2.2 ROMS. (FOR CM7.1,OMFGB,OMGB AND VIVEK CM7.2 I'M MAKING ANOTHER VERSION)
Downloads​​
V1000: http://www.mediafire.com/?aw3t3jrz99151zy
Click to expand...
Click to collapse
Goodjob bro
I will try
cooler1182 said:
Goodjob bro
I will try
Click to expand...
Click to collapse
i'm waiting for your review
I not absolutely well understand what changes installation of this kernel will make.
zizka said:
I not absolutely well understand what changes installation of this kernel will make.
Click to expand...
Click to collapse
this kernel will improve your touch screen and improve your phone performance
but about touch screen it's best work with my nightly
I made backup of data and established your kernel. Phone surprisingly quickly is loaded. Programs on a memory card need time that they could be used. Touch works also well as before. Changes didn't see. There can be I blind put on Nightly9
zizka said:
I made backup of data and established your kernel. Phone surprisingly quickly is loaded. Programs on a memory card need time that they could be used. Touch works also well as before. Changes didn't see. There can be I blind put on Nightly9
Click to expand...
Click to collapse
hmm in fb group 1 tested this and it's work for him any way in nightly 10 have update version of this kernel 2.6.32.59
now, I can mount the SD-ext with link2sd. In Fruit Ninja you feel the difference, is faster and more responsive than ever
I dont see changes. Multitouch have bug axis inversion and performance no changes for me. Thxs!
THIS KERNEL IS NOW OBSOLETE, DON'T USE IT.
newest and stable kernel releases are now integrated into my version of CYANOGENMOD 7.2
cn u just upload to some other site?? mediafire isnt working! m not able to download
ethan1234 said:
cn u just upload to some other site?? mediafire isnt working! m not able to download
Click to expand...
Click to collapse
SEE THIS
http://forum.xda-developers.com/showpost.php?p=25967572&postcount=12
Guys project restarted take test guys
this kernel is better than .35?
agen47 said:
this kernel is better than .35?
Click to expand...
Click to collapse
yes it's better it have new things that 1st time for p350
i tried both versions of this kernel and both worked well cant really tell the performance difference in vsync off, maybe in some heavy games a few more fps. atm im using vsync on on kang2 running at 806mhz no kernel panic yet
agen47 said:
i tried both versions of this kernel and both worked well cant really tell the performance difference in vsync off, maybe in some heavy games a few more fps. atm im using vsync on on kang2 running at 806mhz no kernel panic yet
Click to expand...
Click to collapse
you will be only feel diff in games on vsync off
here's the basic description about vsync:
vsync off = great for benchmarks but crap in real life.
vsync on = crap for benchmarks great in real life.
Say your screen refreshes at 60Hz - Vsync on will attempt to display 30fps to avoid tearing. 30 goes into 60 twice evenly... get it?
Vsync off will display as many fps as possible. So rather than holding back and displaying 30fps it will allow 35fps. This will cause tearing because 35 does not go into 60 evenly.
It's the same affect you get when playing video games on a PC.

-THE ULTIMATE =BATTERY LIFE + GAMING PERFORMANCE=[setup/guide/UNDERVOLTING-explained]

Hello everyone i know there are few threads about battery/gaming so i tought to make a thread with a review about battery life + gaming performance and add guides along with it.
Ok 1st i'd like to say i've pretty much flashed every single rom ,kernel, battery saving apps, performance boost apps, mods etc that are currently avilable so trust me i know what i'm writing here.
THREAD NAVIGATION:
Post 1 contains: Undervolting guide & everything related to undervolting CPU & GPU, EMC Overclocking, Rom setup guide, kernel setup (gaming / battery ), kernel settings list of updates
Post 2 contains: Rom & kernel battery life reviews + benchamrks , Performance may cry setup added (battery life settings)
Post 3 contains: Additional info about kernels / governors and what they do , schedulers and what they do & additional scrips.
FAQ Link for rookies and EVERY other question / guide about your HTC One X - Thx to Geko95 = HERE
Wakelocks guide for those with bad battery life - Thx to Goku80 = HERE
=========================================================================
First of all i'd like to give credits and massive thank to these guys who made all this possible:
- Hamdir - for all his guides and contribution for One X , he is one of the main reasons why we have smooth gaming !
- Xmister - kernels ( xm106 )
- Maxwen - the battery saving governor - Smartmax Governor
- Mwilky and his team for Renovate rom
- Patrics83 and his team for RomCleaner tool
- RichmondUK and his venom team for ViperX Rom
- n3ocort3x Kernels
- TripNdroid Kernels
---Excuse me if i've forgot someone.
----------------------------------------------------------------------------------------------------------------
Thread Updates:​
FInally cleaned the whole damn thread , still some left overs
PMC v8 interactive/battery setups added @ post 2. UPDATED 15.5.2013 ///bottom of the post 2
Added New SetCPU v2 profiles Read post 2 at the bottom UPDATED 15.5.2013 ///bottom of the post 2
Added AOSP/AOKP/CM SetCPU , profiles Read post 2 at the bottom UPDATED 2.4.2013 ///bottom of the post 2
Added NEW SetCPU , profiles Read post 2 for changelog ( everything fixed ) UPDATED 25.3.2013 ///bottom of the post 2
Added SetCPU GUIDE and my Save with SetCPU Profiles BALANCE Version this is only for those who have SMARTMAX & PMC GOVERNORS in their kernel UPDATED 25.3.2013 ///bottom of the post 2
Added EMC OC Guide, this is only for those who use XM kernel 235# and above UPDATED 12.3.2013 /// post 1
Added PMC v5 this is only for those who use XM kernel 226# and above (PMC is now the new governor at XM kernel read post 2 for more info ) UPDATED 10.3.2013 /// post 2
Added *Performance may cry setup v2* (battery life setup)- UPDATED 3.3.2013 /// post 2
Added info about schedulers and what they do - UPDATED 22.2.2013 /// post 3
Added info about governors and what they do - UPDATED 26.2.2013 /// post 3
Kernel updates:
XM kernel beta version(s) :
#304
Disable JRCU, according to maxwen it caused lockups.
#303 cpu clock changes reverted.
Switching governors will no longer update calibration control.
Touch-screen updates(S2W,DT2W) from maxwen.
Variant info added back.
#303
Included maxwen's double-tap to wake (needs sysfs enable), and inner CPU clock changes.
#302
Included maxwen's fixes for freq. locks and LP mode switch with OC.
#301
Default UV removed.
​Xm-Kernel STABLE version(s) :
#106
#106v2
#106v3
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
Kernel reviews @ Post 2​
========================================================================================[/CENTER]
- If you'd like to donate to any of these ppl please do so because they're the ones who made this possible, i'm just making it simple and hopefully preventing questions from everywhere about battery/kernels/roms , which is the best etc etc. And remember the kernel is most responsable for your battery life. So the point is you can use any rom of your choice with this kernel as long as you do things right. And follow what i wrote down there.
As for me i'd be happy just with simple *thanks* button if this was helpful to you in any way.
------------------------------------------------------------------------------------------------------------------------------------------------
ROM, Kernel, Undervolting, underclocking, overclocking settings:
ROM Settings:​
Roms should be cleaned with RomCleaner tool just i used my own scrip since i wanted to keep some apps and widget, after cleaning i had 114 system apps on my hox , Renovate rom comes with around 200 or so + the apps you'll install. (rom cleaner also improves the battery and rom speed a little) Other then that nothing else changed except i added tons of mods but thats up to you what you'll add. And the only setting you'll need to enable in Renovate rom is 2d rendering This improves alot scrolling times in apps especially the ones like *Advanced system care and Rom Toolbox lite*​
Kernel settings: ​
Battery settings​
the only thing you'll have to do manualy is switch the governor after flashing Xm kernel onto Smartmax And thats all you have to do to have great battery life, in my case i underclocked my CPU to 1200mhz with smartmax governor + RoW scheduler , if you want to keep it faster (but you don't really need any more speed with this governor) leave it as it is, or to make it even faster use Smartmax + deadline + sampling rate 30000 + touch poke freq 1500000 ] , you can make it even faster but trust me no need for that. Use this governor and it's settings as daily settings for light tasks and light usage of your phone.
Gaming settings:​​​
For this you should be using interactive / gaming governor + deadline scheduler and that's all you need to do of course if you do underclock your CPU make sure you reset it back to 1500 after you change the governor , no need for apps that boost your phone, if you wanna make things even faster and governor more aggressive change this value in governor settings : go max speed load 45 this will increase speed ( remember this will make battery drain even faster ) , and if you wanna push max performance that your hox can deliver at current time change min frequency 1500 as well remeber THIS will make your hox battery drain fast as hell ! And sd card read ahead speed should be 4096 if is not set like this by default you can use system tuner and change it. For tuning governors and freqs you could use SetCPU easier and faster to do so.
Games that i used for testing are: NFSMW, MC4 , Shadown gun deadzone, Wildblood.
Each of this games were incredibly smooth and playable like never before.
Undervolting​
Ok so as many of you heard undervolting should improve your battery life and it does by maybe 5% tops 10% if you're lucky.
But the main reason why i undervolt is so i keep my phone cooler when gaming you wont notice big difference in avarage daily use without gaming but with gaming you should notice the difference but again this mainly depends on your CPU variant, in my case i have variant 3 which means i can undervolt more then variant 2-1-0 , thats the only good thing about undervolting , of course i could overclock more then other variants but we don't need overclocking with this kernel and rom.
The difference and battery improvement you'll be able to see only this way really and none other this is how : without undervolting and lets say playing NFSMW my phone ON charger reaches around 55c TOPS ( which is overheating and you lose more battery then what your charger can recharge for you ) but with undervolting my phone is reaching TOPS 45C and avarage 40C ( this also depends on the room temperature and your hands body temperature ) The reason why i did tests on charger is because thats the fastest way to test overheating and undervolting and NO do NOT play heavy games while charging this is KILLING your battery and lowering it's life cycle ! it's like eating while sh1tting !!!
Now i can't tell you which values to use since like i said above none chip is the SAME nor the variant so you'll have to figure out this on your own but i can give you the ROUGH idea how-to.
Update - rough idea how to undervolt​ CPU​ properly:​
ok i'll mark frequencies with colors:​
Before we start remember this: Undervolting depends mostly on your ROM , Kernel , USAGE !​
RED = Don't undervolt too much
BLUE = Undervolt normally as you do
BLACK =Don't undervolt or undervolt just a little this will depend on your variant and rom mostly
1500+ , 1400,1300,1200,1100,1000 e.g 1500mhz freq. has 1237mV by default if you're a gamer you can undervolt this one to lets say -50-100 (up to the variant) if you're not a gamer you can go even up to -125/150 , now this can depend also on which freq do you use the most in gaming lets say , if you're using quad lock e.g 1500 , -75 should be enough, === freqs under 1500 can be undervolted more since they wont be used, but if you don't use quad locking then you need to balance the undervolting between -50-100 (this depends on the game and which freq it uses the most)
860 , 760, 640 are the freqs in the *middle* those can be undervolted even more , up to -150 (default UV should be around -100 here) since they are barly used but you can use cpySpy to check which freqs your device uses the most and then use that info to balance your undervolting and find right freqs.
475,340,204,102,51 are the freqs more like *screen on standby freqs, mostly 340/51* or the LP core freqs, these should be undervolted MAX -50/75or not at all these freqs are used also for e.g. listening to music while screen off , if you undervolt too much you can experience laggs etc.
Important: Variant 3 can undervolt more then this but it *shouldn't* really up to you to decide​
IMPORTANT: Those who use XM kernel USE TRICKSTER MOD APP ONLY !
First of all you can use guide what i made above for undervolting but since we have accurate undervolting now you SHOULD undervolt THIS way and this way only:
Variant 0 = you can use undervolting max up to -50 MAX ! or if you're doing step by step undervolting you might push some freqs -75
Variant 1/2: You can undervolt MAX up to -75 or at some steps -100 tops.
Variant 3: you can undervolt MAX -100/125 and on some freqs MAYBE -150 , but of course you need to do step by step.
Remember: this are the SAFE undervolting values for all 4 variants You can try undervolting more if you like but i wouldn't recommend it since i'm sure it will most likely cause issues for you.
Remember: The UV values i've used above are supposed to be *DEFAULT* uv you should use , but users with variant 0 MIGHT suffer and have to use lower values
Note: I guess 90% of ppl are lazy to mess with per freq undervolting and finding what works for them and what not since consumes alot of time, anyway you guys should be good with -50-75 variants 0, 1 ,2 , as for variant 3 you should be able to go up to -100-125 on all freqs.[/SIZE]
GPU - Undervolting - Safe values​
[*]Ok so for GPU undervolting you need to be on XM #153 kernel and above and follow this steps:
Use some root explorer to enable GPU undervolting and navigate here:
sys/devices/system/cpu/cpu0/cpufreq/gpu_voltage
Click to expand...
Click to collapse
, open it , the default value is
0 to enable GPU undervolting type 1
Click to expand...
Click to collapse
and SAVE make sure to enable *system as writable*
After you do that you need to download this app from playstore *Trickster MOD* This is the ONLY app whit which GPU undervolting works for now. After that install app and you'll see GPU freqs like this: For e.g. *520000, 484000* etc those are the GPU freqs and their voltage.
The safe values:
Variant 0 = -25MV on all freqs.
Variant 1/2 = -25/50 on all freqs.
Variant 3 = -50-100 on all freqs.
The 1st freq i wrote is 100% safe, the second is ASSUMED to be safe as well, but you wont know unless you try it :cyclops:​
How to test are these values safe and wont freeze/reboot your phone.​
Probably many of you know when you undervolt too much your phone eventually feezes and reboots this happens because phone can't give enough of voltage to the certain frequency that is in that time used mostly so it has no other way out but to freeze and reboot. and the way to test this is it *safe* is either to use *antutu bechmark app* , *epic citadel* or *stability test* Those 3 tend to push max performance very fast and easy out of your phone so if any app gonna show you is it safe it's these , tho sometimes but rarely your phone will run them both without reboots so i suggest you do each of them 2x just to be sure, and even if then sometimes very very rarely if your phone doesn't reboot the last way you could've find out is it gonna reboot is by playing NFSMW for 10mins.
----------------------------------------------------------------------------------------------------------------------------------​
GPU Overclocking & underclocking - Safe freqs​
For this to work use some root explorer and navigate here: sys/devices/system/cpu/cpu0/cpufreq/gpu_oc , open it there you'll see default GPU freqs like this: 520 520 520 520 484 400 304 267 247 those are the DEFAULT freqs on XM kernel and make sure to enable *system as writable* before you start doing anything. Those freqs are great balance for GAMING and BATTERY but if you're an ADVANCED USER you might wanna make those freqs EVEN HIGHER for better performance (not needed imo ) or LOWER for better battery life
- Maximum performance freqs that works for everyone: 560 560 560 560 560 484 400 304 247
- Freqs for battery life while keeping some poor performance (gaming speaking): 304 304 304 304 304 304 304 304 247
- Default freqs ( battery & gaming ): 520 520 520 520 484 400 304 267 247
Thx to Neo for this freqs. ​
-----------------------------------------------------------------------------------------------------------------------------------------​
All kernel settings: S2W Configs: , DoubleTap2Wake Configs: , Activate fast charge: , Enable smartdimmer: , To get your variant: , 3D Tuning: , 2D Tuning: , EMC Tuning ( ram ): , Auto-BLN Control: , Backlight button brightness: , GPU Voltage control: , LP OC: , Audio Min. Freq.:​
Thx to Xmister for this.
S2W Configs:​
Turn off:
Code:
echo "0" > /sys/android_touch/sweep2wake
Click to expand...
Click to collapse
Or you can download "Sweep2Wake-Widget" from Google Play.
Button panel locks to s2w after this distance:
Code:
/sys/android_touch/s2w_register_threshold
Click to expand...
Click to collapse
Screen turns on/off after this distance:
Code:
/sys/android_touch/s2w_min_distance
Click to expand...
Click to collapse
Direction independent(1 - Yes, 0 - No):
Code:
/sys/android_touch/s2w_allow_stroke
Click to expand...
Click to collapse
DoubleTap2Wake Configs:​
Turn on:
Code:
echo "1" > /sys/android_touch/s2w_allow_double_tap
Click to expand...
Click to collapse
Activate fast charge:​Code:
echo '1' > /sys/devices/platform/htc_battery/fast_charge
Click to expand...
Click to collapse
Enable smartdimmer:​Code:
echo "1" > /sys/devices/tegradc.0/smartdimmer/enable
Click to expand...
Click to collapse
To get your variant:​Code:
cat /sys/kernel/debug/t3_variant
Click to expand...
Click to collapse
(Or see it in a root explorer)
cpu_process_id is your variant.
3D Tuning:​If you want to change clocks, you have to write the whole clock table again, from up to down. In case you want to reset to default, this is it:
Code:
echo '520 520 520 520 492 484 380 247' > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
Click to expand...
Click to collapse
If you want to set them at boot, use an init script. Here is one. Just copy to /system/etc/init.d and set the permissions to executable by everyone with a root explorer. (Thx to Byrana)
Here is a flashable script that will work on newer kernels too for everyone. It also enables fast_charge. (Thx again Byrana)
2D Tuning:​If you want to change clocks, you have to write the whole clock table again, from up to down. In case you want to reset to default, this is it:
Code:
echo '520 520 520 520 492 484 380 247' > /sys/devices/system/cpu/cpu0/cpufreq/two_d_oc
Click to expand...
Click to collapse
You should NOT OC this higher than 3D.
EMC Tuning:​If you want to change clocks, you have to write the whole clock table again, from up to down. In case you want to reset to default, this is it:
Code:
echo '667 667 667 667 408 408 408 408' > /sys/devices/system/cpu/cpu0/cpufreq/emc_oc
Click to expand...
Click to collapse
If you want to OC let's say to 800MHz:
Code:
echo '800 800 800 800 667 667 408 408' > /sys/devices/system/cpu/cpu0/cpufreq/emc_oc
Click to expand...
Click to collapse
Auto-BLN Control:​​Interface:
/sys/class/leds/button-backlight/auto_bln
Click to expand...
Click to collapse
Values:
0: BLN OFF/Green led ON
1: BLN ON/Green led ON
2: BLN ON/Green led OFF
Example:
Turn off Auto-BLN:
Code:
echo '0' > /sys/class/leds/button-backlight/auto_bln
Click to expand...
Click to collapse
The changes will apply from the next notification.
Backlight button brightness:​Interface:
/sys/class/leds/button-backlight/button_brightness
Click to expand...
Click to collapse
Values:
0-255: 0 is off, 255 is the maximum possible.
Example:
Code:
echo '50' > /sys/class/leds/button-backlight/button_brightness
Click to expand...
Click to collapse
The changes will apply from the next backlight turn on.
GPU Voltage control:​If you want to enable this you should write '1' to /sys/devices/system/cpu/cpu0/cpufreq/gpu_voltage.
In command line that is:
Code:
echo '1' > /sys/devices/system/cpu/cpu0/cpufreq/gpu_voltage
Click to expand...
Click to collapse
After that you need to restart your voltage control app (Trickster Mod).
Now you will see the GPU frequencies multipled by 1000 to separate them from the CPU frequencies. So you will see 520000MHz, etc.
Be advised that there are a really few HOX's that can handle more UV on Core, than the preset 50.
Also incrasing your Core voltage over 1300mV is NOT ADVISED AT ALL. Almost everything uses this voltage on your motherboard.
If you want to enable the values at boot, you need an init script that enables it, so later Trickster mod or anything can set them.
LP OC:​Interface:
/sys/module/cpu_tegra/parameters/enable_lp_oc
Click to expand...
Click to collapse
Values:
0: LP OC OFF
1: LP OC to 620MHz
Example:
Turn on LP OC:
Code:
echo '1' > /sys/module/cpu_tegra/parameters/enable_lp_oc
Click to expand...
Click to collapse
Audio Min. Freq.:​Interface:
/sys/module/snd_soc_tlv320aic3008/parameters/audio_min_freq
Click to expand...
Click to collapse
Example:
Change audio min. freq. to 204MHz:
Code:
echo 204000 > /sys/module/snd_soc_tlv320aic3008/parameters/audio_min_freq
Click to expand...
Click to collapse
Save settings:
If you want any of the above settings saved, you can use Ibas21 recovery package
Click to expand...
Click to collapse
=======================================================================​
Remember you wont probably get same screen on time as i did , you could get even more then i did or less, it ALL DEPENDS on your USAGE/Screen brightness!
That should be all enjoy.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​The screenshots and my usage are in post 2, hope this helps , if not sorry for wasting your time if you read this , cheers and good luck to everyone
If you have any question please feel free to post them and i'll give my best to answer them.
Also as the kernel updates and rom updates go i'll try to update in here as well.
----------------------------------------------------------------------------------------------------------------------------​
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
And lastly i will not be held responsible for anything that may or may not happen to your device ! All you do you do at your own risk.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
And of course please hit *thanks* button if this was helpful​ :highfive::good:
==================================================================================​
Bechmarks - updated.
------------
------------
Viper X Rom 3.3.7 XM Kernel 139#[Beta]
Usage:
Somewhere between normal and heavy , battery life was great, not so much on the wifi this time, and all in all great kernel with one tiny bug, if you use autobrightness you'll see flickering , tho this got fixed in 147#. And i plugged the phone right before screen shots for maybe a minut to put pics on the pc and in the meantime i made those screenshots, you can see that in the usage. Brightness varied between low (15%) and maximum. The most used brightness used was 35%.
-----------------------------------------
-----------------------------------------
Black Pearl unofficial beta Rom 4.0.4 - XM Kernel 188#[Beta]
Usage:
- 1st of all , extreme undervolting and underclocking was done for this test.
- The rom and kernel were also flashed for the very 1st time.
--------
--------
================================================================================================
1st how PMC works:​
Well simply i made it use as *ideal_freq* 340mhz , minimum freq is 51mhz , the freq you'll be using alot would be 340/475 , that is your main freq on PMC for boost to avoid huge laggs, another thing is it will try and use most of the time only 1 core unless that core is at 90% cpu load , and min cpu load is 50 to make sure you don't get frequent wakes of 2nd/3/4th cores.​
Interactive PMC Version:
This version is 90% similar to PMC Battery setup except this version is much faster since it acts like INTERACTIVE Governor.
@ Those who don't have PMC Governor in their kernel until / if their kernel dev includes it use *Smartmax governor* for tunning and using my setup
Important ! : While setting your CPU/GPU values don't enable *Set on boot* unless the values are 100% safe for you and by ALL MEANS DO NOT USE MY CPU/GPU VALUES even if you're VARIANT 3 i wouldn't advise it , if you DO USE my values you will 99.9% end up in freeze or reboot !
GPU UV For max battery
2d GPU Underclocking: 304 304 304 304 267 267 267 200
3d GPU Underclocking: 247 247 247 247 247 200 200 200
As for GPU uV i'd suggest -50mv if you're not variant 3. Try first -25 then -50.
NOTE:
Don't even think about gaming with this setup , you'll notice laggs mainly at loading apps and speed of loading apps and mainly speed reduction overall in system , but not so much , the main slowdown is with loading apps and when multitasking you'll see some laggs as well, or for e.g. when playing music and then using volume up/down , that will lagg as well, if you wanna keep it *smoother* you can set *Ideal freq to 475000*
Performance may cry - setup v8a( XM Kernel 302# + ONLY or Kernels with latest Maxwens updates)​
A This settings of PMC Governor should / will deliver you the performance 90% identical to Interactive governor with much much less battery drain ! , this settings can be / should be used for those who MULTITASK alot , this settings/governor should give you 95% lag free experience whatever you do except gaming ! [/I][/B]
PMC v8 INTERACTIVE SETUP for EVERYONE ( Xm kernel users don't need this since PMC governor is in the kernel by default with these values ):​
awake_ideal_freq 475
boost_duration 0
boost_freq 760000
debug_mask 0
down_rate 60000
ignore_nice 1
input_boost_duration 90000
io_is_busy 1
max_cpu_load 75
min_cpu_load 40
ramp_down_step 200000
ramp_up_during_boost 1
ramp_up_step 300000
sampling_rate 20000
suspend_ideal_freq 340
Touch_poke_freq 620000 ( 640 if your kernel kept the old freq table )
up_rate 20000
Cpu freqs:
Min CPu freq : 51
[*]Max Cpu freq: 1100
[*]Scheduler: RoW
Multicore power saving : 2
GPU max frequency : 416
Undervolting: At your choice and how much your variant can support:
Suggested SAFE values for all 3 variants NO GAMING for gaming use +25 more then my values under, example : if variant 1 is -100 NON GAMING , for gaming use -75.
This goes for both INTERACTIVE and BATTERY PMC setups.​
variant 0 : -75
[*]variant 1/2: - 100 ( use -75 if you experience reboot )
[*]variant 3: - 150 / -175 in my case.
PMC BATTERY SETUP v8 For everyone with TUNNABLE Smartmax/PMC governors:​
awake_ideal_freq 204000
boost_duration 0
boost_freq 760000
debug_mask 0
down_rate 60000
ignore_nice 1
input_boost_duration 90000
io_is_busy 1
max_cpu_load 90
min_cpu_load 50
ramp_down_step 200000
ramp_up_during_boost 1
ramp_up_step 300000
sampling_rate 40000
suspend_ideal_freq 204000
Touch_poke_freq 620000 ( 640 if your kernel kept the old freq table )
up_rate 20000
Cpu freqs:
Min CPu freq : 51
[*]Max Cpu freq: 1000
[*]Scheduler: SiO
Multicore power saving : 2
GPU max frequency : 416
Undervolting SAME AS on interactive ( look above )
And heres what users reported with PMC V7 performance setup =)
fade2blak said:
XM 188v2 with your PMC v7 performance version gave me the best results ever. period. thank you :highfive:
Click to expand...
Click to collapse
Insecret said:
now v241 on Viper 3.4.0 with row and pmc gov, UC at 1200 and the rest like Shan89 sayed in previus page ... Unthinkable how much improves in performance and batt life <3 Xmister and Shan89
Click to expand...
Click to collapse
bienjie said:
U r superb dude! U are gifted! Damn u r sooo good in this....(^~^)/
Sent from my HTC One X using Tapatalk 2
Click to expand...
Click to collapse
kkarnaout said:
im using the the new kernel with viperx 3.4.0 and all pmc settings, phone is amazing FB app is working i didnt see any problem till now this is the best kernel i tried till now from all the passed weak!
All thanks go to Xmister and Shan89
Click to expand...
Click to collapse
-------------------------
---------------------------
===============================================================================================
How to use FULL PMC setup.
Simple:
1st: thing to do enable 2d GPU rendering in developers options.
2nd: lower your CPU max freq to 1000mhz ! Yes 1000 mhz ( you wont feel much of a difference in terms of fluidity except when loading apps )
3rd: Use RoW or Sio scheduler ( for more info about these schedulers look at my signature guide theres explanation of every scheduler we use )
4th: Undervolt your CPU - here are the SAFE FREQS for these variants v0 - 50 , v1/2 , -75 , v3 - 100/125 (this are safe you could do more on some freqs)
5th: This is for those who don't play GAMES Underclock the GPU freqs here are the freqs you should use:
2d UC = 304 304 304 304 267 267 200 200
3d UC = 267 267 267 267 200 200 200 200
6th: Those who game you SHOULDN"T play with GPU UC only CPU UC.
Important: Make sure you use Trickster MoD app from playstore when using XM kernel for tuning and another vital thing to do is set in trickster app Multicore Power saving to 2 This will try to use as long as it can 1/2 cores unless desperate need for 4 cores.
A tip how to speed up loading times of the apps:
Since we have boost at 500 mhz if you open some app , lets say for example *Trickster MoD* after clicking on it you can hold your finger on the screen and move it in any direction , that way your CPU wont be locked onto 51 MHZ freq it will be on either 620 / 640 mhz ( boost freq ) or at MAX freq you set for CPU ( 700 if you use full PMC setup )
Final words:
PMC will try to force your phone spend 90% of the time in LP (low power) cores which barely use any power , if you do use PMC full setup the only real battery drain you'll have is your SCREEN and when in desperate need for some boost it will use your highest CPU freq you set.
Note:
Don't complain about bad speed etc etc etc , this governor is made only and only for BATTERY LIFE with basic usage.
And of course if this governor is *too laggy/slow* you can always use original *Smartmax governor*
NEW - SetCPU profiles setup balance v2 = SENSE =:​
SENSE SetCPU profiles v2
This profiles fixed every little issue that exited in 1st release , just make sure to re-read the guide , some things has changed.
Anyway to make some kind of *changelog* if i can even call it like that this is what has got fixed / added:
Gaming works perfect now
Added profile for 2d games
Added profile for safety ( over heating to prevent it 2 steps )
Added more apps into profiles
Changed freqs on some things for better performance/battery life
Some other stuff i can't remember right now lol
Click to expand...
Click to collapse
Q) What does this do ?
A) Makes your phone smarter , boosts it when needed and downscales CPU freqs when not needed , It changes Governor / scheduler / CPU Freqs / .
Improves Loading times alot vs old PMC setups. The default loading times speed varies between 1100 mhz and 1300 mhz now.
Example:
Sense launcher: is set to use 640 MAX Cpu freq with smartmax governor + SiO scheduler.
Messaging: email / sms / gmail / etc = It will switch governor to PMC v7 ( Interactive version ) Boost max CPU freq to 840 and use Deadline scheduler so it makes sure it's liquid smooth and rotation works perfect.
Gaming: When you hit some , in my case NFSMW , MC4 , RR3 it will change to interactive governor + Row Scheduler and use MAX Cpu FREQ 1300mhz.
HOW TO SETUP ( Important ! )​
1st: download SetCPU ( google it if you can't buy it you should be able to find it for free)
2nd Set max CPU Freq to 1300 and min freq to 51
3rd: Go to trickster and do the following:
Trickster settings:
PMC Governor = Leave as it IS
Scheduler = SiO
Multicore power saving = 0
Gpu Max freq = 520
Smartmax Governor settings = Change the settings to PMC V7 BATTERY Settings ( This is important thing to do if you want the profiles to work )
Undervolting - UPDATED:
Variant 1/2 = freqs 51/1250 undervolt - 100 ( if is unstable for you use -75 ) Freqs 1300-1500 Undervolt - 50 ( if is unstable use -25 )
Variant 0 should use 25mv more compared to v1/2 and variant 3 can do additional -50 on freqs 51/1250 and 1300/1500 freqs -25 compared to variants 1/2.
And last thing to do is *Set on boot / enable* - Do this only if UNDERVOLTING doesn't cause any reboots for you , it shouldn't anyway.
4th: copy my SetCPU Profiles to your SDcard and open SetCPU App , load the profiles and Apply them , make sure to tick * Enable Profiles * Also on the *MAIN* settings for CPU / Governor / Scheduler tick *Set on boot* and finally @ *Governor* also tick *Set on boot & Set With profiles*
5th: Download greenify app from playstore:
Set greenify app at your likings but make sure you don't put Trickster and SetCPU Apps in there.
6th: Downlaod LagFix (Fxstreem) App from playstore as well. Use this app once a day or whenever you like it.
Note: This will work ONLY With XM kernel unless another kernel dev includes PMC Governor in their kernel.
Tips:
[*]New - for MAX Speed when not using apps listed in profiles set in trickster & SetCPU Max Freq 1300 ( For absolute max performance 1500 ) min 51 INTERACTIVE governor and DEADLINE Scheduler. What will this do: Well simply it'll use max freq 1300 / 1500 depends on your choice whenever you're using something that is not listed in the profiles E.G. when you hit *Settings* it'll use interactive + deadline , same goes for other things that are not listed in the profiles.
[*]If you do full reboot make sure to open SetCPU app so profiles start working after the reboot.
[*]For 2d games *temple run* Etc just add them into *2d gaming profile*
[*]Tip for heavy 3d games sucha are Mc4 NFSMW , RR3 etc etc , i've set on 1300 max CPU freq so we avoid heat etc , note that those games are on MAX DETAILS for me and i don't have laggs so you guys who use those games without those details you should be fine in fact you can change max freq from the profile onto 1200 if you like. If you play some other 3d heavy games just add them in *Gaming* profile.
[*]A Tip for gaming with low details: Change the max freq from my profiles to 1100/1000 , i played NFSMW on max details with some FPS Drops on 1000mhz freq.
[*]@Those who use more social apps then facebook , simply add those apps in my profile where is facebook. If you use another messaging apps simply add them to my messages profile. Do the same to the other apps that you use which are similar to the apps in my profiles.
Click to expand...
Click to collapse
@Those who don't game at all and want maximum battery life they can get , also this would be useful for those who game as well , just apply those 2 things after you done with gaming:​
Go to trickster app and do the following:
Max Gpu speed = 416
Multicore power saving = 2
If you want even more battery life visit my signature theres everything else you need to know on the post 2.
IMPORTANT: I've set on every profile *Notification* just so you guys can see it does it work , for those who want to remove it simply do this:
SetCpu > Profiles > click on the profile > Next > Untick *Show a notification* and that's it , do the same for other profiles.
Click to expand...
Click to collapse
If by any chance you don't see notifications after first time applying my profiles make sure you enable *Set on boot * where ever i wrote above and reboot your phone. That should fix it.
If anyone experience any issues ETC please lemme know.
AOSP/AOKP/CM SetCPU profiles + PMC v7 Setup - NEEDS UPDATE DON"T USE THEM - Will add them in few days when i switch to AOSP.:​
DOWNLOAD THE AOSP PROFILES HERE​
Download these tools 1st:
SetCPU app
Trickster app
Greenify app
Trickster settings:
Choose smartmax governor and apply these values in governor control:
Boost_freq: 620
Ideal_freq: 340
max_cpu_load: 90
min_cpu_load: 50
touch_poke_freq 620
Click to expand...
Click to collapse
Apply the values
Scheduler:
Deadline
Click to expand...
Click to collapse
Cpu settings:
Max freq 1000
Min freq 51
Click to expand...
Click to collapse
After that change to PMC Governor and apply.
Next thing to do swipe to specific settings
Smartdimmer: ON
Multicore power saving 2
GPU Max freq: 416
Undervolt how much you can.
Click to expand...
Click to collapse
APPLY all these and SET ON BOOT
Next thing to do open SET-CPU app make sure it's showing same CPU freqs as on trickster and same governor and scheduler.
Set on boot
Go to PROFILES and load my AOSP profiles after that tick Enable profiles
Important:
This profiles will work ONLY on AOSP rom and ONLY on XMkernel since other kernels don't have PMC interactive governor.
After applying the proffiles go to LAUNCHER and if you don't USE NOVA remove NOVA from that profile and ADD your launcher that you use.
TIPS / IMPORTANT:
[*]After you apply the PROFILES and you don't use INVERTED BLACK FACEBOOK APP delete that from profile and add the facebook app you use.
Click to expand...
Click to collapse
As for your own apps just go to profiles and add those apps into profile you like.
Click to expand...
Click to collapse
Lastly Thx to Xmister for the great kernel and his devhost link for uploading the profiles.
Heres the screenshoots from ICJ 2.8.1 with PMC v7 battery/interactive SetCPU Profiles:
----------
--------
-------
==================================================================================================
Note:
You shouldn't really relay and trust benchmarks at least not in antutu and quadrant , the most reliable and most accurate benchmark we have is Epic citadel , almost every single time same results. and 52.6 is quiet high result for sense rom. Btw for those who care s3 scores average 44-45fps on epic and note 2 scores average 46-47fprs.
]]=====>>> Wakelocks guide thx to Goku80 <=====[[
This is for those who have bad battery life !
http://forum.xda-developers.com/showthread.php?p=38629490#post38629490
Guys who follow this guide and use it , Please leave us the feedback about your battery life and rom you used. It's gonna be easier for us to locate the best battery life RoM, Thx in advance ! Also rating the thread would be nice
And those who USE this guide but apparently *doesn't help them* please post a replay with what you did and what happened, your battery/undervolting , whatever that came out from this guide, theres a chance you didn't do something RIGHT so we can try and help out. THX !
ADDITIONAL INFO - UPDATE:
I tought it would be nice to add some info about schedulers , and governors so ppl better understand what they are and what they do
Update: added governor info.
Update: added info about MpDecision and Cpu Quiet per request..
---------------------------------------------------------------------------------------------------
Governors:
- OnDemand Governor:
This governor has a hair trigger for boosting clockspeed to the maximum speed set by the user. If the CPU load placed by the user abates, the OnDemand governor will slowly step back down through the kernel's frequency steppings until it settles at the lowest possible frequency, or the user executes another task to demand a ramp.
OnDemand has excellent interface fluidity because of its high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand is commonly chosen by smartphone manufacturers because it is well-tested, reliable, and virtually guarantees the smoothest possible performance for the phone. This is so because users are vastly more likely to ***** about performance than they are the few hours of extra battery life another governor could have granted them.
This final fact is important to know before you read about the Interactive governor: OnDemand scales its clockspeed in a work queue context. In other words, once the task that triggered the clockspeed ramp is finished, OnDemand will attempt to move the clockspeed back to minimum. If the user executes another task that triggers OnDemand's ramp, the clockspeed will bounce from minimum to maximum. This can happen especially frequently if the user is multi-tasking. This, too, has negative implications for battery life.
- Performance Governor:
This locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task, such as syncing email, and returns the CPU to the extremely efficient low-power state. This still requires extensive testing, and a kernel that properly implements a given CPU's C-states (low power states).
- Interactive Governor:
Much like the OnDemand governor, the Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. This is where the similarities end. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.
Unlike OnDemand, which you'll recall scales clockspeed in the context of a work queue, Interactive scales the clockspeed over the course of a timer set arbitrarily by the kernel developer. In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. This can eliminate the frequency bouncing discussed in the OnDemand section. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. This is another pro-battery life benefit of Interactive.
However, because Interactive is permitted to spend more time at maximum frequency than OnDemand (for device performance reasons), the battery-saving benefits discussed above are effectively negated. Long story short, Interactive offers better performance than OnDemand (some say the best performance of any governor) and negligibly different battery life.
Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.
- Suggestion : Use this governor (Interactive) for GAMING , it's the best when using Xm kernel for this purposes +deadline or Row scheduler.
- Smartmax
Long story short if you want crazy battery life USE this governor with either noop/sio/row governor, depending on what you want , read about schedulers under and chose what fits your needs.
- PMC ( Performance may cry )
ok so i made this governor based on Smartmax except it's heavily tweeked for better and maximum battery life you can get out of HOX.
- TouchDemand:
This governor pretty much do what the name says, boosts cpu freqs by touches, this one actually can be pretty great for battery life if you underclock the CPU imho and use max 2 cores, you can do that by doing this: edit touch_min_cores under governor tuneables and set 2
Anyway i still prefer *SmartMax* for battery life. But up to you to test and find out.
As for other governors like : Conservative and powersave , i wont be adding info about them since i doubt anyone ever uses them , all they do is take more space in the list
-----------------------------------------------------------------------------------------------------------------------------------------------------
Schedulers:
- Noop:
This scheduler assumes I/O performance optimization will be handled at some other layer of the I/O hierarchy , on the more simple way this scheduler is MOSTLY used for battery life since it's slow - it raises freqs slower then other schedulers.
- Deadline::
This scheduler attempt to guarantee a start service time for a request It does that by imposing a deadline on all I/O operations to prevent starvation of requests. It also maintains two deadline queues, in addition to the sorted queues (both read and write). Deadline queues are basically sorted by their deadline (the expiration time), while the sorted queues are sorted by the sector number. To make it more simple this scheduler raises freqs much faster then noop and keeps them longer active then noop which means more battery drain ( not by much anyway ) and faster I/O as well the gaming should be the best with this scheduler.
- SIO:: - ( my favorite )
This scheduler in simple words is basically this : It's a mix of noop and deadline schedulers , noop is more for battery while deadline is more for performance , and sio is perfect balance between them ^.^ to be more specific it's more like almost having noop+deadline activated at the same time.
- ROW::
ROW: stands for "READ Over WRITE* The ROW scheduler is in favor for user experience upon everything else (means it should make things stupidly smooth ),so that why ROW scheduler gives READ IO requests as much priority as possible. Usually it¡¯s a single thread or at most 2 simultaneous working threads for read & write. Favoring READ requests over WRITEs decreases the READ latency greatly. == Even more speed.
The main idea of the ROW scheduler is // == If there are READ requests in pipe - it WILL dispatch them but don't starve the WRITE requests too much.
Also this scheduler is much better optimised for our phones since in the smart phones we use flash memory and not hard drives.
Finally : Think of this scheduler as a mix OF deadline+ Performance governor put in scheduler while you can use another governor e.g. Smartmax. It's quiet fast scheduler and even good for daily usage without much of impact on the battery life.
Hope this prevents the question about schedulers / governors and which one to use
And a tip: Sio scheduler should be PERFECT with smartmax governor for battery life + speed , in fact it's the best scheduler if you guys want speedy performance while saving the battery life.
-------------------------------------------------------------------------------------------------------------------
MPdecision:
MORE INFO >
For us mpdecision is a cpu hotplug system, which replaced the default nvidia hotplug system. It was written by showp1984(Dennis Rassmann).
It's more configurable, better for battery life, and much much better for gaming.
Cpu quiet:
- Cpu quiet driver regulates the cores by them acting more syncronized. they scale up n down in a more uniform fashion. therefore it gets better battery life without losing performance. You can't manage each core like with morrifics. so the cpu quiet driver is doing all the regulating. So the cpu quiet driver basically replaced hotplugging as far as cpu core management goes.
- In simple words it should give better battery life.
Good thread mate!
I know people have been looking for a guide for ages.
Goku was gonna do one in fact, guess you beat him and me to it.
geko95gek said:
Good thread mate!
I know people have been looking for a guide for ages.
Goku was gonna do one in fact, guess you beat him and me to it.
Click to expand...
Click to collapse
Lol thx, i was actually waiting for you or him to make one, i guess i got tired of waiting and besides that i saw tons of questions in past few days about *which kernel , rom* are the best so i guess they have their answer now.
Oh and if you have anything to add that i might forgot or anyone else please feel free to do so.
Edit - I'll probably add new screenshots when i manage to waste this 9% i got left, this battery refuses to die, i feel like i have note in my hands lol.
Shan89 said:
Lol thx, i was actually waiting for you or him to make one, i guess i got tired of waiting and besides that i saw tons of questions in past few days about *which kernel , rom* are the best so i guess they have their answer now.
Oh and if you have anything to add that i might forgot or anyone else please feel free to do so.
Click to expand...
Click to collapse
I'll have a think, I've got a little battery guide of my own that I wanted to write.
I'll have to see if wilky will want to put it in the OP, if not then you can use it in this thread.
Also I'll talk to wilky and see if he wants to add a link to your thread when we next edit the OP.
geko95gek said:
I'll have a think, I've got a little battery guide of my own that I wanted to write.
I'll have to see if wilky will want to put it in the OP, if not then you can use it in this thread.
Also I'll talk to wilky and see if he wants to add a link to your thread when we next edit the OP.
Click to expand...
Click to collapse
Sure , i'd be honored :good:
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
What is maxwen governor? Where can i find it?
Sent from my HTC One X using xda app-developers app
jarein95 said:
What is maxwen governor? Where can i find it?
Sent from my HTC One X using xda app-developers app
Click to expand...
Click to collapse
Its called Smartmax and its included in NCX and XM kernels.
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
geko95gek said:
Its called Smartmax and its included in NCX and XM kernels.
Click to expand...
Click to collapse
xD jajajaa is what I am using since yesterday jajajaa but i didnt recognised it with the name of maxwen!! Jajajajaa
Sent from my HTC One X using xda app-developers app
jarein95 said:
xD jajajaa is what I am using since yesterday jajajaa but i didnt recognised it with the name of maxwen!! Jajajajaa
Sent from my HTC One X using xda app-developers app
Click to expand...
Click to collapse
Maxwen is the nick of the guy who wrote it.
jarein95 said:
xD jajajaa is what I am using since yesterday jajajaa but i didnt recognised it with the name of maxwen!! Jajajajaa
Sent from my HTC One X using xda app-developers app
Click to expand...
Click to collapse
Lol, anyway looks like i'll have to edit OP so ppl know the name of the governor
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
If you use the repacked xm I posted it's set to smartmax automatically
Sent from my HTC One X using xda premium
mwilky said:
If you use the repacked xm I posted it's set to smartmax automatically
Sent from my HTC One X using xda premium
Click to expand...
Click to collapse
Yeah i did use your repack cuz of original s2w Also cuz of Smartmax as default on boot. thx for that.
Btw OP updated with final battery results. Ppl i think we have the perfect match here about battery + gaming + speed. It's simply revolution of HoX. And all thx to everyone who developed for HoX sucha amazing stuff, and we must not forget things can get only BETTER for hox from now on not worse, so we might expect even better stats.
Just a small comment on smartmax
Setting boost_freq has actually not much of an effect
This is only used for the "external" boost interface of smartmax
This can be used e.g. from the android power module to boost
the cpu if required. But thats of course not implement in most roms
So only touch_poke_freq has an effect since this is use to boost
on input events from the touchscreen
maxwen said:
Just a small comment on smartmax
Setting boost_freq has actually not much of an effect
This is only used for the "external" boost interface of smartmax
This can be used e.g. from the android power module to boost
the cpu if required. But thats of course not implement in most roms
So only touch_poke_freq has an effect since this is use to boost
on input events from the touchscreen
Click to expand...
Click to collapse
Thx on the correct info.
Edit - Benchmarks updated.
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
Hi. What app did u use to change governers? Any preferred?
Sent from my HTC One X using XDA Premium HD app
gilbertvpuen said:
Hi. What app did u use to change governers? Any preferred?
Sent from my HTC One X using XDA Premium HD app
Click to expand...
Click to collapse
Hello , for changing the governors and schedulers undercloking , overclocking and changing the governor values i use SetCpu you can find it on apkmania site, as for undervolting and further more tweeking i'm using System tuner , you can find that one on the playstore. Btw it's in the Op
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
Shan89 said:
Hello , for changing the governors and schedulers undercloking , overclocking and changing the governor values i use SetCpu you can find it on apkmania site, as for undervolting and further more tweeking i'm using System tuner , you can find that one on the playstore. Btw it's in the Op
Click to expand...
Click to collapse
Hi shan,thanks. One last thing. I noticed you have changed your fonts, im also in renovate rom with xm106. I dont see any options for that. Can u guide me too a link? Cnt find it in themes/ add ons thread.
Sent from my HTC One X using XDA Premium HD app
Re: The ULTIMATE BATTERY LIFE+ GAMING PERFORMANCE setup/guide
Thnks shang, will try it in SkyDragon rom to see how it works, as Base 3.17 its better, hope to get better results,
Btw.. Kernel Devs makes our roms better.
Cheers
SkyDragon Team© No Kangy rom allowed.

[BATTERY GUIDE] Ultimate battery guide and talk topic

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Ultimate battery guide
Battery, one of the most important thing on todays phones. Even if we have awesome battery life we always want more and it is never enough.
This is the small guide to tips, trick and tweaks to improve battery life.
This topic is to share tips and tricks and basically just small talk about battery and sharing screenshots.
Use Gsam or Android battery history to show your battery life.​
Our goal is to make most of the screen on time with average use of 24 hours. So lets start.
Post 1: Tips
Post 2: ROMS, kernels, undervolting, underclocking
Tips to improve battery life
Location services
One of the first thing that your device will ask when you are setting up your phone. Most of the users let them ON and just forgot about them. Location services are battery hungry and the will drain your battery like you drinking juice.
Thing is that you do not need them always, just sometimes. Turn it OFF then. I have them turned off always and when I need it I just simple turn it ON.​
Wi-Fi
Wi-Fi scanning is thing that will drain your battery always. When you are out and you are not expecting to use wi-fi any time soon turn it off. You do not need to run scanning all the time.
You could also edit build.prop to reduce.
Edit wifi.supplicant_scan_interval. Default value is 180. You can set it higher to reduce the scanning intervals.​
Signal strength / Network mode
Signal strength is always trouble for battery. Weak signal will drain more battery. Also, constant changing between 4G/3G and 2G will drain battery faster.
Tweak to this is to set your phone to only use 2G, 3G or 4G.
Example: when I am not using my phone, or it is connected to wifi my network is on 2G. I dont need 3G or 4G then and changing network state is disabled then because it will stay always on 2G. I found it has positive effect on battery.
When I need, I just simple toggle 3G or 4G.​
Screen brightness
Screen is the thing that drains most of our battery. There is not much philosophy here. Higher brightness will drain more battery.
My personal setup is that I do not use auto brightness. I always change brightness manually. Right now during winter my brightness does not go more then 25% outside, and inside it is lower. At night it is under 10%.
I found that not using auto brightness has also slight positive effect on battery.​
Syncing / Airplane mode / Vibration / Animations / Task Killers
Lets start in order.
Syncing: more syncing your device does it drains more battery. On your phone probably you do not to sync all accounts and apps you have every few minutes or hours. Set those apps you do not need on manual sync.
Airplane mode: I am using airplane mode during night because I do not want to be disturbed during sleep. With airplane mode battery consumption during night is 0%. Yes, zero percent.
Vibration: more your device vibrates, more battery it drains. You can reduce vibrations on keyboard settings and similar. I found that is not much effect on battery but it has slight.
Animations: animations drains your battery also and who really needs them. Personally, I am annoyed with them and I always switch them to 0 or .5. You can do that in Settings-Developers options
Task Killers: task killers, clean maters and similar software is a big NO. You dont need it. It does more damage then good.​
Bloatware
Yes, bloatware. There is huge amount of bloatware on our phones and we really do not need it. So, what to do? Freeze that bloatware.
You can find list of apps HERE.​
ROMS and kernels
Custom ROMs and kernels will give you in most cases better battery life then stock firmware. Plus there is huge amount of options to play with. You can read more in posts bellow.​
Summary:
If you change some of those thing you will see the effect.
You can always use apps like Greenify or Tasker and play with their options.​
How to follow your battery life
GSam Battery Monitor
This one of the most useful apps to track your battery. On Lollipop (even on Kitkat) it will not give you much useful info without root.
If you are using it without root everytime you reboot the phone statistic would be reset also. If you have root it will give you access to wakelocks and some other stuff, plus stats would not get reseted.
Play store link​
Wakelock detector
Wakelocks, one of the painful things on phone. If you see your battery is draining faster in idle then you got problem with wakelocks. This is useful app because it shows wakelocks on very simple setup and you can discover which app is causing which wakelock.
Play Store link​
Disable service
If you are using Wakelock detector you need this app also. With this app you can freeze every single process that app can launch. It will provide detail look on all processes from apps. With this app I have reduced wakelocks to 1%.
Play Store link​
ROMS
Discussion about ROMs never looked nice. It always gets to what you personally like. Some ROMs will be easier on battery, some will be rough. You will never know before you try them.​
Kernels
Kernels are similar to ROMS but you can play with them. Currently there is not much kernels available but you can play even with stock one.
I recommend to use Trickster MOD Kernel Settings app to play with kernel settings.​
Undervoting
Undervolting is the thing when you control how much power each CPU frequency can have. Trickster MOD app gives really nice view on them. You can undervolt every frequency by itself or all in one.
My personal recommendation is to undervolt them at once. I always use -50 value. Found it stable.
Of course, you can always play with different values but remember: when you play with this do not click on option "Set on Boot" or you will end in bootloop if you click it. Click that option when you find out that values are safe for using and stable.​
Underclocking
Underclocking is changing your CPU frequency. Rough truth is that we dont need our CPU to run on 2,7 GHz in normal use. Only gamers will need that probably but since this is not thread were we are aiming gamers we dont need that high frequency.
Me personally, I use always 1,7 GHz or 1,9 GHz. To my daily usage (most common like everyone else but without games) this is more then enough. Everything is still smooth and runs fast.​
Governors
A CPU governor in Android controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors are especially important in smartphones and tablets because they have a large impact on the apparent fluidity of the interface and the battery life of the device over a charge.
You can find explanation hidden here.
Many users have wrote about governors and they are practically the same on most of the phones so I will copy list from droidphile.
On his topic you have more details about governors.
Link to original topic: http://forum.xda-developers.com/galaxy-s2/general/ref-kernel-governors-modules-o-t1369817
I) MANUAL:
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
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.
6) Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
7) Lulzactiveq:
Lulzactiveq is a modified lulzactive governor authored by XDA member robertobsc and is adapted in Siyah kernel for GS2 and GS3. Lulzactiveq aims to optimize the second version of luzactive from Tegrak by a) providing an extra parameter (dec_cpu_load) to make scaling down more sensible, and b) incorporating hotplug logic to the governor. Luzactiveq is the first ever interactive based governor with hotplugging logic inbuilt (atleast the first of its kind for the exynos platform). When CPU comes out of idle loop and it's time to make a scaling decision, if load >= inc_cpu_load CPU is scaled up (like original luzactiveq) and if load <dec_cpu_load, CPU is scaled down. This possibly eliminates the strict single cut-off frequency for luzactiveq to make CPU scaling decisions. Also, stand hotplug logic runs as a separate thread with the governor so that external hotplugging logic is not required to control hotplug in and out (turn On and Off) CPU cores in multi core devices like GS2 or GS3. Only a multi core aware governor makes real sense on muti-core devices. Lulzactiveq and pegasusq aims to do that.
8) Smartass:
Result of Erasmux rewriting the complete code of interactive governor. Main goal is to optimize battery life without comprising performance. Still, not as battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off. Smartass would jump up to highest frequency too often as well.
9) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
10) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
11) Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
12) Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
13) Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
14) LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
15) Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery.
16) SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
17) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
18) Powersave:
Locks max frequency to min frequency. Can not be used as a screen-on or even screen-off (if scaling min frequency is too low).
19) Performance:
Sets min frequency as max frequency. Use this while benchmarking!​
Schedulers
Everything has been said about them so I will use droidphile explanations.
Link to original topic: http://forum.xda-developers.com/galaxy-s2/general/ref-kernel-governors-modules-o-t1369817
Q. "What purposes does an i/o scheduler serve?"
A.
Minimize hard disk seek latency.
Prioritize I/O requests from processes.
Allocate disk bandwidth for running processes.
Guarantee that certain requests will be served before a deadline.
So in the simplest of simplest form: Kernel controls the disk access using I/O Scheduler.
Q. "What goals every I/O scheduler tries to balance?"
A.
Fairness (let every process have its share of the access to disk)
Performance (try to serve requests close to current disk head position first, because seeking there is fastest)
Real-time (guarantee that a request is serviced in a given time)
Q. "Description, advantages, disadvantages of each I/O Scheduler?"
A.
1) Noop
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2) Deadline
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3) CFQ
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.
4) BFQ
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires. BFQ assigns high budgets to non-read tasks. Budget assigned to a process varies over time as a function of it's behavior.
Advantages:
Believed to be very good for usb data transfer rate.
Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others)
Considered an accurate i/o scheduler.
Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages:
Not the best scheduler for benchmarking.
Higher budget assigned to a process can affect interactivity and increased latency.
5) SIO
Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Advantages:
Simple, so reliable.
Minimized starvation of requests.
Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.
6) V(R)
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
I/O Schedulers
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
7) Anticipatory
Based on two facts
i) Disk seeks are really slow.
ii) Write operations can happen whenever, but there is always some process waiting for read operation.
So anticipatory prioritize read operations over write. It anticipates synchronous read operations.
Advantages:
Read requests from processes are never starved.
As good as noop for read-performance on flash drives.
Disadvantages:
'Guess works' might not be always reliable.
Reduced write-performance on high performance disks.​

CPU & GPU Governors And I/O Schedulers performance Optimization

Thank to zhanjia & Andrux​
I Search about Governors And I/O Schedulers in Google & XDA
Iam sharing this information to our yu Team members .because the Governors And I/O Schedulers is the main part of the Kernels .
Governors And I/O Schedulers
1.Performance
2.Battery
3.Gaming
4.Laging
5.Multitasking ​
CPU Governors​
What is a CPU governor?​
A CPU governor in Android controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors are especially important in smartphones and tablets because they have a large impact on the apparent fluidity of the interface and the battery life of the device over a charge.
NOTE: You cannot change your CPU governor unless your phone is rooted and you have a ROM or app that lets you make a change. Also, different kernels (the intermediary software between your phone's hardware and the operating system) offer different sets of governors.
Available CPU governors:
OnDemand
Conservative
Interactive
Performance
Powersave
Scary
Userspace
Smartass
SmartassV2
Smoothass
Brazilianwax
SavagedZen
Lagfree
MinMax
Interactivex
OnDemand
OnDemand
Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point, OnDemand will rapidly scale the CPU up to meet the demand, then gradually scale the CPU down when it isn't needed.
Review
Brief says all. By a simple explantion, OnDemand scales up to the required frequency to undergo the action you are doing and rapidly scales down after use.
Conservative
It is similar to the OnDemand governor, but will scale the CPU up more gradually to better fit demand. Conservative governor provides a less responsive experience than OnDemand, but it does save batter
Review
Conservative is the opposite of Interactive; it will slowly ramp up the frequency, then quickly drops the frequency once the CPU is no longer under a certain usage.
Interactive
Available in latest kernels, it is the default scaling option in some stock kernels. Interactive governor is similar to the OnDemand governor with an even greater focus on responsiveness.
Review
Interactive is the opposite of Conservative; it quickly scales up to the maximum allowed frequency, then slowly drops the frequency once no longer in use.
Performance
Performance governer locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task. After that it returns the CPU to extremely efficient low-power state.
Review
Good at gaming, Really good. Disadvantages are it may damage your phone if too much usage.
Powersave
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.
Review
Set it to your desired minimum frequency and you won't have to look for your charger for once in a while.
Scary
A new governor wrote based on Conservative with some Smartass features, it scales accordingly to Conservative's way. It will start from the bottom. It spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as Conservative right now.
Review
Hmm.. Overall I don't see any difference. After I understand its main objective. I was very curious and decided to use it again. Results are the same.. No difference. Report to me if anyone has tested this.
Userspace
Userspace is not a governor pre-set, but instead allows for non-kernel daemons or apps with root permissions to control the frequency. Commonly seen as a redundant and not useful since SetCPU and NoFrills exist.
Review
Highly not recommended for use.
Smartass
It is based on the concept of the Interactive governor.
Smartass is a complete rewrite of the code of Interactive. Performance is on par with the “old” minmax and Smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Review
Smartass is rather the governer that will save your battery and make use of your processor for daily use. Like the brief explantion said " Smartass will spend much more time on lower frequencies." So logically you don't need for sleep profiles anymore.
SmartassV2
Theoretically a merge of the best properties of Interactive and OnDemand; automatically reduces the maximum CPU frequency when phone is idle or asleep, and attempts to balance performance with efficiency by focusing on an "ideal" frequency.
Review
This is a much favourite to everybody. I believe almost everyone here is using SmartassV2. Yes, it is better than Smartass because of its speed no scaling frequencies from min to max at a short period of time.
Smoothass
A much more aggressive version of Smartass that is very quick to ramp up and down, and keeps the idle/asleep maximum frequency even lower.
Review
In my personal experience, this is really useful for daily use. And yes, I'm using it all the time. It may decrease your battery life. I saw it OC itself to 1.4 gHz when I set it to 1.2. Good use. Recommended.
Brazilianwax
Similar to SmartassV2. More aggressive scaling, so more performance, but less battery.
Review
Based on SmartassV2. But its advantage is a much more performance wise governor.
SavagedZen
Another SmartassV2 based governor. Achieves good balance between performance & battery as compared to Brazilianwax.
Review
Not much difference compared to SmartassV2. But it is a optimized version of it.
Lagfree
Again, similar to Smartass but based on Conservative rather than Interactive, instantly jumps to a certain CPU frequency after the device wakes, then operates similar to Conservative. However, it has been noted as being very slow when down-scaling, taking up to a second to switch frequencies.
Review
Used it before. Like the name of the governor, I didn't experience any lag whatsoever. Another governor based on performance, but not battery efficient.
MinMax
MinMax is just a normal governor. No scaling intermediate frequency scaling is used.
Review
Well.. it's too normal that I can't really say anything about it..
Interactivex
InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to optimize the balance of battery vs performance. InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.
Review
A better understanding from the brief to you users, this is an Interactive governor with a wake profile. More battery friendly than Interactive.
GPU Governors
Ondemand
Much like the CPU governor, Ondemand will ramp up the frequency when a load is detected. A good balance between performance and battery savings.*
MSM-Adreno
The default GPU governor used by qualcomm for their adreno GPUs. It is more performance orientated than ondemand therefore it gives better performance in games but less battery life.*
Performance
As the name suggests, this keeps your GPU running at the max frequency. This is a governor if you want the best possible experience in games but you don't care about your battery life.*
Powersave
Like the CPU governor, this keeps your GPU running at the lowest possible frequency. Best battery life
I/O Schedulers
What is an I/O Scheduler:
*Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O operations will be submitted to storage volumes. I/O Scheduling is sometimes called 'disk scheduling'.
I/O schedulers can have many purposes depending on the goal of the I/O scheduler, some common goals
To minimise time wasted by hard disk seeks.
To prioritise a certain processes' I/O requests.
To give a share of the disk bandwidth to each running process.
To guarantee that certain requests will be issued before a particular deadline.​
Available*I/O schedulers
CFQ *
Deadline *
VR *
Noop*
Anticipatory
BFQ
FIOPS
SIO (Simple)
Row
ZEN
Sioplus
FIFO*
Tripndroid
Anticipatory:*
Two important things here are indicative of that event:*
- Looking on the flash drive is very slow from boot
- Write operations while at any time are processed, however, be read operations preferred, ie, this scheduler returns the read operations a higher priority than the write operations.*
Benefits:*
- Requests of read accesses are never treated secondarily, that has equally good reading performance on flash drives like noop.
Disadvantages:*
- Requests from process operations are not always available*
- Reduced write performance on high-performance hard drives*
- Not very common in most kernels
CFQ:*
The CFQ - Completely Fair Queuing - similar to the Dead Line maintains a scalable continuous Process-I/O, the available I / O bandwidth is *fairly and evenly shared to all I / O requests to distribute. It creates a statistics between blocks and processes. With these statistics it can "guess" when the next block is requested by what process, each process queue contains requests of synchronous processes, which in turn is dependent upon the priority of the original process. There the V2 version has some fixes, such as I / O request improvements, hunger fixes , and some small search backward integrated to improve responsiveness.This is the default IO scheduler for Samsung smartphones.*
Benefits:*
- Has a well balanced I / O performance
- Excellent on multiprocessor systems*
- Easiest to tune.
- Best performance of the database after the deadline*
- Is the default IO scheduler for most mobile phones today
- Good for multitasking*
Disadvantages:*
- *Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.*
- Jitter (worst case delay) can sometimes be very high because the number of competing with each other process tasks*
Deadline:*
This scheduler has the goal of reducing I / O wait time of a process of inquiry. This is done using the block numbers of the data on the drive. This also blocks an outlying block numbers are processed, each request receives a maximum delivery time. This is in addition to the Governor BFQ, it is very popular and is in many well known kernels.*
Benefits:*
- It is nearly a real-time scheduler.*
- Excels in reducing latency of any given single I/O*
- Best scheduler for database access and queries.*
- Does quite well in benchmarks, most likely the best
- Like noop, a good scheduler for solid state/flash drives
- Good for light and medium multitasking workloads
Disadvantages:*
- If the phone is overloaded, crashing or unexpected closure of processes can occur*
- Bad battery life if doing a lot of multitasking
ROW:
ROW stands for "READ Over WRITE"which is the main requests dispatch policy of this algorithm. The ROW IO scheduler was developed with the mobile devices needs in mind. In mobile devices we favor user experience upon everything else,thus we want to give READ IO requests as much priority as possible. In mobile devices we won't have as much parallel threads as on desktops. Usually it's a single thread or at most 2 simultaneous working threads for read & write. Favoring READ requests over WRITEs decreases the READ latency greatly.
The main idea of the ROW scheduling policy is: If there are READ requests in pipe - dispatch them but don't starve the WRITE requests too much. Bellow you'll find a small comparison of ROW to existing schedulers. The test that was run for these measurements is parallel read and write.
Benefits:
- Faster UI navigation and better overall phone experience
- Faster boot times and app launch times*
- Possibly better battery life
- Sometimes used by default for custom roms and custom kernels
Disadvantages:
- Slower write speeds
- Some intensive applications like games could slow down your phone
SIO (Simple):*
It aims to achieve with minimal effort at a low latency I / O requests. Not a priority to put in queue, instead simply merge the requests. This scheduler is a mix between the noop and deadline. There is no conversion or sorting of requests.*
Benefits:*
- It is simple and stable.
- Reliable IO scheduler
- Minimized starvation for inquiries
- Good battery life
Disadvantages:*
- Slow random write speeds on flash drives as opposed to other schedulers.
- Sequential read speeds on flash drives, not as good*
Noop:*
The noop scheduler is the simplest of them. It is best suited for storage devices that are not subject to mechanical movements, such as our flash drives in our phones use to access the data. The advantage is that flash drives do not require rearrangement of the I / O requests, unlike normal hard drives. the data that come first are written first. It's basically not a real scheduler, as it leaves the scheduling of the hardware.*
Benefits:*
- Serves I/O requests with least number of cpu cycles.
- Is suitable for flash drives because there is no search errors*
- Good data throughput on db systems
Disadvantages:*
- Reducing the number of CPU cycles corresponds to a simultaneous decline in performance*
- Not very good at multitasking
VR:*
Unlike other scheduling software, synchronous and asynchronous requests are not handled separately, but it will impose a fair and balanced within this deadline requests, that the next request to be served is a function of distance from the last request. It is a very good scheduler with elements of the deadline scheduler. It is the best for MTD Android devices. Vr can make the most of the benchmark points, but it is also an unstable scheduler. *Sometimes the scores fluctuate below the average, sometimes it fluctuates above the average.*
Benefits:
- Generally excels in random writes.*
Disadvantages:*
- Performance variability can lead to different results (Only performs well sometimes)
- Very often unstable and unreliable
BFQ:*
Instead requests divided into time segments as the CFQ has, on the BFQ budget. The flash drive will be granted an active process until it has exhausted its budget (number of sectors on the flash drive). The awards BFQ high budget does not read tasks. BFQ has received many updates to the scheduler and the performance is consistently improving.*
Benefits:*
- Has a very good USB data transfer rate.*
- The best scheduler for playback of HD video recording and video streaming (due to less jitter than CFQ Scheduler, and others)*
- Regarded as a very precise working Scheduler*
- Delivers 30% more throughput than CFQ
- Being constantly updated
- Good for multitasking*
Disadvantages:*
- Not the best scheduler for benchmarks*
- Higher budgets that were allocated to a process that can affect the interactivity and bring with it increased latency.*
- Slower UI navigation
- Slower boot times
ZEN:
Based on the VR Scheduler. It's an FCFS (First come, first serve) based algorithm. It's not strictly FIFO. It does not do any sorting. It uses deadlines for fairness, and treats synchronous requests with priority over asynchronous ons. Other than that, pretty much the same as no-op.
Benefits:
- Well rounded IO Scheduler
- Very efficient IO Scheduler
- More stable than VR, mainly because it doesn't really behave like VR.*
Disadvantages:
- Not found in all kernels
Sioplus:
Based on the original Sio scheduler with improvements. Functionality for specifying the starvation of async reads against sync reads; starved write requests counter only counts when there actually are write requests in the queue; fixed a bug).*
Benefits:
- Better read and write speeds than previous SIO scheduler
- Good battery life*
Disadvantages:
- The same as SIO scheduler
- Not found in all kernels
FIOPS:*
This new I/O scheduler is designed around the following assumptions about Flash-based storage devices: no I/O seek time, read and write I/O cost is usually different from rotating media, time to make a request depends upon the request size, and high through-put and higher IOPS with low-latency.
Benefits:
- Achieves high read and write speeds in benchmarks
- Good battery life
Disadvantages:
- Not very common in most kernels
FIFO (First in First Out):
A relatively simple io schedulers that does what has been described. It is also known as FCFS (First come first serve) but this really isn't true. It does basic sorting; sorting the processes according to the appropriate order and nothing else. In other words, it is quite similar to noop.*
Benefits:
- Serves I/O requests with least number of cpu cycles.
- Is suitable for flash drives because there is no search errors
- Good data throughput on db systems
Disadvantages:
- Reducing the number of CPU cycles corresponds to a simultaneous decline in performance*
- Not very good at multitasking
Tripndroid
A new I/O scheduler based on noop, deadline and vr and meant to have minimal overhead. Made by TripNRaVeR
Recommended IO schedulers:
For everyday usage:
- SIO (My personal favourite)
- NOOP
- CFQ (Third choice)
- Deadline (Forth choice)
- ROW (My second choice)
- ZEN
For battery life:
- SIO (First choice)
- FIOPS*
- NOOP (Second choice)
- ROW (Third choice)
- FIFO
For gaming:*
- Deadline (First choice)
- CFQ (Second choice)*
- ROW (Third choice)
For performance(Benchmarking):
- VR
- SIO (Third Choice)
- Deadline (Second choice)
- FIOPS (First choice)*
For multitasking:*
- BFQ (Third choice)
- Deadline (Second choice)
- CFQ (First choice)
IO Scheduler Comparison
Overall performance:
Best<------------------------------------------------------------------------->Worst
FIOPS> Noop > ZEN >SIOplus > SIO > ROW > Tripndroid > VR > Deadline > BFQ > CFQ
Multitasking performance:
Less Apps<------------------------------------------------------------>Many Apps
Noop < FIOPS < SIO < *SIOplus < ROW < Tripndroid < ZEN < Deadline < VR < *CFQ < BFQ
Battery life:
Best<-------------------------------------------------------------------------> Worst
Noop > FIOPS > SIOplus > SIO > ROW> *ZEN > Tripndroid > Deadline > VR > CFQ > BFQ​
ela1103 said:
Thank to zhanjia & Andrux​
I Search about Governors And I/O Schedulers in Google & XDA
Iam sharing this information to our yu Team members .because the Governors And I/O Schedulers is the main part of the Kernels .
Governors And I/O Schedulers
1.Performance
2.Battery
3.Gaming
4.Laging
5.Multitasking ​
​
Click to expand...
Click to collapse
Thanks, very informative!
schubeir
Thanks man for the info, i knew few of them and now all:good::good::good:
No credits??? I'm sure those descriptions for I/O schedulers came from me
Thanks been looking for something like this
Sent from my Pixel XL using Tapatalk

best kernel adiutor settings for moto g6 play

I have a rooted moto g6 play and I read that using kernel adiutor to overclock this phone will make it a lot faster. The problem is, I have no idea what to set the settings to. If any of you have a moto g6 play, could you tell me which settings would be best or the settings you have? Thanks
Here's the settings I use. I was actually planning on making a guide that would cover this very subject -- however, I've been inundated with "life". As my friend told me, "Sometimes Life -- Lifes you." Right?
Anyways. This setup I'm about to describe works absolutely perfectly for me... With that said, it *may* not be the best for everyone. I'm not a multi-tasker, and I run an extremely lean operation for maximum power availability. So, if you're an avid multi-takser, you'll probably want to stay away from this. However, if you do one thing at a time and want maximum battery life mixed with moderate speed boost -- you'll love this.
I use Kernel Aduitor primarily because I like the interface better than Ex Kernel Manager. With that in mind, I'll just go down the list using Kernel Auditor's app... I do run Ex-KM as well, but only for 1 particular setting which I'll cover when I get there.
Lets begin!!
Prereq Software: L-Speed by Paget, Kernel Auditor, and ExKernel Manager.
Using Kernel Auditor:
1) --CPU--
a)Max 1401, Min 960.
b)Conservative Governor (w/ 50 down, 3 freq step, 1 ignore nice load, 1 sampling down factor, 66666 for both sampling rates, 95 up threshold)
c)Schedule workloads on awake cpus (ON!)
2) --GPU--
a)Max Freq 650 (If gaming, or graphically intense use -- otherwise I go to 484, and even 400)
b)Min Freq 270
c)Governor (I typically run Simple On Demand for daily use, powersave for battery, and bump up performance and a higher frequency of 650mhz if I need it)
3) --I/O--
a)NOOP Scheduler
b)Not tunable.
c)read ahead -- honestly, I've tried every single setting using different benchmarks, and it appears to make a little difference. I simply use 512kb as my default. Feel free to adjust accordingly if you use your phone in a way that benefits from it.
d)I keep all three settings turned off -- rotational, stats, and add random. IO Stats is on by default I think, by turning it off it will give a very minimal boost in performance. But I'll take every inch I can get out of it... ya know?
e)RQ Affinity is 1 by default, I use 2.
4)LMK
25, 50, 100, 175, 275, 400 (Again, this is purely because I run a lean operation with minimal multitasking. Feel free to adjust to your needs)
5)Virtual Memory (This is a nice performance boosting tuneable screen)
Dirty: 90
DirRat: 50
Expire: 10000
Writeback: 25000
Min Free: 15000kb
oom killing: 1
Overcommit: 100
Swappiness: ZERO!!
VFS Cache: 200
Laptop: ZERO
Extra Free: 10000
And the best thing I've done for my phone, I do believe: ZRAM ----> ZERO! Zram is a waste of resources and sucks life out of your phone with its constant encryption and decryption routine. With 3gb of ram, and a properly tuned LMK --- you'll get a noticeable boost in smooth performance here. I hate Zram!
6) Entropy
I use light settings here 64/192.
--------------------------------------
Now, EX-Kernel Manager... I only use it for one setting. By default, when the GPU is at idle -- it hums along at 400mhz. You can adjust this in ExKM down to a true idle of 270mhz. You'll not sacrifice any performance, but may get a small bump in battery life.
-------------------------------------
L-Speed is one of my favorite apps I've ever used. Tons of useful scripts that really make a difference.
Upon initial setup, just kinda breeze through the opening screens. Don't use one of the preprogram'd tunes. Here's what I use specifically (If its not listed on this list, that means its either disabled or default and thats where I want to keep it. :
Main Tweaks:
Disable Debugging - ON
Panic - OFF
Sleeper Optimize: ON
Flag Tuner: OFF (I used to run ON, but it developed lagginess, and turning it back off appeared to correct this. Feel free to try either for your personal use)
Improved Scrolling: ON
Liquid Smooth UI: ON
Animations: ZERO across the board.
Battery:
Battery Improvement - ON
Doze Optimize - ON
Aggresive Doze - ON
CPU:
Gov Tuner - DISABLED (or else it will cause you to lose your settings in Kernel Auditor)
CPU Optimizer - ON
LNET:
Net Buffers - BIG
RIL Tweaks - ON
TCP Tweaks - ON
Net Speed+ - ON
Wifi Scanning OFF
DNS Optimizer - ON (uses google DNS, or maybe cloudfare now.. but its super smooth)
IO Tweaks:
Tuner - OFF
Boost - ON
Extended Queue - ON
Part Remount - ON
Disable IO stats - ON
RAM:
MAnager - Default (for me, you may need another setup if you multitask)
Don't Keep Activities - ON
Dynamic VM: OFF
Skip the next 4 or 5 options, leave disabled or default.
Heap Optimize: ON
OOM Killer: ON
Dump Tasks: OFF
ZRAM OPTimizer: OFF
Ftrim
DO IT. Then set to run on boost, and schedule it for every 6 hours or so to keep it running effecient and smooth.
Last thing... I go to the developer menu under settings within the operating system, and turn on "Force GPU to run 2d operations".
-------------
I get incredible battery life at these settings. A super snappy phone with minimal lag. And if I need a quick jolt of power, I just crack up the CPU and GPU to max settings.. and I'm good to go!
Enjoy.
Thanks for reading. Sorry so long.
bubbyj said:
Here's the settings I use. I was actually planning on making a guide that would cover this very subject -- however, I've been inundated with "life". As my friend told me, "Sometimes Life -- Lifes you." Right?
Anyways. This setup I'm about to describe works absolutely perfectly for me... With that said, it *may* not be the best for everyone. I'm not a multi-tasker, and I run an extremely lean operation for maximum power availability. So, if you're an avid multi-takser, you'll probably want to stay away from this. However, if you do one thing at a time and want maximum battery life mixed with moderate speed boost -- you'll love this.
I use Kernel Aduitor primarily because I like the interface better than Ex Kernel Manager. With that in mind, I'll just go down the list using Kernel Auditor's app... I do run Ex-KM as well, but only for 1 particular setting which I'll cover when I get there.
Lets begin!!
Prereq Software: L-Speed by Paget, Kernel Auditor, and ExKernel Manager.
Using Kernel Auditor:
1) --CPU--
a)Max 1401, Min 960.
b)Conservative Governor (w/ 50 down, 3 freq step, 1 ignore nice load, 1 sampling down factor, 66666 for both sampling rates, 95 up threshold)
c)Schedule workloads on awake cpus (ON!)
2) --GPU--
a)Max Freq 650 (If gaming, or graphically intense use -- otherwise I go to 484, and even 400)
b)Min Freq 270
c)Governor (I typically run Simple On Demand for daily use, powersave for battery, and bump up performance and a higher frequency of 650mhz if I need it)
3) --I/O--
a)NOOP Scheduler
b)Not tunable.
c)read ahead -- honestly, I've tried every single setting using different benchmarks, and it appears to make a little difference. I simply use 512kb as my default. Feel free to adjust accordingly if you use your phone in a way that benefits from it.
d)I keep all three settings turned off -- rotational, stats, and add random. IO Stats is on by default I think, by turning it off it will give a very minimal boost in performance. But I'll take every inch I can get out of it... ya know?
e)RQ Affinity is 1 by default, I use 2.
4)LMK
25, 50, 100, 175, 275, 400 (Again, this is purely because I run a lean operation with minimal multitasking. Feel free to adjust to your needs)
5)Virtual Memory (This is a nice performance boosting tuneable screen)
Dirty: 90
DirRat: 50
Expire: 10000
Writeback: 25000
Min Free: 15000kb
oom killing: 1
Overcommit: 100
Swappiness: ZERO!!
VFS Cache: 200
Laptop: ZERO
Extra Free: 10000
And the best thing I've done for my phone, I do believe: ZRAM ----> ZERO! Zram is a waste of resources and sucks life out of your phone with its constant encryption and decryption routine. With 3gb of ram, and a properly tuned LMK --- you'll get a noticeable boost in smooth performance here. I hate Zram!
6) Entropy
I use light settings here 64/192.
--------------------------------------
Now, EX-Kernel Manager... I only use it for one setting. By default, when the GPU is at idle -- it hums along at 400mhz. You can adjust this in ExKM down to a true idle of 270mhz. You'll not sacrifice any performance, but may get a small bump in battery life.
-------------------------------------
L-Speed is one of my favorite apps I've ever used. Tons of useful scripts that really make a difference.
Upon initial setup, just kinda breeze through the opening screens. Don't use one of the preprogram'd tunes. Here's what I use specifically (If its not listed on this list, that means its either disabled or default and thats where I want to keep it. :
Main Tweaks:
Disable Debugging - ON
Panic - OFF
Sleeper Optimize: ON
Flag Tuner: OFF (I used to run ON, but it developed lagginess, and turning it back off appeared to correct this. Feel free to try either for your personal use)
Improved Scrolling: ON
Liquid Smooth UI: ON
Animations: ZERO across the board.
Battery:
Battery Improvement - ON
Doze Optimize - ON
Aggresive Doze - ON
CPU:
Gov Tuner - DISABLED (or else it will cause you to lose your settings in Kernel Auditor)
CPU Optimizer - ON
LNET:
Net Buffers - BIG
RIL Tweaks - ON
TCP Tweaks - ON
Net Speed+ - ON
Wifi Scanning OFF
DNS Optimizer - ON (uses google DNS, or maybe cloudfare now.. but its super smooth)
IO Tweaks:
Tuner - OFF
Boost - ON
Extended Queue - ON
Part Remount - ON
Disable IO stats - ON
RAM:
MAnager - Default (for me, you may need another setup if you multitask)
Don't Keep Activities - ON
Dynamic VM: OFF
Skip the next 4 or 5 options, leave disabled or default.
Heap Optimize: ON
OOM Killer: ON
Dump Tasks: OFF
ZRAM OPTimizer: OFF
Ftrim
DO IT. Then set to run on boost, and schedule it for every 6 hours or so to keep it running effecient and smooth.
Last thing... I go to the developer menu under settings within the operating system, and turn on "Force GPU to run 2d operations".
-------------
I get incredible battery life at these settings. A super snappy phone with minimal lag. And if I need a quick jolt of power, I just crack up the CPU and GPU to max settings.. and I'm good to go!
Enjoy.
Thanks for reading. Sorry so long.
Click to expand...
Click to collapse
Thank you for taking your time to write that out! I really appreciate the help! Once again, thank you!
@buddyj excellent piece of information there! Keep up the good work!
Sent from my Moto G6 Plus using Tapatalk

Categories

Resources