[Think tank] Overclocked Dual Core Kernel - G1 Android Development

before i get flamed, i just searched and didnt find a open thread about this... )
since there is talks to Overclock the GPU (Not thie CPU) from 128.000000 to increase performance since CM5 Eclair rellies on the GPU (so no RAM Hack), could there be a kernel compiled to allocate 200MHz for apps running in background and the remaining 375MHz (using .txt from CM5 Kernel) to run apps. Mayb it can partially increase performance due to lack of memory and CPU horsepower of the HTC Dream (G1) /Sapphire (MyTouch3G 32B) Compared to Nexus One, Evo4G, Incredible, Droid2/DroidX. Remember a solo 4.0GHz CPU isnt better than a Dual Core CPU running at 2.4GHz a pop. Devs help me out on this.

boimarc89 said:
before i get flamed, i just searched and didnt find a open thread about this... )
since there is talks to Overclock the GPU (Not thie CPU) from 128.000000 to increase performance since CM5 Eclair rellies on the GPU (so no RAM Hack), could there be a kernel compiled to allocate 200MHz for apps running in background and the remaining 375MHz (using .txt from CM5 Kernel) to run apps. Mayb it can partially increase performance due to lack of memory and CPU horsepower of the HTC Dream (G1) /Sapphire (MyTouch3G 32B) Compared to Nexus One, Evo4G, Incredible, Droid2/DroidX. Remember a solo 4.0GHz CPU isnt better than a Dual Core CPU running at 2.4GHz a pop. Devs help me out on this.
Click to expand...
Click to collapse
Imo this would cause huge problems in switching between apps in foreground and background... because this is just a little cpu, not some fine-tuned intel dual core stuff... lol

I've said in other threads that no question is a stupid question. Sometimes really weird and impossible questions lead to fascinating discoveries.
And though at the surface, it appears to be impossible and or unreasonable, when you think about it, that is actually WHAT IT DOES! Sortof.
The LINUX KERNEL has a process scheduler. It divides CPU time between multiple processes in order to be both fair, as well as provide certain important processes as much CPU time as they require -- this is called PRIORITY or NICENESS. A very "nice" process will yield its CPU time to other less "nice" processes.
So what you are really proposing is to divide the CPU time into two blocks of different priority, and set processes into each of the two blocks.
It is actually a cool idea.
It is certainly *possible* to implement this, but how is another question. It would certainly be related to the process scheduler, might require a whole new process scheduler to be written, or might be some options to use existing process schedulers to do this. Might be worthy of some research.
Now there are some places where this idea breaks down;
The first, and most obvious, is what happens if some background process, like the phone, needs to take over in a hurry, but the scheduler bucket it is in is limited to 35%? See, it needs some though.
Right now, each process is set based on its priority level. A very un-nice process will consume what it needs at any given moment, and whatever CPU time is left over will be allocated to all the other processes. A very nice process will consume whatever is left over after all of the other processes are finished eating up the CPU time.
Niceness is set using a number from -20 to 19, the higher the number, the "nicer" the process behaves. The default is 10.
So what it looks like you want to do is raise the niceness of (certain) background processes and/or lower the niceness of foreground processes.
Again though, there are consequences to doing this. And chances are that things will start to blow up in your face if you try this -- i.e. you'll start getting some nasty ANRs.
What is the exact REASON why you want this?
Finally, you made an interesting statement, that a single 4GHz isn't better than a pair of 2.4's.... and that isn't actually correct. A 4GHz will be MUCH MUCH MUCH faster when dealing with SINGLE THREADED APPLICATIONS. Look up "Turbo Core" and "Turbo Boost".... this is something that new desktop CPUs do when dealing with single-threaded processing -- shut down some cores and overclock the remaining.

lbcoder said:
I've said in other threads that no question is a stupid question. Sometimes really weird and impossible questions lead to fascinating discoveries.
And though at the surface, it appears to be impossible and or unreasonable, when you think about it, that is actually WHAT IT DOES! Sortof.
The LINUX KERNEL has a process scheduler. It divides CPU time between multiple processes in order to be both fair, as well as provide certain important processes as much CPU time as they require -- this is called PRIORITY or NICENESS. A very "nice" process will yield its CPU time to other less "nice" processes.
So what you are really proposing is to divide the CPU time into two blocks of different priority, and set processes into each of the two blocks.
It is actually a cool idea.
It is certainly *possible* to implement this, but how is another question. It would certainly be related to the process scheduler, might require a whole new process scheduler to be written, or might be some options to use existing process schedulers to do this. Might be worthy of some research.
Now there are some places where this idea breaks down;
The first, and most obvious, is what happens if some background process, like the phone, needs to take over in a hurry, but the scheduler bucket it is in is limited to 35%? See, it needs some though.
Right now, each process is set based on its priority level. A very un-nice process will consume what it needs at any given moment, and whatever CPU time is left over will be allocated to all the other processes. A very nice process will consume whatever is left over after all of the other processes are finished eating up the CPU time.
Niceness is set using a number from -20 to 19, the higher the number, the "nicer" the process behaves. The default is 10.
So what it looks like you want to do is raise the niceness of (certain) background processes and/or lower the niceness of foreground processes.
Again though, there are consequences to doing this. And chances are that things will start to blow up in your face if you try this -- i.e. you'll start getting some nasty ANRs.
What is the exact REASON why you want this?
Finally, you made an interesting statement, that a single 4GHz isn't better than a pair of 2.4's.... and that isn't actually correct. A 4GHz will be MUCH MUCH MUCH faster when dealing with SINGLE THREADED APPLICATIONS. Look up "Turbo Core" and "Turbo Boost".... this is something that new desktop CPUs do when dealing with single-threaded processing -- shut down some cores and overclock the remaining.
Click to expand...
Click to collapse
yep that's what i was trying to say.

the reason is bcuz the CM5 Eclair uses so much RAM , u constantly run outa RAM on D/S. i thought of this since theres rumors of a the HTC Vision in Q4 2010 running on Android powered by a dual core 800MHz proccessor coming for T-Mobile. Everyone never thought of the iPhone ever being able to run Linux and Android smoothly..Now look wht happened?..its running Android 2.2 waaay before even us G1/ MT3G owners can taste the froyo. It seems like a good idea to try becuz its clocked at a maximum of 575 MHz anyway. the idea is to jus allocate some of the power for background apps and the remainder for everything else. it was thought up in good intentions for those who cant afford the V12 powered Nexus One and are stuck until we cancel T-Mobile and get a Evo/Droid X like myself...or we get a new phone

lbcoder said:
[snip]
So what you are really proposing is to divide the CPU time into two blocks of different priority, and set processes into each of the two blocks.
It is actually a cool idea.
It is certainly *possible* to implement this, but how is another question. It would certainly be related to the process scheduler, might require a whole new process scheduler to be written, or might be some options to use existing process schedulers to do this. Might be worthy of some research.
[snap]
Click to expand...
Click to collapse
Sounds like a job for cgroups! AFAIK CM already does this, though one could argue the groups aren't currently intelligently assigned. I'm not familiar with the details of how that's set up.

Related

Is overclocking worth the effort?

I have an overclocked Samsung Epic and it the improvement in speed in everyday use is significant. Because the processor voltage is set lower than stock there is no sacrifice in battery life. With the Asus Transformer do you get a definite and significant benefit from overclocking? I am not talking about test bench scores but real world noticeable responsiveness. When I skim through the forums it is difficult for me to tell? Some people swear by sticking with stock. I would appreciate others perspectives.
Thanks
The improvements from overclocking vary on the application.
Home screen switching is choppy regardless of overclocking simply because the launcher lacks optimization. Browser performance is improved a little bit, but mainly remains unchanged as well. Games run noticeably smoother, especially Fpse. Task switching gets a small boost, as some applications will be able to load faster.
If you're a big gamer, overclocking is definitely worth it. For everything else, it won't make much of a difference.
I haven't played too many games (mostly Stardunk and Stupid Zombies) on my TF, but I haven't noticed any issues with them. I have also played high profile 720p video with absolutely no stuttering or artefacts.
In other words, I haven't felt the need to overclock yet. But if you are doing heavy gaming and/or video processing of some kind, it might be worthwhile.
For me, there's hardly any need to OC. It all depends on what you wanna do. To many people who play a lot of games on their TF, they report increases in performance (especially with emulators) but on other things I never really noticed any difference. I'm currently underclocking my TF, and have been for about a week, with no noticable stutters or performance issues and have great battery life.
And it's not really an "effort" to flash a new kernel... the hardest thing is waiting for your device to boot up again...
I have a transformer, galaxy tab 10.1, and a xoom. I've used just about every kernel that can be overclocked for each one of them, and to be honest I haven't really seen any improvements from them. I don't really play many games on my tablets though, so maybe there really is some benefit in that area.
Galaxy's screen
How do you rate the screen of the Galaxy Tab 10.1? Is it as good as the Super AmoLED (+)'s from Samsung mobiles?
droidx1978z4 said:
I have a transformer, galaxy tab 10.1, and a xoom. I've used just about every kernel that can be overclocked for each one of them, and to be honest I haven't really seen any improvements from them. I don't really play many games on my tablets though, so maybe there really is some benefit in that area.
Click to expand...
Click to collapse
This seems so counter-intuitive to me. If you overclock a PC CPU there is a very direct correlation with performance. There are always limiting factors such HD acess, etc., but there is a definite and noticeable difference across applications. What is even more surprising is that we are talking about very large % increases vs what people can do in the PC world. People are overclocking these CPUs by 50% plus...You would think you would see a very noticeable improvement but that doesn't seem to be the case.
My main interest is in browser performance. For example, XDA forum pages load extremely slow in all browsers I have tried (stock, Opera, Dolfin) with 5-6s to refresh vs instant on desktop browser. Also flash video tends to freeze and stutter some times. My internet connection is over 20Mb/s down and 5Mb/s up. I was hoping that I would find overclocking safe and provide a noticeable improvement.
earlyberd said:
The improvements from overclocking vary on the application.
Home screen switching is choppy regardless of overclocking simply because the launcher lacks optimization. Browser performance is improved a little bit, but mainly remains unchanged as well. Games run noticeably smoother, especially Fpse. Task switching gets a small boost, as some applications will be able to load faster.
If you're a big gamer, overclocking is definitely worth it. For everything else, it won't make much of a difference.
Click to expand...
Click to collapse
So for web page loading you haven't noticed much of a difference? How about flash video?
Thanks.
Overclocking can be a bit like collecting .. 'string' , because it is mostly done for the sake of itself, kind of like the many Ham Radio fans who talk about their "rigs", etc etc.
Yeah, of course if you can get, like in the old old days, a celeron 300 that overclocks to 450, and is dead stable, it was noticeable, and if you had a droid 1, which overclocked (many did) with ease from 500 to 1000+ , then it was again, noticeable, just not a staggeringly 2 times increase, because there are too many other factors.
The number of bus errors, and retries and slowness of the original bus speeds, and other components makes for a not-quite-as-expected by the numbers 'increase'. I would still mess with it, but not for the obvious reasons. I like under-volting more, and over-clocking only the slightest bit where nothing ever crashes or FCs. The moment you overclock, you really shouldn't be asking questions about 'Why does blah blah netflix crash?' because it crashes because you overclocked, and nothing else matters until you stick a kernel back at stock in there.
The other thing I love about alternate kernels is that you've got control of what modules you either compile in or compile and load as .ko files. cifs, tun, ntfs, whatever, it is all very useful, so there are lots of good and not-as-good things about it.
One thing I hate is when a dev insists on creating a kernel that has a 'default' speed greater than stock so that you've instantly got an ordeal if you've got one of the many gizmos that will not overclock to his default (like 1.6 to pick a number out of a hat).. Just make them all start at default, then allow us , the users, to setup overclocking via testing with setcpu or some such thing. Much easier than basically bricking things right off.
I sometimes look at those guys that overclock 'seriously' (by 3-4 times) using a container of liquid nitrogen that lasts for ~5 minutes and it is all for bragging rights, setting records , etc and think they're insane, but that is also part of it. Some are happy if they can just post here that they got 9,000 mF on some test despite not being able to do anything else reliably.
hachamacha said:
Overclocking can be a bit like collecting .. 'string' , because it is mostly done for the sake of itself, kind of like the many Ham Radio fans who talk about their "rigs", etc etc.
Yeah, of course if you can get, like in the old old days, a celeron 300 that overclocks to 450, and is dead stable, it was noticeable, and if you had a droid 1, which overclocked (many did) with ease from 500 to 1000+ , then it was again, noticeable, just not a staggeringly 2 times increase, because there are too many other factors.
The number of bus errors, and retries and slowness of the original bus speeds, and other components makes for a not-quite-as-expected by the numbers 'increase'. I would still mess with it, but not for the obvious reasons. I like under-volting more, and over-clocking only the slightest bit where nothing ever crashes or FCs. The moment you overclock, you really shouldn't be asking questions about 'Why does blah blah netflix crash?' because it crashes because you overclocked, and nothing else matters until you stick a kernel back at stock in there.
The other thing I love about alternate kernels is that you've got control of what modules you either compile in or compile and load as .ko files. cifs, tun, ntfs, whatever, it is all very useful, so there are lots of good and not-as-good things about it.
One thing I hate is when a dev insists on creating a kernel that has a 'default' speed greater than stock so that you've instantly got an ordeal if you've got one of the many gizmos that will not overclock to his default (like 1.6 to pick a number out of a hat).. Just make them all start at default, then allow us , the users, to setup overclocking via testing with setcpu or some such thing. Much easier than basically bricking things right off.
I sometimes look at those guys that overclock 'seriously' (by 3-4 times) using a container of liquid nitrogen that lasts for ~5 minutes and it is all for bragging rights, setting records , etc and think they're insane, but that is also part of it. Some are happy if they can just post here that they got 9,000 mF on some test despite not being able to do anything else reliably.
Click to expand...
Click to collapse
Great post!
+1
Very philosophical ! ;-)
I guess what I am getting at is if you overclock to 1.2Ghz-1.3Ghz on the Transformer can you have a stable system that shows an appreciable improvement in responsiveness? Moving from hypothetical to actual...have you done this? Any specific kernel?
The engineer in me is looking for a definitive answer. ;-)
Thanks.
sstea said:
Very philosophical ! ;-)
I guess what I am getting at is if you overclock to 1.2Ghz-1.3Ghz on the Transformer can you have a stable system that shows an appreciable improvement in responsiveness? Moving from hypothetical to actual...have you done this? Any specific kernel?
The engineer in me is looking for a definitive answer. ;-)
Thanks.
Click to expand...
Click to collapse
Yeah, I've done this, just not on the TF yet. I'm working on a kernel right now that doesn't have OC built-in and activated at boot, so that we can use setcpu to screw around with it and find that 'sweet spot' that works for us, also under-over-volting. What I'd really like is to build in all the modules I like, setup over/under-clocking-volting and have it boot at 1 G. I mean, a dual-core 1G is nothing to sneeze at, and then try to ramp it up without screwing with over-volting immediately. I never like other peoples ROMs or Kernels because they have made their own crazy judgement calls. I like my own crazy judgement calls
Here's what I've noticed: When you have 'up-to-date' technology , as we do, in the TF, then overclocking that is totally stable makes a difference and it is noticeable. For me it's the FC's that kill the deal, but this chip and box appear to have plenty of headroom so I'm guessing that 1.2, 1.3, 1.4 are all good possibilities.
Example: My HTC Incredible phone has been overclocked to 1.1 from 1.0G for ~a year or so, and it doesn't FC, and it is faster, noticeably than at 1. It's only a 10% increase and yet it feels much quicker, so go figure. Those things are also subjective, so grain of salt... Example2: A stock droid1 is one I took to a double overclock, 550 to 1000, and yes it was faster at some things, but the underlying infrastructure didn't really support the faster CPU so I really never noticed a 100% increase that matched the clock speed. I left it that way for a year without any damages and it still boots up fine at 1 G.
In another post I started, I was asking what keys were required to boot 'safe mode' which exists in android OSs, and if I knew that, I'd try one of the OC'd kernels right now. IF not, I don't feel like unbricking again.
If you're interested, here's a good link for building your own: (generic android, not TF really:
http://www.droidforums.net/forum/rescue-squad-guides/31452-how-compile-your-own-kernel.html
Thanks for the response. With such a large community of Transformer users I am hoping to find a solid, conservative kernel that I can overclock with. Creating one myself is beyond my current technical capabilities.

[Q] overclocking droid charge

How can I go about overclocking my droid charge? I am running TWEAKSTOCK 1.0 rom and was wondering how to overclock my charge?
I haven't seen any over clockable kernels so until then I don't think you can.
Download tegrak overclock from the market if u want to overclock. I'm running mine at 1.2 and undervolted and it works great.
Sent from my SCH-I510 using XDA App
Chitala383 said:
Download tegrak overclock from the market if u want to overclock. I'm running mine at 1.2 and undervolted and it works great.
Sent from my SCH-I510 using XDA App
Click to expand...
Click to collapse
With the same kernel?
Well, if you actually searched, this would be clearly stated in many threads.
For GB overclocking, use Tegrak for now, until we can get an actual OC kernel up and running. I think Tegrak will work on the stock kernel as long as you're rooted, as it uses a module to modify the CPU frequency.
Sent from my SCH-I510 using xda premium
Another tegrak user here. I paid for the ultimate version for undervolt and start on boot
Sent from my SCH-I510 using XDA App
xdadevnube said:
Another tegrak user here. I paid for the ultimate version for undervolt and start on boot
Sent from my SCH-I510 using XDA App
Click to expand...
Click to collapse
Are there noticeable improvements with overclocking/undervolting?
Also what settings do you use?
BattsNotIncld said:
Are there noticeable improvements with overclocking/undervolting?
Also what settings do you use?
Click to expand...
Click to collapse
Take what I say with a grain of sand, I'm expressing my views without much scientific validation.
Keep in mind that overclocking is like icing on the cake. There are far more beneficial things like changing the scheduler to noop or deadline. Fugu tweaks and V-6 are highly recommended to improve responsiveness and improve your launcher resiliency. That said, I feel overclocking has its place and helps in many cases. I've noticed, in general, various tasks and some web-browsing will benefit from the increased clock speed. Some things don't ramp up the CPU very much and you won't notice much difference in that case.
I monitor my CPU usage with CPUNotify as well as OS Monitor.
I monitor the CPU temps with TempMonitor (it allows for a notifcation icon that shows the CPU temp.)
I use StabilityTest to check for overclock settings stability. The cool thing about Tegrak is that when you apply overclock settings on boot (paid version only) and you choose settings that crash the phone, the settings don't apply until most of the phone is already booted up, so you aren't stuck in an infinite boot loop of crashing fun. You should be able to simply change up the settings after they apply since the phone will be mostly idle by the time Tegrak settings are applied.
As for settings...
I use the Interactive X governor. I prefer this governor for its simplicity and ability to ramp up to high CPU clock speeds quickly. I enable the governor by typeing "su" and "ix enable" in Terminal Emulator when on Imoseyon's 4.0 kernel.
I change the "scaling min" to 200Mhz to avoid instability when CPU usage ramps down quickly.
Currently at CPU Level 0 I am at 1265mv Core Voltage, 1100mV (unchanged) Internal Voltage, and 1200 Mhz Frequency.
I don't actually change other CPU Levels.
Lately I've been just keeping at eye on temps so I haven't achieved my desired clock speed of a relatively low-voltage 1.4Ghz to 1.5Ghz.
Overclocking is very dependent on the particular sample you get. Some of us have "Golden Chips" and some of us have duds.
Your CPU should be totally safe at temps around 130 degrees F, although I suspect that it could even take higher sustained temps well above that if it needed. I don't actually know, this is speculation.
I like to keep my temps low in general, I rarely crack 100F with my current settings (weather is cool here.)
Overclocking computers is one of my hobbies, and its fun to dive into the phone side of things. I haven't been able to find a whole lot of information regarding overclocking the Hummingbird processor. People have overclocked to 1.6Ghz. Stability tests are essential to improve the reliability of your overclock. Die hards will run the tests for 24 hours to weeks in the computer realm. At least with computers its better understood how the stability test actually works. I run 24 hours of Orthos blend mode (Prime95) on each core.
With phones, its hard to say if it will truly be stable.
I test for an hour on the phone with StabilityTest and call it good. Hopefully in the future more information will come to light regarding how to properly overclock.
Remember, the other side of the coin is underclocking and undervolting. If you drop your voltage, you should see a nice increaes in battery life. If you drop your clocks, then you can drop your voltage even more. If you get your phone dialed in to where there isn't much background apps sucking juice- a phone that is UV/UC'ed should have excellent battery life.
Does anyone else read noop as nope?
What's the difference between internal and CPU voltage?
Also, I hope you know that Orthos does not scale well across multiple cores. You are essentially relying on Task Manager to put the load on different cores.Orthos was originally made with dual cores in mind.
Sent from my SCH-I510 using xda premium
kvswim said:
Does anyone else read noop as nope?
What's the difference between internal and CPU voltage?
Also, I hope you know that Orthos does not scale well across multiple cores. You are essentially relying on Task Manager to put the load on different cores.Orthos was originally made with dual cores in mind.
Sent from my SCH-I510 using xda premium
Click to expand...
Click to collapse
Apparently little is known in the public domain about Internal voltage. I have been unable to find good information regarding Internal voltage. Knowing little about the architecture of the SOC, I suspect it is a voltage that controls different parts of the SOC hub. I suspect that you could say its synonymous with a computer motherboard's voltage (although there are several.)
I find it interesting that, as far as I can tell, few people have increased Internal voltage much even though they may achieve a clock speed of 1.6GHz by increasing CPU voltage.
In any case, I have heard reports of instability by going to low, as would be expected. I haven't found the need to increase Internal voltage yet.
P.S. You can run an instance of Prime95 on each "core" or one instance of Orthos per two "cores" and still be able to test stability reliably. You have to set Core affinity, and I usually set it so that each core and hyperthreaded core each get an instance of Orthos. In this case, each core's usage will be 100%.
xdadevnube said:
Apparently little is known in the public domain about Internal voltage. I have been unable to find good information regarding Internal voltage. Knowing little about the architecture of the SOC, I suspect it is a voltage that controls different parts of the SOC hub. I suspect that you could say its synonymous with a computer motherboard's voltage (although there are several.)
I find it interesting that, as far as I can tell, few people have increased Internal voltage much even though they may achieve a clock speed of 1.6GHz by increasing CPU voltage.
In any case, I have heard reports of instability by going to low, as would be expected. I haven't found the need to increase Internal voltage yet.
P.S. You can run an instance of Prime95 on each "core" or one instance of Orthos per two "cores" and still be able to test stability reliably. You have to set Core affinity, and I usually set it so that each core and hyperthreaded core each get an instance of Orthos. In this case, each core's usage will be 100%.
Click to expand...
Click to collapse
Internal SOC voltage...maybe akin to northbridge or southbridge voltage? When OCing a computer you have to keep the northbridge within a nominal voltage of the CPU frequency (if that makes sense). Too much of a discrepancy makes the computer unstable. Increasing the southbridge voltage increases the memory overclocking stability with large amounts of RAM, and obviously, when you overclock a processor you are also overclocking memory.
Maybe we could ask the developer? Although he is Korean and we may not be able to get our point across.
For stability testing on PCs I recommend OCCT. Scales well over Multiple cores and also allows GPU and power supply stability testing.
Sent from my SCH-I510 using xda premium
kvswim said:
Internal SOC voltage...maybe akin to northbridge or southbridge voltage? When OCing a computer you have to keep the northbridge within a nominal voltage of the CPU frequency (if that makes sense). Too much of a discrepancy makes the computer unstable. Increasing the southbridge voltage increases the memory overclocking stability with large amounts of RAM, and obviously, when you overclock a processor you are also overclocking memory.
Maybe we could ask the developer? Although he is Korean and we may not be able to get our point across.
For stability testing on PCs I recommend OCCT. Scales well over Multiple cores and also allows GPU and power supply stability testing.
Sent from my SCH-I510 using xda premium
Click to expand...
Click to collapse
Well, I have heard of slight Internal Voltage increases being necessary for high overclocks on Hummingbird. I have heard dropping it causes major instability. I would guess that it doesn't need to be modified for modest overclocks.
I did quite a bit of web searching trying to find conclusive guides or overclocking results for Humminbird to no avail.
I use ATI Tool for checking GPUs, but OCCT may be better. It seems OCCT has improved a fair bit, I may use it.
xdadevnube said:
Well, I have heard of slight Internal Voltage increases being necessary for high overclocks on Hummingbird. I have heard dropping it causes major instability. I would guess that it doesn't need to be modified for modest overclocks.
I did quite a bit of web searching trying to find conclusive guides or overclocking results for Humminbird to no avail.
I use ATI Tool for checking GPUs, but OCCT may be better. It seems OCCT has improved a fair bit, I may use it.
Click to expand...
Click to collapse
Probably because no one has taken the time to write one. Not exactly in high demand. I knew of one "guide" but the site has been down for quite some time.
Of course there are noobs guides but nothing quite in depth. I suppose people don't write them because there are obvious limits set by the kernel dev, and anything beyond that requires someone who obviously knows what they're doing, which defeats they purpose of a guide.
Sent from my GT-P1000 using xda premium

CPU Freq: How do you keep yours?

This is a question I've never seen asked, but it's an important one. What are you phones CPU Freqs? What Govs do they have, and what Profiles do you use?
Rom: PyroIce
Main: 192 Min, 918 Max. OnDemand.
Screen Off: 192 Min, 384 Max. PowerSave.
InCall: 192 Min, 540 Max. Interactive.
Time 11pm-7am: 192Min/Max Powersave.
Sent from my HTC myTouch_4G_Slide using Tapatalk
that's cool, i might start using profiles again. from fiddling around i've noticed the difference between the ondemand and conservative governors- with ondemand, the processor seems to go from min. to all the way to max. and back down to min, and doesn't use the middle frequencies as much, while on conservative, the processor doesn't shoot up to max. as easily and seems to meander thru the middle frequencies a lot more. it makes sense too, because i've noticed that the phone seems snappier with ondemand.
i noticed you're using some of the others... i'll have to check them out as well.
ondemand
Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see "up threshold" in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed. - SetCPU website
conservative
Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery. - SetCPU website
performance
Available in most kernels. It will keep the CPU running at the "max" set value at all times. This is a bit more efficient than simply setting "max" and "min" to the same value and using ondemand because the system will not waste resources scanning for the CPU load. This governor is recommended for stable benchmarking. - SetCPU website
powersave
Available in some kernels. It will keep the CPU running at the "min" set value at all times. - SetCPU website
userspace
A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor. - SetCPU website
Interactive
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when 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 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
AgentCherryColla said:
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
Click to expand...
Click to collapse
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
yellowjacket1981 said:
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
Click to expand...
Click to collapse
If you run a Sense 3.6 Rom, boost the CPU to 1Ghz. 918Mhz Lags.
Sent from my HTC myTouch_4G_Slide using Tapatalk
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yes.
You cannot use anything the kernel doesn't already serve as an option, though.
SetCPU doesn't create options - it allows you user-level access to the ones already existing.
Normally you have no control over your clock speed but with it you can...say... limit the maximum clock speed to only be two-thirds of the stock speed.
Since it doesn't ramp up all the way, it doesn't drain as much power.
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done. But if you don't do much with your phone, and don't need a lot of high-end CPU ability, why let it run flat out?
You can also set it to be like that only sometimes, and maximize battery savings by telling your device to chill out when it doesn't have to be awesome.
Now, if you get into custom kernels where you or a dev has opened up more options, SetCPU will again give you user level control over them.
Especially once you get into overclocking beyond manufacturer(s) recommendations, not having some end-user level control over the processor like this is irresponsible.
If you think I run a 1.7 or 1.9 or 1.5+anything on the device flat-out balls-to-the-wall all the time, I would ask you if you drive your car with the gas pedal smashed to the floor all the time. (it's a fitting analogy)
No, again, that would be irresponsible abuse of the hardware for no good reason.
If not SetCPU, then there would be something else to use, but SetCPU is a great interface that not only works well but is maintaned within the XDA community by a member here.
I will always go for the XDA community member version of any app first - it's usually a problem solved from a perspective very near the way I am perceiving the issue, supports the community, and is always easier to find help on if necessary.
What's even cooler is SetCPU is given away free by the dev to XDA members.
I did go ahead and buy it anyway to support the dev. It is a fantastic tool at my disposal, and I have come to realize just how much time and energy goes into making this kind of stuff.
Beyond all that, though, there are a ton of crap apps and software out there slapped together by people who don't care or didn't put the right level of effort into their work. When I find something that actually works and works well after sifting through a sea of garbage, if there is a paid version of the app i'll usually buy it not only as a thank you but also to encourage that particular person to keep working. They - unlike many, many others (in my opinion) earned it.
I know i'm drifting off topic a bit, sorry for that - I just really appreciate quality work and SetCPU falls in with that crowd nicely.
Even without a custom kernel providing options beyond stock, there is still a lot of value this app can hold for anyone with root level access to their device.
Blue6IX said:
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done.
Click to expand...
Click to collapse
Is this true? in my mind, I feel like it will take longer/not be as smooth, but wouldn't necessarily be worse for battery than a higher clock speed.
On a one-for-one comparison it leans more towards an even playing field, until you add that it's a dual-core processor and it very heavily skews the results towards less battery at higher clock speeds for complex operations.
Faster CPU speeds process the actions more quickly, and when you have to crunch a lot of numbers real quick like you do for most games the higher clock speed (especially on the dual core we are using) will complete the act with less power used. It is able to keep up with and/or outpace the flow of data being thrown at it.
If you are just using a notepad or browsing some forums maybe...sending a few texts? Then the higher clock speeds show a negative return on battery usage - you don't need it and it's wasteful.
But when the data has to stay buffered because the CPU is taking it's time working with it, not only is there more electricity consumed by keeping the processor alive longer but also the juice spent on keeping the data buffered.
The data computed is the same data computed at any speed (unless you lose data along the way...) but the power spent on completing that operation is not equal - not by a long shot.
On single core older processors where you are talking about a couple hundred megahertz one way or another the equation is much different, significantly diminshed returns on electricity invested, but with higher quality and multi-core processors especially they can cut through the data with significant ease when sufficiently powered.
But this is on processor intensive activities, and gaming is the first thing that comes to mind. For most other use of the device it's worth underclocking it and you will see battery gains.

[Q] Overclocking: Minimum/Maximum CPU Clocking Settings?

Running: Asus Transformer TF101 (with Tegra 2 chip)
OS: EOS Custom ROM 78 (Jelly Bean) -- And THANKS to 'em!
Short Question: What the heck are those minimum/maximum MHz settings' optimal numbers?
Long Question: My TF101 w/ EOS Nightly #78 has an overclocking feature in it. Very cool. There are not one, but TWO, separate settings for the chip -- a minimum MHz (starting at 200MHz or something) and a maximum MHz (all the way up to 1600MHz). But after I messed some with it (and like a dunce did not write down the original values) I experienced some random reboots, usually after I closed the lid a while and then reopened it.
So, my question's long version (which is actually a number of questions), follows...
* What are the original values of the Tegra 2 chip in one of these babies? I mean, 1000MHz (1Ghz) is probably the maximum default setting, since that's the chip's official rating. But what's the minimum setting supposed to be at?
* Can I do something as crazy as to tell it to run minimum of 1200MHz and maximum of 1600MHz? In fact, I'm trying that right now and it seems to be working.... but I doubt I'll leave it that way even if it does (makes me nervous about messing up the hardware).
* What optimal settings have others tried with this chip in this (TF101) unit.... or even in other Tegra 2 based tablets?
Thanks for reading. Looking forward to comments.
shonkin said:
Running: Asus Transformer TF101 (with Tegra 2 chip)
OS: EOS Custom ROM 78 (Jelly Bean) -- And THANKS to 'em!
Short Question: What the heck are those minimum/maximum MHz settings' optimal numbers?
Long Question: My TF101 w/ EOS Nightly #78 has an overclocking feature in it. Very cool. There are not one, but TWO, separate settings for the chip -- a maximum MHz (starting at 200MHz or something) and a maximum MHz (all the way up to 1600MHz). But after I messed some with it (and like a dunce did not write down the original values) I experienced some random reboots, usually after I closed the lid a while and then reopened it.
So, my question's long version (which is actually a number of questions), follows...
* What are the original values of the Tegra 2 chip in one of these babies? I mean, 1000MHz (1Ghz) is probably the maximum default setting, since that's the chip's official rating. But what's the minimum setting supposed to be at?
* Can I do something as crazy as to tell it to run minimum of 1200MHz and maximum of 1600MHz? In fact, I'm trying that right now and it seems to be working.... but I doubt I'll leave it that way even if it does (makes me nervous about messing up the hardware).
* What optimal settings have others tried with this chip in this (TF101) unit.... or even in other Tegra 2 based tablets?
Thanks for reading. Looking forward to comments.
Click to expand...
Click to collapse
Generally its all up to your specific chip and how much it can handle as all hardware isn't created equal especially Tegra soc's... the stock speed is 1GHz for the TF but could easily run higher... i would only run your min so high if doing benchmarking not everyday use.. it will kill your battery faster, it would tho benefit benchmarking Because it would run at the highest speed and not have a chance to jump to a lower speed... wont do any damage to the chip since it has built in thermal throttling anyways... my suggestion would be setting your min to the lowest and With the max speed start at 1.2GHz with some stability tests, or heavy use at different OC speeds to find your chips sweet spot with both stability, Battery life and performance.. and have fun
DJLamontagneIII said:
Generally its all up to your specific chip and how much it can handle as all hardware isn't created equal especially Tegra soc's... the stock speed is 1GHz for the TF but could easily run higher... i would only run your min so high if doing benchmarking not everyday use.. it will kill your battery faster, it would tho benefit benchmarking Because it would run at the highest speed and not have a chance to jump to a lower speed... wont do any damage to the chip since it has built in thermal throttling anyways... my suggestion would be setting your min to the lowest and With the max speed start at 1.2GHz with some stability tests, or heavy use at different OC speeds to find your chips sweet spot with both stability, Battery life and performance.. and have fun
Click to expand...
Click to collapse
I'm not sure where the "thanks" button is yet here, but will try to figure it out. Wait.... I just did.
Tonight I backed the minimum down to the 800 vicinity (whatever that number is) and left the top number at 1600. My recent test has been to run Angry Bird, which is not the most stable program. It runs just fine at this setting. The battery is draining fast, though.
So you are suggesting that taking it all the way to the basement minimum-wise will still give me fairly stable top end? I keep wondering if there's any relationship at all between the two numbers, if at some point they don't affect one another adversely if too far apart? This idea is based on no knowledge whatever.
So any furhter thoughts welcome.
shonkin said:
I'm not sure where the "thanks" button is yet here, but will try to figure it out. Wait.... I just did.
Tonight I backed the minimum down to the 800 vicinity (whatever that number is) and left the top number at 1600. My recent test has been to run Angry Bird, which is not the most stable program. It runs just fine at this setting. The battery is draining fast, though.
So you are suggesting that taking it all the way to the basement minimum-wise will still give me fairly stable top end? I keep wondering if there's any relationship at all between the two numbers, if at some point they don't affect one another adversely if too far apart? This idea is based on no knowledge whatever.
So any furhter thoughts welcome.
Click to expand...
Click to collapse
It is best to leave the min freq as per default and push only the max freq. Then, you can set application profiles whereby you will allow an oc if you play a specific app(this feature requires an app that is called setcpu). This is to allow you to gain the best battery life(what you did is okay as well, but you'll have less battery life as the proc is running at 800mhz at min)
Otherwise, you can do it manually by setting the governor. For example, when you want to play games, set the governor to performance and oc your proc. When you don't want to play games anymore, then set it back to interactive or ondemand(or any other suggested governor for your device) to allow battery saving
wcypierre said:
It is best to leave the min freq as per default and push only the max freq. Then, you can set application profiles whereby you will allow an oc if you play a specific app(this feature requires an app that is called setcpu). This is to allow you to gain the best battery life(what you did is okay as well, but you'll have less battery life as the proc is running at 800mhz at min)
Otherwise, you can do it manually by setting the governor. For example, when you want to play games, set the governor to performance and oc your proc. When you don't want to play games anymore, then set it back to interactive or ondemand(or any other suggested governor for your device) to allow battery saving
Click to expand...
Click to collapse
I have setcpu but after mucking about with it managed to end up with an unstable system (spontaneous reboots, esp. after closing then opening lid and "waking up" the TF101). Currently I'm just using the EOS Rom's own system settings and having low end all the way to minimum (200 something) and top end at 1500+. The 1600 mhz setting is apparently a problem for this machine (the spontaneous resets again). But at 1500 whatever it seems just fine
One other issue, very important to all of us (harhar), is that Angry Birds seems unstable since I updated to this custom EOS rom. I noted elsewhere that someone said simply turning off wireless would disable ads and stablize the game. I've not tried that yet. Losing angry birds for me would not be a major blow.

Reduce heat due to high CPU frequency?

Hello, is there a way to reduce the heat due to high CPU frequency? In fact, when I play games such as Real Racing 3, in order to maximize my phone's potential as it has quad core, I usually set my CPU to maximum frequency (1.8GHz). However, l discover that the CPU drops back to 1GHz or lower, after about 10 minutes of gaming. In the beginning, I thought that it was a bug, but consulting someone in this forum, I discovered that the drop is part of the CPU protection feature. I appreciate this kind of safety feature but it will be boring that you can only enjoy a short 10 minutes of gaming before the phone heats up like a kettle. So, here is the question, is there a way in order to reduce the heat due to high CPU frequency? Will undervolting (UV) be recommended? Thanks.
Heat is generated as a byproduct of electical risistance... You'll have to exuse the bad spelling till I fix it...
1. under volting will reduse the electrons that are alowed to flow, thus reduceing the heat genorated, and it will also reduse your devices' performance.
2. A heat sync will reduce heat if the flat part is placed where the processor is. I ripped one out of an old copmuter and set my phone on it when modum tethering when playing online games and it works well. But not so comphotable when actualy using the device as the metal flanges coming off the other side of the heatsink are pokey.
3. A cpu govener change is the most likely solution to your problem of auto throteling and ramping of your devices' cpu friquancy. There are guides and info kicking around that using a google search like this:
cpu govener site:www.xda-developers.com
Will result in helpful reading matierial. I'd sugest looking at a program like rom tool box that will alow you to set up profiles that triger diferent cpu speeds and govenars bassed off of what your device is doing; such as when the screen is on, max frequancy=max, govenar=smartassV2 and; when the screen is off, max frequancy=50% of max, govenar=conservitive.
4. When all else is not good enough and you've gathered some info on how your device handles different govenars; then build your own. From what I've been reading its not so diffacult to tell your device exsactly how to behave in every way.
Hope some of it helps. And if you need some help with finding spisific sorces of info that I've hinted at, say something and I'll add some links when I spell corect this.
Sent from either my SPH-D700 or myTouch3Gs
Debian Kit Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Or
https://docs.google.com/document/d/1ssVeIhdBuuy8CtpBP1lWgUkG6fR6oHxP20ToYPPw6zI/edit?usp=drive_web

Categories

Resources