yashsingh1/xdaforums huggingface dataset:
[Nexus One Android Development] jbbandos:
I'm having a small problem with your kernel. I've been using the 925mV BFS kernels and I've had this problem in at least the last three releases.

I have my AP on channel 13, and with your kernel I have to go to wireless settings->advanced->regulatory domain every time I unlock the phone and choose the already selected 13 channels option so that my N1 sees the AP. With the kernel in CM6 (RC and nightlies) I don't have such problems.

I've also checked from a terminal, a iwlist scan returns that my AP is in channel 11 (for both kernels), even though I have it on channel 13, and I confirmed that with two netbooks with different chipsets.
[Nexus One Android Development] wildmonks:
Here's a good read taken directly from the source code documentation on what AVS is and how it works. I believe by reading this, it will answer your questions about when and why AVS is changing the voltage.

Hint: "operating conditions, CPU frequency and temperature" of the CPU (not the battery) determine the voltage to use at a given MHz speed.

So in summary, this is normal behavior, especially when using ondemand (large jumps are behind made in the table of operating voltages).

Extra Information:

For reference, here is a table of KHz (not MHz) and mV that I use in the kernels I compile.

{ 245000, 925 },
{ 256000, 925 },
{ 384000, 950 },
{ 422400, 975 },
{ 460800, 1000 },
{ 499200, 1025 },
{ 537600, 1050 },
{ 576000, 1050 },
{ 614400, 1075 },
{ 652800, 1100 },
{ 691200, 1125 },
{ 729600, 1150 },
{ 768000, 1150 },
{ 806400, 1175 },
{ 844800, 1200 },
{ 883200, 1200 },
{ 921600, 1225 },
{ 960000, 1225 },
{ 998400, 1225 },
{ 1036800, 1250 },
{ 1075200, 1250 },
{ 1113600, 1275 },
{ 1152000, 1300 },
{ 1190400, 1300 },

First column is kHz speed, second column is the max mV that will be used at that kHz speed

Note: This table would be used if I were to compile with SVS only (without AVS)

AVS will try to produce the actual table of operating voltages with lower values then the one's I listed above. So in your case, your still saving power @998MHz since its lower then 1225mV.

Do note that the values of 1113600 and higher always use SVS table values. It seems AVS wasn't designed to work on kHz values above CPU specs. In my testing AVS still functions normally for 1036800 and 1075200 but this isn't the case for everyone so I did have to make custom kernels with different AVS/SVS change points.

I hope this makes sense and answer your questions. Shoot off any more questions towards me if you have anymore. :)

__________________________

BTW: For those that jumped straight to this post looking for the 1190MHz kernel, you'll find it here.

Also read the Q & A Section on the 1st post for my opinion on the 1190MHz kernel.
[Nexus One Android Development] wildmonks:
Ah interesting. The wifi code that's in these kernels must be made towards the US channel range (1-11). I'll take a closer look in the code to see if this can be expanded.

EDIT:

Does it happen on the .34 kernel, .35 kernel, or both?
[Nexus One Android Development] Gr8gorilla:
I would venture that the reason that having Dalvik on SD would reduce performance because the JIT compiler is precompiling non native code and storing it in Dalvik Cache. It then accesses that cache when you run a program. The reason we see such a huge performance boost with Froyo is because in android each java app runs inside it's own virtual machine. When the program runs the code is compiled for that virtual machine and then it is run. With the JIT compiler precompiling a ton if time is saved. If that code is accessed from a SD card that has slow read/write speeds, your performance is going to suffer.
[Nexus One Android Development] jbbandos:
I'll download the .34 and test tonight at home if it sees channel 13 after a suspend.

Ok, it is the same with your .34 kernel. Shows my AP as being on channel 11, and won't connect after a reboot or a screen lock until I choose the already selected 13 channel regulatory domain.

Cyanogen's kernel (2.6.34-cyanogenmod chrissoyars@web #8) also shows my ap on channel 11 when I do a iwlist scan, but connects without problems after a reboot or a screen lock.
[Nexus One Android Development] wildmonks:
It took me awhile to replicate this mainly because I live here in the US and I don't have access to channel 13 to connect to. But I found out I can use the command "iwlist freq" in a terminal window on the phone to get a list of enabled channels that the phone will connect to.

In my findings, I found that this bug only occurs on any of the BFS kernels (IR's and the one's posted here in this thread). But without actually being able to connect to an AP on Channel 13, I can't say for sure if BFS is the cause. Can you check to see if the bug is present in any of the CFS kernels?

As for a fix, unfortunately I don't have much understanding when it comes to BFS coding so we'll have to wait for BFS to get updated. (It was back in May that the last update was made to the code for BFS). But I will continue to see what I can do in the mean time. Maybe I can attempt a workaround...
[Nexus One Android Development] knightnz:
My Asus router and my N1 both handle Channels from 1-14 so I'll try and test it later on.
[Nexus One Android Development] jbbandos:
You were right, the CFS kernel connects straight after rebooting or unlocking the screen, no need for resetting the regulatory domain. The module is still convinced it is connected on channel 11 instead of 13, but that doesn't seem to cause any problems.
[Nexus One Android Development] wildmonks:
Ah, cool! Many thanks :)
[Nexus One Android Development] wildmonks:
Ah okay, thanks for testing. Hrmm.. I tried using an older wifi driver source but the problem didn't go away. Will have to keep thinking on this one...
[Nexus One Android Development] Autinhyeu:
@wildmonks: i had test 1190Mhz with CM 6 Nightly version, BFS version work great, CFS version had make system force reboot when running some app max CPU (red led)... :) hope you can fix it in the next version... many thanks!!!
[Nexus One Android Development] wildmonks:
Looks like you have a better CPU then I do... Both CFS and BFS locks up my phone @1190MHz :(

1152MHz continues to work well on both CFS and BFS so I'm thinking of including that speed to the main releases but l will continue to make 1190MHz separately for those lucky people. ;)
[Nexus One Android Development] youneek:
I just did 47.906 (rank 26) with the test bfs kernel and the cyan nightly! Your kernels rock! I look forward to some updates.

I now have a dedicated n1 Dev phone if you need anyone to test experimental kernels, etc.
[Nexus One Android Development] eViL D::
Got this error, bro.

arch/arm/mach-msm/acpuclock-qsd8x50.c:309: error: 'struct clock_state' has no member named 'regulator'

Looks like regulator needs to be defined there.
[Nexus One Android Development] wildmonks:
Add the following line (in bold) to the struct clock_state function:

struct clock_state {
struct clkctl_acpu_speed	*current_speed;
struct mutex	lock;
uint32_t	acpu_switch_time_us;
uint32_t	max_speed_delta_khz;
uint32_t	vdd_switch_time_us;
unsigned long	power_collapse_khz;
unsigned long	wait_for_irq_khz;
[B]	struct regulator *regulator;[/B]
int (*acpu_set_vdd) (int mvolts);
};
[Nexus One Android Development] eViL D::
Awesome, will try it out. Thanks man.
[Nexus One Android Development] wildmonks:
Any time eViL dude ;)
[Nexus One Android Development] wildmonks:
Update:

Changes since kernel date 071310:

-Updated with IR's latest commits (2010-07-14 to 2010-07-17)

-Excluded commits relating to FM support for Desire rom (breaks Bluetooth).

-Updated zip to erase previous kernel modules.

2.6.35-rc5_AVS-800mV_CFS_1113Mhz_071710.zip

2.6.35-rc5_AVS-925mV_CFS_1113Mhz_071710.zip

2.6.35-rc5_AVS-800mV_BFS_1113Mhz_071710.zip

2.6.35-rc5_AVS-925mV_BFS_1113Mhz_071710.zip

No Audio Boost versions can be found here.
[Nexus One Android Development] Autinhyeu:
Thanks man ;)

i will try 1190Mhz again :D
[Nexus One Android Development] Autinhyeu:
1190Mhz CFS Kernel:

lol :D

that's test only, not use :D
[Nexus One Android Development] wildmonks:
Wow, 15th place :eek:
[Nexus One Android Development] Autinhyeu:
Yeah! :D

i'm testing that Kernel... woowww... have not FC problem after a hour used... :eek:
[Nexus One Android Development] knightnz:
Been experimenting with the WiFi on the new .35 kernel (1190Mhz BFS) and everything is running fine, no issues with Channel 13 on 802.11g (Router doesn't seem to go past 11 for 802.11n mode). All seems to be pretty good, squeezed a 47.0 out of Linpack under the latest CM6 nightly build and this kernel.
[Nexus One Android Development] Autinhyeu:
test done :D

some times fc app, force reboot system, but it's stable than previous version :p

BTW:

j/k :p:p:p
[Nexus One Android Development] pzumk:
congratz to you and wildmonks :P
[Nexus One Android Development] theophile2:
Is there any known issue with the battery indicator using this kernel? After applying, everything seems good except my battery indicator has indicated 100% charge for about 20 minutes even though I've been using it.
[Nexus One Android Development] wildmonks:
Sounds like you "bump" charged your battery. You can "adb shell cat /proc/kmsg" or OS Monitor to check your current battery capacity to see if its over its normal specs. (Stock battery capacity is 1400mAh).

There's a whole thread about this here.

You can purposely bump charge your battery to increase its life by following post 100

Oh BTW: its typical to see a 1% drop per hour on these kernels in standby.
[Nexus One Android Development] youneek:
I'm #7 on there, tied for the same score using the last 1190. The newer one hasn't hit that number yet. It would be crazy to see what your score would be if you made a 1267 kernel. Get your name on top as #1 kernel and device :o)
[Nexus One Android Development] Vlad83:
Overclocking

Maybe I am doing something wrong but I used to be able to use the overclock widget to set max to 1113 but for some reason its not cooperating with he 34.1 kernel.

I am on stock rooted FRF91

http://xdaforums.com/showthread.php?t=714184
[Nexus One Android Development] wildmonks:
I'm afraid if I did that, my phone would spontaneously explode :eek: :D

Which kernel exactly are you using from the 34.1 set?

I don't know if it's a related problem but I'm having problems with setCPU not automatically applying after a reboot. I've read that this was caused by the the new 2.2 version of Superuser.

EDIT:

I just read up on the SetCPU thread, looks like its some kind of problem with how SetCPU, the widget, and the latest Superuser interact with each other.

http://xdaforums.com/showpost.php?p=7159398&postcount=671
[Nexus One Android Development] damanrico:
Yeh it seems to be because of the new superuser version. I'm having the same problem on CM nightly.
[Nexus One Android Development] wildmonks:
Hopefully it will get resolved soon. Otherwise I'll have to find a way to get an older version of Superuser on my phone.
[Nexus One Android Development] codesplice:
There was an older version posted here. Flashed that and I've got the 1190 kernel running as it should, with setCPU setting the max clock speed at boot. I did have to delete all the root-permission associations within su and let the application re-request those permissions, but it's running beautifully now that it's set up properly.
[Nexus One Android Development] wildmonks:
Nice! Thanks for posting this! Saves me the trouble of finding the old apk and packaging it. :)
[Nexus One Android Development] codesplice:
On that note.... I was able to run reliably at 1190 for quite a bit.... did lots of linpacks (best score 47.1, pretty pleased :p), lots of gaming and other intensive applications while monitoring CPU usage via the CPUStatusLED app. This continued after I flashed that older SU build and got the permissions set back up properly. However, after a reboot, it seems to have gotten somewhat screwy. Got two random reboots while doing linpack. Gonna logcat it and try to see what exactly is going on.... hopefully I don't have to back off :( Kinda wondering if there's something with that old su that's causing issues or something. I'll report back shortly!

edit: And of course I can't duplicate the problem when I want to. Everything's fine now, benchmarking away. Hit a new personal best of 47.485 though, so that's pretty cool B-)
[Nexus One Android Development] wildmonks:
Lol, I think that's the nature of overclocking to the limit of your cpu =P

Again tho.. I recommend only setting the max to 1190MHz for benchmarking/bragging purposes ;)

Also I noticed the posted old Superuser file wasn't signed so here you go for those that want to use it. (For Amon_RA's RA-nexus-v1.7.0.1 Recovery users)
[Nexus One Android Development] codesplice:
Isn't bragging rights the whole purpose of overclocking? :p

Anyhoo, I don't think I'm gonna get past that 47.485 without doing something drastic, so I think my insane-clock need is satisfied for a bit. Dropping back down to 1113600 for everyday use mode.

Thanks for an awesome kernel, btw.
[Nexus One Android Development] wildmonks:
Yah, I agree with you there about the reason for OC. ;)

Bummer tho I can't touch 1190MHz :(

My pleasure codesplice. I'll continue to try my best with these kernels :)
[Nexus One Android Development] youneek:
My n1 is just for dev testing, make me a crazy kernel and I'll post the score under your handle ;o)

1190 runs flawless for me
[Nexus One Android Development] Vlad83:
Still doesn't seem to work after flashing
[Nexus One Android Development] codesplice:
What exactly is the issue you're running into? The older superuser version was to fix the setCPU setting not being applied automatically at boot. Are you not able to set the overclock speed at all?
[Nexus One Android Development] Vlad83:
Yeah, I use the overclock widget and it used to work fine but now after flashing version 3 of the stock FRF91 (http://xdaforums.com/showthread.php?t=714184) I am unable to overclock at all. Not sure where the problem lies but it's not the kernel. Going to go post in the ROM thread...
[Nexus One Android Development] codesplice:
Dumb question, but you did flash an OC kernel after flashing the ROM, right?
[Nexus One Android Development] wildmonks:
Lol! I like how you're enticing me to make a higher clock kernel by posting the score with my name. :p

You probably need to do a full wipe and flash the rom again. Something is preventing normal SetCPU operations on your current phone configuration.
[Nexus One Android Development] antiochasylum:
47.485 linpack. Up from 47.072, still on the frf91 release, not cm6.

Using 071710 1190 cfs test ;) lol.
[Nexus One Android Development] wildmonks:
It's very nice to see all these 47+ scores. But kinda depressing too because I'll never see it on my own phone, lolz!
[Nexus One Android Development] Vlad83:
Lol yeah, kernel flash, check.

Wildmonks, if I have to wipe, I am just going to sacrifice the 77mhz lol. The .35 kernel is fast enough. Thanks for your time and effort.
[Nexus One Android Development] wildmonks:
I'm with you there. It can be a pain to have to wipe and reload everything back (but sometimes its necessary).
[Nexus One Android Development] Autinhyeu:
i knew SetCPU have problem with Superuser 2.2.2 (widget problem), but i dont understand why:

_ the first reboot, its work normal (max CPU is 1113)

_ the second reboot, i opened SetCPU & saw max is 998 :eek:

im using .35 RC5 925mV - CFS - 07172010 version :)

Edit: this issue have not in .34 version...
[Nexus One Android Development] wildmonks:
Superuser version 2.2.2 has a big problem with delaying superuser (su) access at boot time. Because of this, SetCPU is unable to change the min/max MHz at boot.

Have you downgraded Superuser to version 2.1 yet?

There is a file going around that will install the old 2.1 version but I found the install script to be not as good as it could've been. So I modified the install script and repackaged it to my liking. You can grab it here:

Superuser_2.1_Froyo_signed.zip

With this repackaged version, you shouldn't even need to delete your su list to reassign su access to apps. Just apply the zip in RA recovery and forget about it. :)

This should fix your SetCPU widget problem too.
[Nexus One Android Development] Autinhyeu:
many thanks man :D

BTW: have you dev 1152Mhz Kernel version??? i believe its stable than 1190Mhz & faster 1113Mhz :p
[Nexus One Android Development] wildmonks:
Not yet, still testing... :rolleyes:

I'd really like to keep the main kernel release as stable as can be so I'm doing further test @1152MHz to see if its truly stable before I merge it in to the main kernels.
[Nexus One Android Development] knightnz:
I was wondering why that never seemed to apply, great, thanks for that, one less thing to have to worry about :)

Works happily having flashed it over the existing 2.2 version, SetCPU now works without having had to touch anything. Top man!
[Nexus One Android Development] wildmonks:
Let me know if it works. It should... I hope.. At least it does for me... :rolleyes:

Awesome, glad to be of some help :D
[Nexus One Android Development] damanrico:
Just woke up and flashed the latest CM nightly. Set setcpu to 1190 using the latest TEST CFS kernel, and pooped out a linkpack score of 48.333. :D
[Nexus One Android Development] Turge:
Very impressive benchmarks.

Out of curiosity, how do you guys setup your phone before reaching 47+ Linpack scores?

Do you wipe data before flashing the new CM6 nightly build and skip Google sign-in to prevent your apps from being reinstalled? Or do you sign-in to Google anyways and elect to not have it reinstall your apps?

If so, how do you reinstall Linpack? (through the Market, Titanium Backup, etc.)

I read earlier someone was recommending killing all apps running before running Linpack. Do you all do this?

What are some other recommendations for optimizing your builds?

Thanks.
[Nexus One Android Development] damanrico:
This is how I reached 48.333:

- I wanted to upgrade to the latest CM nightly.

- Wiped cache + davlik chache.

- Applied CM nightly zip.

- Applied TEST CFS kernel.

- Set setcpu to 1190, ondemand (make sure you dont have profiles on that set it back to a lower freq).

- Started linpack.

I have like 90 apps installed, and I didn't kill them as you can read.

Killing them actually gave me far lower results (41-43).

Also, setting setcpu to performance also gave me 41-43ish results, weirdly enough on demand gives me 45-48.

Keep in mind that I only reached those scores at that time. Now (2 reboots later, and having the phone on for about 3 hours) I can 'only' reach upto 45.49.
[Nexus One Android Development] crx4xharder:
1190

I'm running modaco r21 and I get similar lenpack results at 1190 but I've had quite a few apps crash on me ie. Dolphin browser, kwaak3, xda etc. Went back to 1113. Could be unrelated but just some info. I do use atk and have some theming...
[Nexus One Android Development] codesplice:
I flashed the 1190 kernel over a build of KOR that I had been running for quite a few days now, didn't bother to wipe dalvik or cache. Left all my apps (120ish, last I checked) installed via DarkTremor's apps2ext implementation, and didn't bother with killing anything - though I did do a fresh reboot and waited about five minutes after that to start running the benchmarks. Set the speed with setCPU (again, "on demand") and started Linpacking away. I ran several tests in rapid succession. The scores were first wildly all over the place, but began to settle down to a mid-46 average and a couple of peaks up to 47.485.

I don't use any automated task killer, and use the built in Force Stop functionality if something does get wildly out of hand.
[Nexus One Android Development] youneek:
I just install the nightly and then the kernel. Don't wipe anything and leave everything installed. I leave setcpu as on demand and set all the way up. That's it.

I have tested turning off auto brightness, airplane mode, etc and nothing seems to really effect the score much.
[Nexus One Android Development] knightnz:
Interestingly, with the same kernel (although I used BFS instead of CFS)+ROM, I just got the exact same result. 1190Mhz, On-Demand scheduling

Ranked 38 of all devices. Yuss!
[Nexus One Android Development] jjss75:
@wildmonks

thanks for the Superuser downgrade pack, absolutely no more lag at reboot. you should start making superuser too :D

ive been using ur bfs1190_071310 it has been the best of the best for me, obviously fast, i dunno what you did with it, but battery life has been exceptionally good,actually lasts a day and a half.. (normal use) is there any others that compares to this? i know it's a lil too general to ask you a question like it, kernel noob whizzing by.. apologies.

i dont seem to find the 071310 anywhere, so wondering if uve made something similar! cheers to u
[Nexus One Android Development] wildmonks:
I didn't do much with the superuser package. I just made it downgrade friendly :)

Any 925mV AVS kernel should give you a similar battery life and if you keep the max at 1075MHz or lower, you will continue to save power (AVS will always be in use).

Old versions of the 1190MHz kernels can still be found here under the "Previous Versions" folder.

Latest versions right now are dated 071710.
[Nexus One Android Development] jjss75:
got it, good to know 925mV kernels still saves batt power with latest versions. admire ur work, pls keep it up. thanks for listening:D
[Nexus One Android Development] whoisthedrizzle:
Couple days late here, but thank you! Holy crap this just made my wipes a little less painless.
[Nexus One Android Development] codesplice:
"Less painless" isn't really a good thing ;)
[Nexus One Android Development] waylo:
I loved the battery-life so much from these kernels that I'm going to try them again, despite my earlier issue with the touchscreen becoming nonresponsive. There was some recent discussions on the intersectraven thread from other users who had the same problem, which may have crept in "several months" ago. I'm going to try to troubleshoot this issue a bit more.

Still on CM 5.0.8 with the 34.1 kernel from 7/8/10.

Wildmonks, are you concentrating now on just the 35 kernels? Or are there just no more updates for the 34.1?
[Nexus One Android Development] wildmonks:
Your welcome dude. Happy to make your wipes a little more painless. ;)

Yah.. There hasn't been a worth while update for the .34.1 kernel source lately. Most updates are being made to the .35 kernel source instead.

Let me know if the screen problem returns. I kinda have a theory as to what might be the cause of it and can make a test kernel for you to try when I get the chance.
[Nexus One Android Development] phunghoang24:
performance is very good , but its camera is proplem.

there are mix some lights and gray lines when capture and record video.
[Nexus One Android Development] damanrico:
Just managed to get a linpack score of 48.769 :D
[Nexus One Android Development] wildmonks:
Are you by chance using the 800mV kernels? Issues like that can occur to some phones when not enough voltage is being feed. If you haven't already, try the 925mV kernels. This has happen to one user and switching to the 925mV kernels fixed the problem.
[Nexus One Android Development] mtw4991:
SU 2.1 won't flash in recovery ...says it can't open???
[Nexus One Android Development] wildmonks:
Corrupt download?
[Nexus One Android Development] mtw4991:
Yep that was it thx!
[Nexus One Android Development] mtw4991:
I just flashed the 925 BFS oc kernel. I got a SetCPU low of 171, Linpack of 43 mfps and 1808 on Quadrant, so this kernel is smokin' fast and very stable so far.

Now to test battery life:eek::eek::p
[Nexus One Android Development] wildmonks:
Generally speaking, BFS outperforms CFS when it comes to minimizing latency. (Things like launching an app, moving between menus, inputting, etc).

CFS outperforms BFS with minimizing turnaround time. (Like loading webpages with heavy javascript, multitasking, etc).

There are probably situations where these are not the case but generally this is what is observed between BFS and CFS.

If some are wondering what are the technical difference between BFS and CFS, that would be beyond the level of noob and way too hard for me to explain >_<