Deadline scheduler speeds up my SGS a lot without lagfix - Galaxy S I9000 General

hi guys, I was using RyanZA's oneclickfix, it was a great fix, but on my SGS, the lagfix didn't improve the speed very much.. (Quadrant score does increase from 900 to 2200+ though). But I found if I undo the lagfix, change scheduler to 'Deadline', my SGS really runs A LOT faster. When I open up big apps, it will still wait for like 2 sec, but I haven't seen any unexpected blackscreen so far. (Giving me a blackscreen when opening Contact is really rediculous...)
My phone is a UK 3's branded SGS with stock firmware out of the box (PDA JG3, phone JG1, CSC JH1)
I also noticed that if an app is not loaded into the RAM yet, opening it is still a little bit slow compared to, for example, HTC Desire or iPhone 4. I don't own a iPhone or Desire, but tried them in 3 store. I guess the poor I/O is still a problem here. But anyway, the deadline scheduler really helps a lot.
Hope some people find this useful. And it seems a better lagfix will be released very soon (according to a thread in the i9000 developement), cant wait!

Hi qiu , for me it's exactly. I'm also running the stock firmware (I'm from the Netherlands btw) and the Ryanza one click lag fix improved my quadrant a LOT but for me I didn't feel any faster. No idea why.
But I will try to also change the scheduler too , but what is scheduler and what does it? what's the default.
And what about a new lagfix? where did you read that.
Peace

well, I am not a developer, but in the oneclickfix, it says the deadline scheduler gives reading a higher priority than writing, so I guess that does the trick...cfq is the default and you need to change the scheduler again if you reboot your phone (also, accroding to what it says in the oneclickfix app)
about the new lagfix:
http://forum.xda-developers.com/showthread.php?t=724251&page=84
'It's worse on some firmwares, it's much better or completely fixed on others (XFJM6 & HVJH1 imo).
If you don't experience that stuff, just don't bother with this. If you do, and can live with it for a few more days, I'd suggest waiting for the imminent release of supercurios' fix, which performs better than this one in my testing.
I think this is the safest (though not "fastest" of the current crop of lag "fixes", but supercurio's approach is easier to install and addresses the real root of the problem in a more suitable way.
Hats off to mimocan, though, for the original fix provided here which was stable, fairly easy to install, and easy to undo.'

Iphone4 has a redraw function, best seen with the camera. The software draws the interface of the camera while the software loads, so there is a delay between when the gui loads and the software. So it draws the camera gui, takes a some time before the camera shows images.

Ok , I understand. The new ''better'' supercurio lag fix is not yet to the public right?

dehem333 said:
Ok , I understand. The new ''better'' supercurio lag fix is not yet to the public right?
Click to expand...
Click to collapse
it seems not, but fingers crossed it will be out soon

What Is scheduler? Where do I find it?

is this the same scheduler we access through daily briefing?

Jamiec902 said:
What Is scheduler? Where do I find it?
Click to expand...
Click to collapse
it is the scheduler in 'Change Scheduler' section in the OneClickLagFix app by RyanZA

iqbalbaskara said:
is this the same scheduler we access through daily briefing?
Click to expand...
Click to collapse
sorry, no, that would be a calendar which probably doesn't affect the phone's speed at all. Scheduler is a part of the system who takes care of the input/output processes as I understand it.

qiu said:
sorry, no, that would be a calendar which probably doesn't affect the phone's speed at all. Scheduler is a part of the system who takes care of the input/output processes as I understand it.
Click to expand...
Click to collapse
OK, you've prolly guessed what my next question would be: How do we reach and modify this scheduler thingy?

iqbalbaskara said:
OK, you've prolly guessed what my next question would be: How do we reach and modify this scheduler thingy?
Click to expand...
Click to collapse
go into this thread, do read it and understand the risk you are taking (which is none I guess ):
http://forum.xda-developers.com/showthread.php?t=760571
after you intall the app, root your phone if you haven't already, you should be able to change the scheduler.

Related

LagFix or Overclock?

Which do you guys prefer?
When choosing Voodoo kernels or OC kernels
lagfix hands down
i prefer both at the same time.. but if i can only go with one i'd go with lagfix myself
it really doesnt matter...you COULD have both if you know what you're doin...me personally im running a lagfix....
My cpu can't handle the OC so I don't even bother. Just use a lagfix, you really don't need to overclock. It's not like we use our phones for scientific computing.
I've tryed all three ways.
I've found that some of the newer roms run just fine without either, but at the moment I'm only running overclock.(1.12 ghz)
just before this I was running 1.3 GHZ overclock and JFS advanced lagfix and I really dont see a ton of difference beyond benchmark scores and battery drainage lol.
although addmittedly it is fun to show off your benchmark scores :-D
in real life performance you probably wont notice much difference.
but try all three ways and see which you like better I'm sure some people really do have a need for overclock and lagfix, heck, if I could find a way to compile the android os from my phone I'd probably want the extra power :-D
but just find whats right for you
I am by no means an expert on this hardware, but as with any device you are only ever as fast as the system that bottle necks first. From what I have been able to gather thus far, on the Vibrant, that is I/O hands down. The rest of the hardware keeps up with most tasks quite well, and the lag fix helps to alleviate the bottlenecks in I/O by speeding up the read/write operations fairly well.
That would be where I put my money. Overclock sounds cool, but on these phones seems unnecessary.
Just my 2/100 of a $
roguly said:
Which do you guys prefer?
When choosing Voodoo kernels or OC kernels
Click to expand...
Click to collapse
Choosing one or the other is stupid, use both! Voodoo was a good idea months ago but it's outdated now, stop using it. Use a kernel like the one in my sig, it supports Ext4 lagfix (just like voodoo) AND overclocking, it's stable, and you won't softbrick if you flash over it.

No-frills CPU Control question

hi everyone
I have been using this small aplication, but there is an option about the I/O and i dont know for what is that and if i should change it and why?
thanks
Hmm...I'd leave it be on default. Anyway, here's the explanation for each I/O scheduler.
Q: ... can you translate it into layman terms?
A: A-yup.
CFQ: good if you have a multi processor (we're not talking dual core... much many more cores...), multi "card" system. We don't. 'nuff said.
Deadline: fast, fast, fast, but maybe one of your services will "clog" all the writes while your gmail is waiting to open that email you want to read. And maybe not.
NOOP: who said Deadline was fast? NOOP is "the fast". (NOOP = NO OPeration = nuthin' to do... ). Good if the optimization is done at the hardware level. 99% of our devices do.
Anticipatory: surely our devices have small and slow "disk" subsystems, so maybe it's worth a shot.
Click to expand...
Click to collapse
Taken from XDA-No-Frills CPU thread

Reviving your slow SGS.

So I recently changed over to the nexus 4, and I say, it is AMAZING. I just got to the point where the SGS just didnt cut it anymore. It has hung in there for a long time, but its starting to become under-powered for new versions of Android.
So in this guide, I am going to show you how to speed up your Galaxy S, and push it to its max performance.
You will need a custom kernel like Semaphore. I made this guide with no regard to battery life, but i did avoid using un-necessary power.
1. Live OC
- This increases the Bus, Ram and GPU speeds.
- This is very good because information can only be transferred as fast as the bus can transfer it. So if your CPU is fast, but your bus is to slow, it creates a bottle neck. So upping bus speed as well as CPU/GPU/Ram speeds can drastically increase performance.
- Find settings that are stable for your phone. For me this was 123%.
- Note that this will change the CPU clock speed choices that you have. Normal.
Click to expand...
Click to collapse
2. CPU Clock Speed / Governor
- Increasing Clock Speeds allow your processor to calculate more per second, therefore increasing performance.
- Start by finding the maximum frequency that your device is capable of handling, while still keeping stability. For me, this is 1400MHZ.
- Set lowest clock speed to 200 or 400. 200 is the best all-round, and actually uses less power than 100MHZ due to faster race to idle. I use 400 for performance.
- Use a snappy governor. Min/max is great, it is what i use.
- For more battery. lulzactive, ondemand, and smartass are all good.
- Enable smooth UI tweak.
Click to expand...
Click to collapse
3. RAM settings / management.
A. MOAR RAM.
- The Galaxy S has very limited ram, so we must make the best of it.
- It has 500mb, but some is allocated for the camera and GPU, so we only get ~400 in the end.
- Use the Bigmem option. Around 400mb, but breaks 720p recording. Its a good sacrifice.
- Also, Un-install any apps that you are not using! This can free up cache space and leave it for important processes. Go to settings/running/caches for more info.
- Go to settings/developer options/background process limit, and set this to keep more ram free. I use 3.
Click to expand...
Click to collapse
B. Enabling Swap
- Enabling swap allows the kernel to use specially allocated memory (on your SD card) to store cached pages that aren't currently being used, instead of storing them in RAM.
- Frees RAM for foreground or heavy processes.
- Make sure you use a fast SD card, and do not set the swappiness to high, both of these can slow your phone down.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
4. CM Performance Settings.
- Setting these properly can also increase performance on your device. It will not create any instabilities.
- I/O schedulers are all very similar. I personally prefer SIO, CFQ, or VR
- Under Memory management, Allow purging of assets and enable Kernel same page merging. Both use more clock cycles, but free needed RAM.
- Avoid ZRAM. Performance gain is not enough for the number of clock cycles needed to compress and decompress the RAM.
- Enable 16 bit transparency. Lighter load on the system when drawing graphics, and has never causes visual artifacts for me.
- Disable surface dithering. One less thing for your device to do, equals more performance.
Click to expand...
Click to collapse
5. Animation Scales (not necessary)
- This simply makes your device LOOK faster buy increasing the speed of the animations.
- Go to developer options and find Window Animations scale, Transition Animation Scale, and Animator Duration Scale.
- Turn them all to 0.5 for a faster UI.
Click to expand...
Click to collapse
Questions? Feel free.
But OC my phone will make my phone die faster yea?
Because I afraid to destroyed my phone
Sent from my GT-I9000 using xda app-developers app
It does reduce life for sure. As does live OC.
I over clocked my phone for a long time, and it has had no bad effects. It works great to this day. It reduces, but not significantly that you should worry about.
Most CPUS are designed to last for 10+ years, and you may take a year or two off. Nothing major!
Sent from my Nexus 4 using xda premium
AlwaysDroid said:
It does reduce life for sure. As does live OC.
I over clocked my phone for a long time, and it has had no bad effects. It works great to this day. It reduces, but not significantly that you should worry about.
Most CPUS are designed to last for 10+ years, and you may take a year or two off. Nothing major!
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
I think even less, Ive never heard of anyone suffering at anything from oc anything.
This is an amazing guide and it has everything explained in one place thank you!
Sent from my GT-I9000 using xda app-developers app
Where/how do you enable swap?
good guide but currently not necassary to do,more and more roms are made with enough to tweak the perfomance already done,ive not found anything that has pushed my phone while on a decent custom rom
beardedwonder said:
Where/how do you enable swap?
Click to expand...
Click to collapse
Try this. I never used this guide myself, i just searched it up. Maybe ill add it to the OP if you have success with the guide.
http://forum.xda-developers.com/showthread.php?t=1610835
friartuckme said:
good guide but currently not necassary to do,more and more roms are made with enough to tweak the perfomance already done,ive not found anything that has pushed my phone while on a decent custom rom
Click to expand...
Click to collapse
it is not necessary at all, but there is nothing wrong with getting as much bang for your buck as you can!
AlwaysDroid said:
Try this. I never used this guide myself, i just searched it up. Maybe ill add it to the OP if you have success with the guide.
http://forum.xda-developers.com/showthread.php?t=1610835
Click to expand...
Click to collapse
This thread isn't really a guide then, it doesn't look like you can use swap with semaphore.
beardedwonder said:
This thread isn't really a guide then, it doesn't look like you can use swap with semaphore.
Click to expand...
Click to collapse
I'm abit out of the loop. I used devil kernel and it had it. I know cyancore kernel has it!
Sent from my Nexus 4 using xda premium
AlwaysDroid said:
it is not necessary at all, but there is nothing wrong with getting as much bang for your buck as you can!
Click to expand...
Click to collapse
very true,i agree

Kernel explanation

I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.
I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.
At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.
Sooo...Some help and explanations would be more than appreciated.
4aces said:
I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.
I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.
At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.
Sooo...Some help and explanations would be more than appreciated.
Click to expand...
Click to collapse
I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.
A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.
There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.
These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.
People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)
CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://forum.xda-developers.com/showthread.php?t=1736168
I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://forum.xda-developers.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.
Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.
Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.
Any questions - click reply to this, or else I won't see it!
nicholaschum said:
I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.
A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.
There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.
These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.
People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)
CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://forum.xda-developers.com/showthread.php?t=1736168
I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://forum.xda-developers.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.
Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.
Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.
Any questions - click reply to this, or else I won't see it!
Click to expand...
Click to collapse
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!
4aces said:
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!
Click to expand...
Click to collapse
Anytime
You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:
Code:
/sys/devices/system/soc/soc0/soc_pvs
The higher your number, the better.
nicholaschum said:
Anytime
You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:
Code:
/sys/devices/system/soc/soc0/soc_pvs
The higher your number, the better.
Click to expand...
Click to collapse
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.
4aces said:
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.
Click to expand...
Click to collapse
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
nicholaschum said:
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
Click to expand...
Click to collapse
Can't thank u enough!!! Now I will be off to some reading and testing
nicholaschum said:
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
Click to expand...
Click to collapse
Aaand one more question.
What is the difference in tcp congestion control (cubic/reno) and what does it change?
4aces said:
Aaand one more question.
What is the difference in tcp congestion control (cubic/reno) and what does it change?
Click to expand...
Click to collapse
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
nicholaschum said:
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
Click to expand...
Click to collapse
Just read the answer in the link u posted. Stupid me.
Sorry for taking up your time.
nicholaschum said:
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
Click to expand...
Click to collapse
I have another question. If I want to oc or uv is there any script I have to use or can I just apply/test right away?
4aces said:
I have another question. If I want to oc or uv is there any script I have to use or can I just apply/test right away?
Click to expand...
Click to collapse
Just use the main interface of either Trickster or Synapse. I use Synapse personally as my kernel provides the best interface on Synapse.
nicholaschum said:
Just use the main interface of either Trickster or Synapse. I use Synapse personally as my kernel provides the best interface on Synapse.
Click to expand...
Click to collapse
What I found out so far is that the device runs smoother on performance based governors with cfq or sio scheduler. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with
But it seems that I'm still miles away from finding the best settings.
4aces said:
What I found out so far is that my device reacts not good on performance based governors & schedulers. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with
But it seems that I'm still miles away from finding the best settings.
Click to expand...
Click to collapse
I could give you some recommendations that would work well decently with 2-3 PVS valued processors.
Interactive Governor
No OC, No UV.
I/O schedulers Internal: cfq 512kb
I/O schedulers External: cfq 512kb
Dynamic Fsync Enabled
PowerSuspend driver enabled
Mdnie enabled, 0.39%
FastCharge Enabled
GPU Governor: Simple Ondemand 450MHz
I use CivZ's SneakyKat but Wootever's Custom N3 has the best battery life. If you want features you should play with CivZ's, if you like 6h screen on then you should play with Wootever.
You don't have to follow these values, but I spent days restarting my phone finding the best "average" configuration for devices ranging in my state. I found that Intellidemand didn't do so well and Interactive prevented any sporadic reboots that I got while on Intellidemand. Also read aheads of above 512kb doesn't show much speed enhancements. Synapse is great as it tells you whether your boot is successful or not, and now all my boots get Completed.
Notice: Do not soft reboot when configuring Kernels, Kernels don't get loaded properly/doesn't get reset properly so use Full reboot when configuring
cpu lock
I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks. 
 @nicholaschum any idea?
Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.
4aces said:
I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks.
@nicholaschum any idea?
Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.
Click to expand...
Click to collapse
That's a bit weird, did you have powersaving turned on? But I assume it's off.
I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
nicholaschum said:
That's a bit weird, did you have powersaving turned on? But I assume it's off.
I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
Click to expand...
Click to collapse
Nope that's why it's strange. Even got it after clean flash without setting/installing any Kernel related apps.
Tested other games and they work fine so I deleted candy crush and so far no cpu lock. No idea why, that's why I was curious
4aces said:
Nope that's why it's strange. Even got it after clean flash without setting/installing any Kernel related apps.
Tested other games and they work fine so I deleted candy crush and so far no cpu lock. No idea why, that's why I was curious
Click to expand...
Click to collapse
I don't play Candy Crush so I wouldn't know..haha
nicholaschum said:
I don't play Candy Crush so I wouldn't know..haha
Click to expand...
Click to collapse
Lol. Me neither from now on... (my kids will be sad though) Still can't really belive the game caused it

[kernel][3.0.31] Mk kernel - based on CoCafe kernel Refresh r10

Update
All the changes I made were merged into CoCore-refresh kernel (3.0.31) and 3.0.101 by TeamCanjica, so they will hit 'mainstream' in some time when they release another build.
This thread is over
/Update
Hi,
I've been working on this kernel for some time with improving undervolting in mind. It's based on CoCore Refresh r10 by CoCafe and of course the credit goes to him where it's due.
Main changes:
- rewritten liveOPP internals.
It improved stability a lot - it now allows to use 300/500/700/900 MHz frequencies with no problem and it allows to undervolt low frequencies even more. Freqs >1GHz are now stable at varm=0x32 (at least on my phone), which also saves a lot of power.
Freqs <=400 MHz now use 0x12 (0.925V) voltage by default - It's the original voltage for 400MHz and you can go even lower when undervolting
- rewritten Mali booster algorithm.
It's far from perfect yet, but it eliminated instability due to the fact, that CoCafe's mali booster and "original" booster (switching between APE 50/100 OPP) were working independently and could cause a crash when the original algorithm switched to APE_50_OPP while mali boost was active. APE_50_OPP voltage is 1V by default (0x18), so when clock is boosted to i.e. 700MHz and it switched to 50 OPP, the result was 350MHz @ 1V, which mihgt be too low.
- allow to set APE and DDR OPP with liveOPP
echo apeopp=25/50/100 > arm_stepXX and echo ddropp=...
before the kernel would set ape/ddr opp to 100 for freqs above 400MHz
- allow changing ape_50_opp voltage
echo 0xXX > /sys/kernel/mali/mali_gpu_vape_50_opp
- make wlan/mmc boost tunables available through sysfs in /sys/kernel/performance/*
- Memory split changed to 2G/2G and switch highmem off - it's not needed with this split
- removed some unnecessary drivers and moved others to modules to reduce kernel size
- changed kernel compression to LZO
- 631MB available memory
- 7800ms kernel boot time
Download & install:
Mediafire
That's partition image - flash it with dd:
Code:
dd if=kernel.mk-r1-release.img of=/dev/block/mmcblk0p15
It's also good to create a symlink from /system/lib/modules to /lib/modules - it'll allow modules to autoload, enable modprobe to work and also you can use KoControl app to manage module loading.
Source:
GitHub
TODO:
- create a package for flashing with recovery and place modules (7MB) in /system/lib/modules instead of a ramdisk
- touchbooster has a bug that causes it to limit max freq to 1000MHz on boost.
- figure out how to enable setting of minimal cpu freq - now touchboost always resets it to 100MHz
- add interactive gov from Zwliew kernel
- create more power optimized, auto tuning 'foreground' governor (long story)
My voltage settings
(default kernel voltages are more conservative - set those from init scripts and test them for stability!):
100 - 0x0f
200 - 0x10
300 - 0x11
400 - 0x12
500 - 0x14
600 - 0x18
700 - 0x1d
800 - 0x24
900 - 0x28
1000 - 0x2f
1050..1250 - 0x32
Mali gpu voltage
Default voltage from CoCafe is way too high - idx0 vape could be just 1V since that's the voltage, when mali is running at 1/2 speed (200MHz by default).
My settings (for safety they are 3 steps higher than the lowest working voltage for given freq).
#0 - 0x17
#5 - 0x1c
#9 - 0x23
I don't overclock the gpu - my low index is set to 0 (200MHz), and hi (boosted) to 5(400MHz), which is the original mali freq. That gives mi 100MHz when working at half speed. I don't use any fancy UI effects, so it's enough - when not plaing a game, mali is only working at 100/200MHz and only boosts when loaded. Params:
boost_low idx=0
boost_low threshold=30
boost_delay 2000
boost_high idx=5
boost_high threshold=220
Default kernel settings are left unchanged - set those manually from init scripts.
I place the thread here because I'm not allowed to post in developer forums (<10 messages limit).
MK
Wow. Thanks for your work, mate!
Most people are using CM or CM/AOSP based ROMs nowadays, but there are only a few people (like me) who still use Jellybean. So, I'll try your kernel very soon and I'll post a review after using it.
You joined XDA on 2010 and yet, this is your first post. That just doesn't feel right.. Anyways, keep up the good work, mate. :good:
Good to see another kernel developer for our phone! I'm on stock rom now, I will try it out
Sami Kabir;5571pro. [B said:
Wow. Thanks for your work, mate! [/B]
Most people are using CM or CM/AOSP based ROMs nowadays, but there are only a few people (like me) who still use Jellybean. So, I'll try your kernel very soon and I'll post a review after( using it.
Click to expand...
Click to collapse
The code is on github and there's no problem with merging it with some cm kernel. When I'll try my with some 4.4 again (so far each one had something broken and didn't suit me), I'll probably do it
You joined XDA on 2010 and yet, this is your first post. That just doesn't feel right.. Anyways, keep up the good work, mate. :good:
Click to expand...
Click to collapse
To keep it short let just say that I'm not a sociable type of guy... but when I have something of value, I try to share...
One more thing (most probably know it, but for those who don't) - 99% of "user experience" depends on the settings of governor, mali and touch booster - if you screw this up, no kernel will work smoothly. I had this problem with my first vanilla jb - it sucked as hell(ondemand), but when I set sampling_down_factor to 3-4 suddenly it was very smooth. Default gov params aren't always the best. Thats one of the reasons I'll try to write a governor that tunes itself and adjusts itself to the app currently in foreground - but that's just an idea and it'll take me some time to refresh all the math needed for it...
Anyway - enjoy the kernel.
Hmm I really wanna test this kernel, but I'm currently on Vanir
I definitely gonna follow your thread, it's good to know Janice is still alive and kicking
Reinkaos said:
Hmm I really wanna test this kernel, but I'm currently on Vanir
I definitely gonna follow your thread, it's good to know Janice is still alive and kicking
Click to expand...
Click to collapse
You can always ask rom's devs to merge my changes - it's just a few commits.
And how is that rom working for you? At the time I was checking up 4.4 roms each one of them sucked in a different way. Carbon was the closest (in fact it was the only one acceptable) to being useful (feature- and ui-wise), but it had some process spinning in the background and It was draining my batt (it was unkillable because it was a part of lock screen I think - the bug was known, but no fix available at that time).
If it's similar to carbon I might give it a try...
mkaluza said:
You can always ask rom's devs to merge my changes - it's just a few commits.
And how is that rom working for you? At the time I was checking up 4.4 roms each one of them sucked in a different way. Carbon was the closest (in fact it was the only one acceptable) to being useful (feature- and ui-wise), but it had some process spinning in the background and It was draining my batt (it was unkillable because it was a part of lock screen I think - the bug was known, but no fix available at that time).
If it's similar to carbon I might give it a try...
Click to expand...
Click to collapse
Well I use to be a Carbon die-hard fan before, but since the dev have got himself another device, so I just had to change rom.
And then I try Vanir. Surprisingly it's pretty stable, and we have official support by the Vanir team too.
Feature-wise its just as good as Carbon, but I kinda miss the pie, since Vanir doesn't have it.
And I think Vanir have a bit more features than Carbon do.
Anyway can you go lower than those cpu voltage on your OP? Or is it really not stable?
Mine's 1000 is at 0x2c, 800 at 0x20, and that's the lowest I can go.
And thanks for the gpu voltage :good: , I actually use that value now :laugh:
aioreu the
Reinkaos said:
Well I use to be a Carbon die-hard fan before, but since the dev have got himself another device, so I just had to change rom.
Click to expand...
Click to collapse
It's a pity... but I understand that's only the S Advance branch of Carbon thats dead - the rom itself is being developed further?
And then I try Vanir. Surprisingly it's pretty stable, and we have official support by the Vanir team too.
Feature-wise its just as good as Carbon, but I kinda miss the pie, since Vanir doesn't have it.
And I think Vanir have a bit more features than Carbon do.
Click to expand...
Click to collapse
I didn't like the pie ;P But if you say it's ok, I'll give it a try when I'm in the mood to reinstall everything on the phone...
Anyway can you go lower than those cpu voltage on your OP? Or is it really not stable?
Mine's 1000 is at 0x2c, 800 at 0x20, and that's the lowest I can go.
Click to expand...
Click to collapse
Actually I didn't recheck those two and focused on lower freqs - these were the limits with older LiveOPP, but now I can go to 0x22 and 0x2c.
In fact, 0x24 and 0x2f are already undervolted values - original are 0x28 and 0x32. But every bit counts, especially on higher freqs.
Thanks for the tip
But what's more interesting - 900MHz works at 0x23 (didn't test that before - just took a voltage halfway between 800 and 1000)... there's something wrong with this ARM_100_OPP, but I don't know what yet... Will test the rest again later and post my results.
And thanks for the gpu voltage :good: , I actually use that value now :laugh:
Click to expand...
Click to collapse
Your welcome
When I have time, I'll try to write how to quickly check undervolting limits for both cpu and gpu.
Mk
mkaluza said:
It's a pity... but I understand that's only the S Advance branch of Carbon thats dead - the rom itself is being developed further?
Click to expand...
Click to collapse
Yes, only for our device. It's not really dead yet.
The dev has been kind enough compiling new one once in a while.
I didn't like the pie ;P But if you say it's ok, I'll give it a try when I'm in the mood to reinstall everything on the phone...
Click to expand...
Click to collapse
Yeah, I could understand that. Too much of a hassle. Got to reinstall everything back again.
But you know, I always do clean flash, even with nightlies. Imagine backing up, factory reset and restoring everything in every 3-4 days.
But now I get really used to it
Actually I didn't recheck those two and focused on lower freqs - these were the limits with older LiveOPP, but now I can go to 0x22 and 0x2c.
In fact, 0x24 and 0x2f are already undervolted values - original are 0x28 and 0x32. But every bit counts, especially on higher freqs.
Thanks for the tip
But what's more interesting - 900MHz works at 0x23 (didn't test that before - just took a voltage halfway between 800 and 1000)... there's something wrong with this ARM_100_OPP, but I don't know what yet... Will test the rest again later and post my results.
Click to expand...
Click to collapse
No problem man, thought that information would be useful to you.
Yeah, it would be really nice to go lower, especially on 1000 and 800.
I'm gonna test the rest, and later I would let you know the lowest working voltage that I can go.
And honestly, I have no idea about kernel stuffs :silly: The least that I can do is to play around with it
Your welcome
When I have time, I'll try to write how to quickly check undervolting limits for both cpu and gpu.
Mk
Click to expand...
Click to collapse
Yes, please do. I would really appreciate that :fingers-crossed:
Reinkaos said:
Yes, only for our device. It's not really dead yet.
The dev has been kind enough compiling new one once in a while.
Click to expand...
Click to collapse
He also left a repo with build scripts and manual, so I'll try to build the rom.
Yeah, I could understand that. Too much of a hassle. Got to reinstall everything back again.
But you know, I always do clean flash, even with nightlies. Imagine backing up, factory reset and restoring everything in every 3-4 days.
But now I get really used to it
Click to expand...
Click to collapse
That's hardcore ;P I have patience to do it 1-2 times a year
Yeah, it would be really nice to go lower, especially on 1000 and 800.
I'm gonna test the rest, and later I would let you know the lowest working voltage that I can go.
Click to expand...
Click to collapse
mine crashed at 1000MHz/0x2c - I'm on 0x2d now and it seems ok
And honestly, I have no idea about kernel stuffs :silly: The least that I can do is to play around with it
Click to expand...
Click to collapse
You could always learn It's fun, all the info is there to read for free... all it takes is will and time
Yes, please do. I would really appreciate that :fingers-crossed:
Click to expand...
Click to collapse
I still cant post links, so you need to go to my github (mkaluza), open the i9070_kernel_CoCore-E repo and go to wiki on the right - there is a page "Undervolting janice". Hope this helps.
Mk
mkaluza said:
He also left a repo with build scripts and manual, so I'll try to build the rom.
Click to expand...
Click to collapse
Well that's a good news :good:
That's hardcore ;P I have patience to do it 1-2 times a year
Click to expand...
Click to collapse
LOL yeah
mine crashed at 1000MHz/0x2c - I'm on 0x2d now and it seems ok
Click to expand...
Click to collapse
I'm not sure if mine is really stable, gonna test it with your guide on github
You could always learn It's fun, all the info is there to read for free... all it takes is will and time
Click to expand...
Click to collapse
Yeah, I am learning right now
I still cant post links, so you need to go to my github (mkaluza), open the i9070_kernel_CoCore-E repo and go to wiki on the right - there is a page "Undervolting janice". Hope this helps.
Mk
Click to expand...
Click to collapse
So there are scripts that will provide me with some infos when doing UV-ing
And I'm not familiar with registers though, I only do it via liveopp, but still I'll try this
Thanks for the guide
Anyway I got a question about gpu, lets say my mali low_boost is 400 and high_boost is 480,
does it use the two freq only or it use the other freq in between 400 and 480 too?
P.S. hey you could just spam in OT threads to get 10 posts
Reinkaos said:
I'm not sure if mine is really stable, gonna test it with your guide on github
Click to expand...
Click to collapse
If you don't get random reboots/crashes than it is - when following my guide, the resulting voltage should be stable, but it isn't always so... I'ts just a starting point that can save you some initial crashes or the other way around - if it doesn't pass freq_jump test, then it isn't stable for sure
Anyway I got a question about gpu, lets say my mali low_boost is 400 and high_boost is 480,
does it use the two freq only or it use the other freq in between 400 and 480 too?
Click to expand...
Click to collapse
Only those two - three actually - also 200MHz (that is low_boost/2), but with ape_50_opp voltage, not the one from dvfs_config. There's not much point in doing any smarter gov because gpu intensive apps usually load it at 100% no matter how much power it has - they just have more fps then.
.P.S. hey you could just spam in OT threads to get 10 posts
Click to expand...
Click to collapse
Yeah, maybe, but if those are the rules, then I try to respect them - because I respect the community. (not because I'm some kind of by-the-book guy ;P I ride motorcycle and have already broken so many rules, that they would put me behind bars for life if anybody kept the count ;P).
mkaluza said:
I ride motorcycle and have already broken so many rules, that they would put me behind bars for life if anybody kept the count ;P).
Click to expand...
Click to collapse
You like adrenaline, heh
PS: Sorry for OT
mkaluza said:
If you don't get random reboots/crashes than it is - when following my guide, the resulting voltage should be stable, but it isn't always so... I'ts just a starting point that can save you some initial crashes or the other way around - if it doesn't pass freq_jump test, then it isn't stable for sure
Click to expand...
Click to collapse
Hey, just letting you know, about opptop script, we don't have prcmu-qos folder in /debug. I thought maybe it have a different name, but I couldn't find ape_requirements and ddr_requirements. The others are working fine
Only those two - three actually - also 200MHz (that is low_boost/2), but with ape_50_opp voltage, not the one from dvfs_config. There's not much point in doing any smarter gov because gpu intensive apps usually load it at 100% no matter how much power it has - they just have more fps then.
Click to expand...
Click to collapse
Thanks for the infos :good:
Yeah, maybe, but if those are the rules, then I try to respect them - because I respect the community. (not because I'm some kind of by-the-book guy ;P I ride motorcycle and have already broken so many rules, that they would put me behind bars for life if anybody kept the count ;P).
Click to expand...
Click to collapse
LOL, I'm curious though, what bike do yo own? Must be a real badass one
Force said:
You like adrenaline, heh
PS: Sorry for OT
Click to expand...
Click to collapse
I'ts more about freedom and versatility, but yeah sometimes I like to push it too
Reinkaos said:
Hey, just letting you know, about opptop script, we don't have prcmu-qos folder in /debug. I thought maybe it have a different name, but I couldn't find ape_requirements and ddr_requirements. The others are working fine
Click to expand...
Click to collapse
I forgot... this feature was written by me, so it's available only on my kernel for the moment. But it's not really that important - it was more for debugging purposes for me, now I left it as informative.
I'm trying to build Carbon rom for out phone since last night... when/if I'm done, I'll patch the kernel with my stuff and push it somewhere. What is your kernel version? I think that both carbon and vanir use the same, or at least similar one.
LOL, I'm curious though, what bike do yo own? Must be a real badass one
Click to expand...
Click to collapse
Not really I't an old BMW F650 - only 48 ponies (of which some might have already died of old age ;P). But in reality you can do most of the fun stuff with as little as 125cc Anything bigger is usefull for longer trips/highways/trips with passenger/etc... I mostly ride small country roads and light offroad, so I rarely go over 100km/h, so no badass machine is needed something like 350cc would be best I think. Actually - it's not the bike you ride, but how you ride it... and on narrow roads with many turns a bigger bike is event sometimes harder to ride...
mkaluza said:
I forgot... this feature was written by me, so it's available only on my kernel for the moment. But it's not really that important - it was more for debugging purposes for me, now I left it as informative.
I'm trying to build Carbon rom for out phone since last night... when/if I'm done, I'll patch the kernel with my stuff and push it somewhere. What is your kernel version? I think that both carbon and vanir use the same, or at least similar one.
Click to expand...
Click to collapse
Well ok then. Vanir got a 3.0.101 kernel. It's the same I think? I'll flash and test it when you're done, definitely.
Not really I't an old BMW F650 - only 48 ponies (of which some might have already died of old age ;P). But in reality you can do most of the fun stuff with as little as 125cc Anything bigger is usefull for longer trips/highways/trips with passenger/etc... I mostly ride small country roads and light offroad, so I rarely go over 100km/h, so no badass machine is needed something like 350cc would be best I think. Actually - it's not the bike you ride, but how you ride it... and on narrow roads with many turns a bigger bike is event sometimes harder to ride...
Click to expand...
Click to collapse
lol the biggest one I ever been on is about 130 cc. It's small, enough that you could squeeze through traffics
I don't know much about bike, but AFAIK those superbike need different kind of handling too.
Let's speak just about this kernel as for this is meant this thread
Please anyone tell me how to find the kernel link . I`m a noob at this part :silly: Thanks
pictorul20 said:
Please anyone tell me how to find the kernel link . I`m a noob at this part :silly: Thanks
Click to expand...
Click to collapse
Go here and see download link at top of page: https://github.com/mkaluza/i9070_kernel_CoCore-E
Download link : http://goo.gl/FvqPlg
Then check OP to see how to install it.
Force said:
Go here and see download link at top of page: https://github.com/mkaluza/i9070_kernel_CoCore-E
Download link : http://goo.gl/FvqPlg
Then check OP to see how to install it.
Click to expand...
Click to collapse
Many Thanks.

Categories

Resources