OverClocking 101

Status
Not open for further replies.
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
Bugless Beast 1.1

Where to start? Five days ago I loaded BB 1.1. It was the first time I have loaded any version of the Bugless Beast themed/tweaked OTA rolled ROM releases. As far as I can tell it is a very solid for what it is. But there was a claim made in the release notes that got my undivided attention.

To paraphrase "You no longer need SetCPU".

That is a very bold statement. One that took me exactly 20 minutes to disprove with a simple test.

Please read this post: http://www.droidforums.net/forum/bugless/47575-setcpu-vs-petes-v1-1-cpu-script-7.html#post512512

Now you will notice I stated that only a PART of SetCPU was still needed. Because BB 1.1 did in fact do one thing properly as advertised. It put the Droid in an overclocked state without using SetCPU.

Normally the story would end right there. I would let it go and life would go on. But I found something. And if wasn't for Peter making a very bold statement, I would have never thought to go back and relook at the /sys/devices/system/cpu/cpu0/cpufreq/stats directory. Normally that directory contains some empty files. Since I have been using SetCPU since day one of rooting, I never knew there was supposed to be data in those files. While running BB 1.1 there was data in them. Then I switched ROMs and I manually edited the files BB 1.1 adjusts and that ROM also started collecting data. And then my jaw hit the floor. It had USEFUL DATA in them. And then the next surprise. Some kernels provide more and or different information. Some of the kernels provide a table of frequencies and how they are jumped between. Some kernels provide how long the each frequency was in use. The information can allow Droid users to determine over time which kernel and more importantly which SPEED is right for them based on their actual usage.

I am just beginning to get an idea what can be done. But it is going to take time. One thing though is clear to me. Motorola Droid users need a new version of SetCPU tailored to our phones so that this data can be used to help us decide if something is working for us.

Also I did a battery drain test using a third custom ROM set to see what affect the BB method vs SetCPU would show. For 24 hours I ran Peters script and then for 24 hours I ran SetCPU. I made sure BOTH setups set the CPU0 values exactly the same. The only difference in the outcome of the test was the data that I could analyze after the run of Peters script. But as far as battery life went, there was no overall differences. Both runs went 24 hours with 15% of the battery left. Now could I have gotten more battery life? Yes. If I had turned on SetCPU's profiles to start using slower clock rates as the battery level changed I could have added at least two hours maybe three. So that leads to the final question.

Why are some people reporting better battery life with BB 1.x? I think the answer is /data/system/batterystats.bin. But this is only a working theory right now. I can not prove it 100%. But here is the theory. Since most people had to do a clean install of BB, they ended up erasing that file. I believe that resets how the Droid presents battery life to the user. If they had a profile in their old ROM that shows they were draining the battery every 7 hours, the system would predict how to show the battery % based on that. By erasing the profile, they get a clean slate. And we all know our habits change over time. Lets say with this new clean slate the went a few days without draining the battery every 7 hours. Instead it was every 13 hours. The new profile would reflect that. Instant "better battery life".

I hope to be able to prove or disprove this theory soon.



Side note: I know there are other people out there doing research or have done research on this subject. But since I don't know how they tested to get their results, I tend to use the data as opinions that need to be verified. So I will continue to test, observe and reports my findings here.
 

jntdroid

Super Moderator
Premium Member
Joined
Nov 18, 2009
Messages
6,436
Reaction score
312
Location
TX
Very interesting... thanks for doing all of that research.

So are the kernels actually using the data in the stats directory or just simply logging it? If they're simply logging it, I don't really see a point, unless there were unspoken future plans to coordinate with Setcpu's dev to utilize that info, or to integrate that info with the ROM to help the end user decide which kernel to use. It's not every day someone like you comes along and digs that deep, so why would it be in there?

Another question - for now, without manually editing those files as you did, will it log that data with any kernel or just bekits?
 
Last edited:
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
Very interesting... thanks for doing all of that research.

So are the kernels actually using the data in the stats directory or just simply logging it? If they're simply logging it, I don't really see a point, unless there were unspoken future plans to coordinate with Setcpu's dev to utilize that info, or to integrate that info with the ROM to help the end user decide which kernel to use.

Another question - for now, without manually editing those files as you did, will it log that data with any kernel or just bekits?

I don't believe the Android OS uses the stats files. In fact the majority of stats the Android OS collects aren't used by the OS to tailor itself. I think it is up to the user to decide what to do with the info.

SetCPU some how turns the stat collecting off. Which is a shame. Esp for the kernels that provide how long you were in each frequency slot. That data could help you determine if 1.0 Ghz would be better because the 1.2 ghz kernel you loaded was only using that slot 5% of the day but used the 1Ghz slot for 20% of the day.

Of the three kernels I have tested, they all have collected data once I removed SetCPU from booting and rebooted the phone to clear the effects of SetCPU. All I do now to get the phone overclocked is edit scaling_max_freq. Everything else I leave alone. Because I want to see what else I can find.
 

jntdroid

Super Moderator
Premium Member
Joined
Nov 18, 2009
Messages
6,436
Reaction score
312
Location
TX
I don't believe the Android OS uses the stats files. In fact the majority of stats the Android OS collects aren't used by the OS to tailor itself. I think it is up to the user to decide what to do with the info.

SetCPU some how turns the stat collecting off. Which is a shame. Esp for the kernels that provide how long you were in each frequency slot. That data could help you determine if 1.0 Ghz would be better because the 1.2 ghz kernel you loaded was only using that slot 5% of the day but used the 1Ghz slot for 20% of the day.

Of the three kernels I have tested, they all have collected data once I removed SetCPU from booting and rebooted the phone to clear the effects of SetCPU. All I do now to get the phone overclocked is edit scaling_max_freq. Everything else I leave alone. Because I want to see what else I can find.

Interesting... so, correct me if I'm wrong, but theoretically, all we have to do to overclock is install the kernel we want and change that file to reflect the max frequency we want, edit the governor file if we want, and we're good to go?

It's interesting b/c Pete has stated very clearly that SetCPU in no way conflicts with BB and can be run with it, but it sounds like SetCPU does that very thing (turning off the stat collecting), which leads me to believe that the stat collecting is not that important for his intent in running BB that way, which also makes me wonder if either 1) this was an unintended consequence of how he's running it, or 2) there is more to the story, but why the silence on the issue? or 3) this is something not exclusive to BB (though you did say you had to manually change some files in other roms in order to enable this)...

All very interesting!
 
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
I don't believe the Android OS uses the stats files. In fact the majority of stats the Android OS collects aren't used by the OS to tailor itself. I think it is up to the user to decide what to do with the info.

SetCPU some how turns the stat collecting off. Which is a shame. Esp for the kernels that provide how long you were in each frequency slot. That data could help you determine if 1.0 Ghz would be better because the 1.2 ghz kernel you loaded was only using that slot 5% of the day but used the 1Ghz slot for 20% of the day.

Of the three kernels I have tested, they all have collected data once I removed SetCPU from booting and rebooted the phone to clear the effects of SetCPU. All I do now to get the phone overclocked is edit scaling_max_freq. Everything else I leave alone. Because I want to see what else I can find.

Interesting... so, correct me if I'm wrong, but theoretically, all we have to do to overclock is install the kernel we want and change that file to reflect the max frequency we want, edit the governor file if we want, and we're good to go?

It's interesting b/c Pete has stated very clearly that SetCPU in no way conflicts with BB and can be run with it, but it sounds like SetCPU does that very thing (turning off the stat collecting), which leads me to believe that the stat collecting is not that important for his intent in running BB that way, which also makes me wonder if either 1) this was an unintended consequence of how he's running it, or 2) there is more to the story, but why the silence on the issue? or 3) this is something not exclusive to BB (though you did say you had to manually change some files in other roms in order to enable this)...

All very interesting!

No theory. I am doing it right now. :)

Actually, I don't think Pete knew about the stats. In fact, I don't really think anyone knows about them. Mainly because I don't think people care. Once something works, why mess with it? But as a programmer and system analyst, the data actually has meaning to me. The question is how best to use it. Which is why right now I am deciding if I am going to write my own overclocking app. At present I have all the theoretical and design aspects complete. The issue is time. I have to learn how to program for the Droid and write to the OS. And since I code for a living, doing it at night is not my idea of fun anymore. I may simply post my design criteria and see if someone else will do it because they love a challenge.
 

pc747

Regular Member
Rescue Squad
Joined
Dec 23, 2009
Messages
25,489
Reaction score
6,865
The Overclocking Einstein here lol. Keep providing us with good info.
 
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
Chevy's current kernels are actually tracking how long you stay in each slot.

Code:
1000000 144910
900000  5155
800000  5218
700000  16360
550000  2395499
400000  16134
250000  2012843

First thing I see from that is I don't need a 7 slot kernel. In fact I think a 250, 400, 550, 750 and 1000Mhz 5 Slot would do the trick. The high number on 550000 is due to being on the charger all night.

I think tonight I will charge the phone early, reboot to clear the stats, set the scaling_max_freq manually and let the phone idle all night except for the scheduled backup. Just to see what the numbers look like. Then I could retest the same thing except re-enable sleep mode. This should be very interesting.
 

jntdroid

Super Moderator
Premium Member
Joined
Nov 18, 2009
Messages
6,436
Reaction score
312
Location
TX
Chevy's current kernels are actually tracking how long you stay in each slot.

Code:
1000000 144910
900000  5155
800000  5218
700000  16360
550000  2395499
400000  16134
250000  2012843
First thing I see from that is I don't need a 7 slot kernel. In fact I think a 250, 400, 550, 750 and 1000Mhz 5 Slot would do the trick. The high number on 550000 is due to being on the charger all night.

I think tonight I will charge the phone early, reboot to clear the stats, set the scaling_max_freq manually and let the phone idle all night except for the scheduled backup. Just to see what the numbers look like. Then I could retest the same thing except re-enable sleep mode. This should be very interesting.

are you still running BB? or did you modify another rom to track that? i'd love to do some testing of my own, but I'm not running BB (though I could obviously...)
 
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
are you still running BB? or did you modify another rom to track that? i'd love to do some testing of my own, but I'm not running BB (though I could obviously...)

It isn't ROM specific. It is Android OS specific from what I can tell. I believe EVERY Android phone can do this. I am currently running CM 5.0.7.Nightly, Chevy LV 1Ghz and manually updating scaling_max_freq.
 
Last edited:

mr4r4n

Developer
Developer
Joined
Nov 15, 2009
Messages
87
Reaction score
0
ok ive been reading this for awhile and i had a question about voltages and im sorry if it throws the direction that this thread is going in, ive just had a issue that has been concerning me for awhile, here it goes
when my droid was stock i had a few anomolies that i got from a few LV kernels(weird i know but it was) when i rooted it it went away initially (not waking up from standby with only capacative keys lit) as the earlier 2.1 roms and their kernels came about (ive tried them all i realized that low voltage roms of all sorts gave me one anamoly (the screen freaking out and acting like im touching it like a piano and choosing buttons scrolling through things haphazardly and all kinds of chaos, with and without apps loaded in ALL roms) some worked better chevy's for instance and some worked much worse (a bekit LV will have it going nuts within a day) rightnow im using UD NE 1.2.5 as its one of the few roms i havent had a issue with yet, however ive now resorted to an increased voltage rom to see how it rides it out, the standard voltage still caused it to act up a bit, i use my droid for many things which is why i require apps2sd and because of the cyanogen/blackdroid roms only supposedly working with p3droid(which as i remember seeing were all LV) and me waiting to see if bekit's IV kernel will finally be what i need for stability and i only keep it @ 550/700, is it even safe to run a IV kernel over time? i know i got one of the older droids (bubbled out keys, and mine is actually heavier then a few of my friends, dont know why) i just want a safe/stable kernel and im worried about IV messing it up, hopefully im making sense lol and if anyone could help i'd really appriciate it, the only roms my phone seems to take well right now is UD10update and UDNE1.2.5
so far the IV seems to be ok i just wanted some form of guidance to figure out if im going about it the right way, sorry for the length of this lol:icon_eek:
 
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
ok ive been reading this for awhile and i had a question about voltages and im sorry if it throws the direction that this thread is going in, ive just had a issue that has been concerning me for awhile, here it goes
when my droid was stock i had a few anomolies that i got from a few LV kernels(weird i know but it was) when i rooted it it went away initially (not waking up from standby with only capacative keys lit) as the earlier 2.1 roms and their kernels came about (ive tried them all i realized that low voltage roms of all sorts gave me one anamoly (the screen freaking out and acting like im touching it like a piano and choosing buttons scrolling through things haphazardly and all kinds of chaos, with and without apps loaded in ALL roms) some worked better chevy's for instance and some worked much worse (a bekit LV will have it going nuts within a day) rightnow im using UD NE 1.2.5 as its one of the few roms i havent had a issue with yet, however ive now resorted to an increased voltage rom to see how it rides it out, the standard voltage still caused it to act up a bit, i use my droid for many things which is why i require apps2sd and because of the cyanogen/blackdroid roms only supposedly working with p3droid(which as i remember seeing were all LV) and me waiting to see if bekit's IV kernel will finally be what i need for stability and i only keep it @ 550/700, is it even safe to run a IV kernel over time? i know i got one of the older droids (bubbled out keys, and mine is actually heavier then a few of my friends, dont know why) i just want a safe/stable kernel and im worried about IV messing it up, hopefully im making sense lol and if anyone could help i'd really appriciate it, the only roms my phone seems to take well right now is UD10update and UDNE1.2.5
so far the IV seems to be ok i just wanted some form of guidance to figure out if im going about it the right way, sorry for the length of this lol:icon_eek:

It sounds like you have it under control. As of right now, no kernel has been shown to kill a droid. So if you are stable with an IV kernel and your temps are good (which is what can kill a droid), you should be fine.

You might want to give CyanogenMod 5.0.7 Nightly build from 06022010 a try with ChevyNo1's 1Ghz Medium Voltage kernel. Chevy does good work and CM 5.0.7 seems very stable from my testing this week.
 

mr4r4n

Developer
Developer
Joined
Nov 15, 2009
Messages
87
Reaction score
0
the IV spazzed out about an hour ago, ChevyNo1's kernels work on cyanogen/UD roms?,

which one would you recommend? chevy's 5 or 7 slot MV?
 
Last edited:
OP
Skull One

Skull One

Member
Joined
Mar 11, 2010
Messages
759
Reaction score
6
the IV spazzed out about an hour ago, ChevyNo1's kernels work on cyanogen/UD roms?,

which one would you recommend? chevy's 5 or 7 slot MV?

Using the 7 slot 1Ghz on CM 5.0.7.
 
Status
Not open for further replies.
Top