yashsingh1/xdaforums huggingface dataset:
[Droid Eris Android Development] Decad3nce:
I run just about the same exact kernel on the sprint hero, using interactive cpu governor(same implementation) and also using autokiller set to strict.

I think Set CPU may be whats to blame.

See page 43 of my kernel thread: http://xdaforums.com/showthread.php?t=756774&page=43

Note that i, and everyone who runs CM6 on the sprint hero, keeps their min freq defaulted at 245760.

You can set the min and max freq by echoing the values to /sys/devices/system/cpu/cpu0/cpufreq/ in the correct options

Either that or use oc widget for the time being.

EDIT: Looking back, I also had a similar problem; but it ended up happening because I had extremely low RAM (even with autokiller active). It ended up being skyfire just hogging up a storm of RAM and never being killed.

It might be something similar in your case.

Lets say a 'heavy' app is initiated but never exited before sleep by the user.

That heavy app can't be killed during a 'sleep' state freq of <160mhz, and since interactive cpu governor won't ramp up until it necessarily has to, it sits idly.

Once you interact with the device, the kernel tries to re allocate the used RAM by the 'heavy app' but it has a terribly difficult time because the cpu freq hasn't stepped up yet. Is this a 'bug', no. It's just how the governor behaves.
[Droid Eris Android Development] theboo7:
BUT theres a glitch with it, hence why they changed the default to ondemand.
[Droid Eris Android Development] Decad3nce:
The default was changed to ondemand in the BFS kernel, not CFS.
[Droid Eris Android Development] bftb0:
Decad3nce,

Thanks for the feedback.

I could easily believe that setCPU is involved, and aggressive process trimming just worsens the problem - the kernel just starts thrashing on process creation, but the low memory condition kills them off before they get any significant work done.

However - the scheduler/governor must also be in the mix: using Tazz 2.0 (without BFS or CFS), I can run *every* profile (all ondemand) at 19 Mhz, - even 19/768 for my Full/Charging profile, and my phone has not experienced any problems coming out of a deep sleep (19/480) or bringing up the dialer when calls come in, nor any episodes of "molasses crawl".

Well, I'll see how the battery life goes with this test. Too bad we can't have 19 Mhz with the phone sleeping, plus nice smooth screen behavior. (Subjectively, the CFS kernel seems to present less "stuttering" behavior than the "stock" CM6 kernels during screen scrolling operations - but that's a hard thing to quantify.)

I can volunteer for a little testing if you want to look at some logcat/dmesg pairs (but I head out of town Tue AM and will be afk for a couple days).

bftb0
[Droid Eris Android Development] Decad3nce:
The thing is, and I have to point this out, any freq that uses starting VDD's under VDD_3 has it's voltage undefined.

So 19200 and 245760 might and probably use the same voltage due to how the arm11 apcu clock table is set up(not looking at the current/amps, which is where the diff comes in); so the battery life shouldn't be all that different between the two.

I'll push an updated freq table sometime later(I'm away from my laptop atm).

The reason why you can have ondemand run down to 19200 stable, is because it'll ramp up the moment any kind of process initiates. Interactive behaves differently in that it'll stick to the lowest freq that it can still manage to function at. The problem is that garbage collection is nearly impossible at the 19200 frequency.

It wouldn't take much to implement code that overrides how or when the governor defaults to the 'floor' frequency, but I don't want to risk it lol.

Let me know how the battery tests go. Everyone is enjoying 20+ hours on the heroc forum so far, if you have any less(moderate use), then I'll push the updated acpu freq table.
[Droid Eris Android Development] macdroid14:
My Navigation app finally works thanks to this kernal! Thank you Conap and Decad3nce!
[Droid Eris Android Development] bftb0:
Once again, thanks for the excellent and insightful feedback. \o/

Maybe a "Screen Off" profile using 19 Mhz and the ondemand governor, with all other profiles using a higher floor frequency and the interactive governor could work? (Seems like there could still be some pathological behaviors if the governor changes while still at the "too low" floor frequency).

Offhand, do you know if the kernel continuously maintains it's internal data state for all the governors, independent of which one is "active" at the moment, so that you can cleanly switch between governors on the fly - or is that something that will cause trouble no matter what clock rates are used?

bftb0
[Droid Eris Android Development] Decad3nce:
A screen-off-ondemand setting for using 19mhz could work, but it's something you'll have to try on your own.

And I do believe that the kernel continuously maintains its data state for all the governors, I believe changing them is just an independent variable, not dependent.
[Droid Eris Android Development] Hungry Man:
Silly question, is there any chance these kernels will ever get undervolting working? It's probably very difficult to do that without a test eris.
[Droid Eris Android Development] Decad3nce:
It's not a matter of getting it 'working'.

There aren't really specific voltages defined for each frequencies, more of just a starting voltage definition. The freq table kicks up the VDD(voltage) depending on system necessity regardless of where you set the starting voltage.

I'll make a replica of our freq table(starting voltage wise), and I'll commit it, then conap can cherry-pick it and include it in the next release.
[Droid Eris Android Development] Nikolai2.1:
Even on the CFS kernel my phone freezes when i use interactive

EDIT: it seems as if its keeping my CPU at 122 Mhz. thats not good..
[Droid Eris Android Development] Conap:
Have you tried setting the minimum speed to 245 at least?
[Droid Eris Android Development] Decad3nce:
You may want to read the last 2 pages.. and figure out why that's happening.
[Droid Eris Android Development] Hungry Man:
Cool. Again, thanks for all of this. I'm honestly teaching myself as much as I can about programming (taking Java class and a general program class) so I can do the things that you guys do =p You're a huge boon to the community here.
[Droid Eris Android Development] Nikolai2.1:
I thought it would be okay if I put in at 19? It works for on demand
[Droid Eris Android Development] Decad3nce:
Go back a page, read. Here's a link to the post: http://xdaforums.com/showpost.php?p=8015092&postcount=45
[Droid Eris Android Development] Decad3nce:
Whatever I can do to help :).
[Droid Eris Android Development] loki154:
Thanks for informing us on this. You and conap are doing a great job.
[Droid Eris Android Development] Nikolai2.1:
Ohh ok gotcha!! Well I switched it to 245 and it works fine now. Thanks for the help both of you!
[Droid Eris Android Development] hallstevenson:
How do I know what "version" of your kernel I have installed ? I see "v2" and mention of crashes... I don't recall seeing that when I first downloaded it but I could have overlooked it.

About Phone says:

2.6.29-DecaFuctCFS-dirty-0d4de131

conap@conap-laptop #3
[Droid Eris Android Development] Conap:
that is v2. The file name you downloaded has a 2...I will try to post what build number the future releases are (i.e. conap@conap-laptop #3 is V2)
[Droid Eris Android Development] hallstevenson:
Yes, the downloaded file is "DecafuctCFS2.zip". I wasn't sure if that "2" meant "v2". :D Now I'll know... :)
[Droid Eris Android Development] bftb0:
Not once did I use the word "crash". Nor have I experienced a kernel panic on CFS2.

FWIW, the md5sum of DecafuctCFS2.zip is db928f946c15db15c00513b457f9511b. You can take it from there. I believe the "2" in the file name is significant, but don't quote me on that.

As long as I am posting, I want to re-iterate my thanks to Decad3nce; devs that do kernel work are one-in-a-million out of the general population of (Eris) phone users, and probably 1-out-of-100 of devs work on stuff for phones they don't own. That makes Decad3nce a 1-in-100million kind of contributor to Eris users. Major props.

bftb0
[Droid Eris Android Development] hallstevenson:
I was going from memory. It actually says "kernel panic".
[Droid Eris Android Development] Decad3nce:
That was in the first release and has since been fixed.
[Droid Eris Android Development] bftb0:
Here's what it actually says. I edited nothing, but did add emphasis & highlighting (below)

Granted, having the phone apps seize up is not a desirable outcome, but strictly speaking, that's not the fault of the kernel. You can bring any kernel to it's knees with the right workload; so, operating one correctly boils down to figuring out what workloads are fine, and which ones are not. In my case, I was operating the CFS2 kernel outside it's optimal range of clock speeds with a specific govenor. An oops or panic would be a kernel issue - but that's not happening here.

bftb0
[Droid Eris Android Development] Conap:
I don't beleive he was refering to your post...i think he was referring to the first post under V2 where i wrote that v2 fixed an issue with kernel panic....
[Droid Eris Android Development] hallstevenson:
Yes :)

(stupid 10 character limit)
[Droid Eris Android Development] Jp50:
i'm running tazz v3.0 with the bfs kernel. can i just flash this right over the bfs kernel?
[Droid Eris Android Development] Conap:
yes you can flash this over the bfs kernel...the update script will wipe the cache for you....

Also v3 is now posted....
[Droid Eris Android Development] bftb0:
Sorry, my bad.
[Droid Eris Android Development] Jp50:
starting to get some serious lag. especially on gmail. its like pre root era lag. Not using set cpu.

If flash Tazz 3.0 over this will overwrite the kernel?

Of course I didn't do a nand before installing the kernel

edit: phone froze - pulled battery - rebooted, all seems well now. Wondering if it was just a random glitch. Had maps open previously and a bunch of other apps so may have overloaded the cpu.
[Droid Eris Android Development] HaRdC0r3:
Sorry if the question has been asked, but is this froyo specific??? or does it work with eclair also?????...thanks in advanced.
[Droid Eris Android Development] Conap:
It should work with eclair also...
[Droid Eris Android Development] HaRdC0r3:
Hmmm.....sweet ill give it a try on xtrROM....I ask because I have a moto droid and we have tons of options but my GF's eris just had zanfur till now. In addition moto's kernels do not cross OS versions so I was curious. Thanks again.
[Droid Eris Android Development] Conap:
Well with the eris we never really had a Froyo kernel since we never actually got froyo so the base source is intended for 2.1 to start with. Some changes were made for froyo such as making froyo's apps2sd work and some other minor stuff but nothing that should affect it working on 2.1....I haven't personally tested it but it should work...let us know how it goes...
[Droid Eris Android Development] It IS Lupus:
Great work on the Kernel havent actually tried the "Interactive" govenor yet as i'm tethering for my brother and sister but i have hopes for this kernel.
[Droid Eris Android Development] tazzpatriot:
i added the new kernel today and as soon as i put on wifi it rebooted ,i forgot to pulll the report u want but figured id let u know ,, it was the 9-5-10 version btw
[Droid Eris Android Development] Hungry Man:
Weird Tazz, I'm using vanilla with the CFS and it's fine. Did you wipe dalvik?
[Droid Eris Android Development] tazzpatriot:
yup i always do lol not haven any issues now just that one time
[Droid Eris Android Development] bftb0:
Update on my test runs since this prior report.

Basically, I ran Tazz 2.0 + overflash of CFS2 - still using setCPU (XDA version v2.0.2) with similar profiles as before, but all of them set to the interactive governor, and none of them with minimum clock rates less than 245 Mhz. I was not using Autokiller, so the process trimmer should be defaulting to whatever the Tazz 2.0 ROM sets them to (I need to look those #s up).

I developed similar troubles as before around 9 hours after the boot-up. The phone comes out of a Screen Off condition, and appears to be normal - but over the course of 3-5 minutes, the UI becomes progressively slower to the point of unresponsiveness.

I'm going to go back to square one, and repeat the same trial (clean install of Tazz 2.0 + CM2) - but this time with no SetCPU (and no AutoKiller, as before). If it stays healthy for 24 hours, that will seem to implicate something about SetCPU v2.0.2 that doesn't play nice with the CFS2 kernel when the interactive governor is used.

bftb0

PS - are the "Time in state" numbers available in /proc somewhere (if I want to look at them without having SetCPU installed)?
[Droid Eris Android Development] Hungry Man:
Why not just stick with demand? >_> I am and it's working just as well as it ever has.
[Droid Eris Android Development] bftb0:
Perhaps I was completely mistaken about this, but I though that the only governor which was affected by the CFS patches was the interactive governor? If that is the case, the non-CFS kernel would have the same behavior when "ondemand" is in effect as the CFS kernel - and that would beggar the question "why CFS at all?".

As I said, I might be misinformed; if so, give it to me good fer being wet behind the ears!

bftb0
[Droid Eris Android Development] Hungry Man:
Well CFS is the scheduler, so I would think the CFS and the governor are too very seperate things that happen to work nicely together (though apparently not in this case.)
[Droid Eris Android Development] Hungry Man:
Conap, do you have the chart for voltages/ speeds?
[Droid Eris Android Development] bftb0:
Android Low Memory Killer disabled in CFS2 ... and CFS3

Awww f**k.

With the CFS2 kernel running, from a root shell (via adb):

sh-3.2# cat /proc/config.gz | gunzip -c | grep -i low_mem
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set

sh-3.2# sh-3.2# cat /sys/module/lowmemorykiller/parameters/minfree
cat: can't open '/sys/module/lowmemorykiller/parameters/minfree': No such file or directory

My recent troubles with CFS2 had nothing to do with setCPU - purely memory exhaustion. I sort of wondered why nothing would stick to the wall when AutoKiller threw some page values at it (I wrote it off as a Autokiller bug)

Any reason why the ANDROID low_memory killer was turned off for this kernel build?

I can't figure out why no-one else has experienced slow-downs or soft restarts - is everybody rebooting their phones every couple of hours?

Gonna roll back my Eris to a different ROM and roll into bed.

G'nite.

bftb0

PS CFS3 also seems to be compiled the same way.
[Droid Eris Android Development] Hungry Man:
I'm using BFS V4... no issues, I went quite a while on V3 as well. Used CFS for a bit but I didn't notice it being any smoother/ more stable so I just went back to BFS, which is the same thing but with the modified scheduler.

I used setcpu and I do not ever use autotask killer, which has never worked well for me between my two eris's that I've had.
[Droid Eris Android Development] bftb0:
Well, this is a thread about CFS kernels, I think.

I'll assume that you mean "Autokiller" rather than ATK, but that is beside the point anyway: the Android low_memory killer is built into every shipping Android kernel, and I suppose it has compiled in default values - but they are explicitly set in the boot ramdisk (in init.rc or init.desirec.rc or via default.prop). So, it is active in your kernel - the one you are using right now - whether or not you are using an app to tweak it.

When you leave it out completely, the free memory can run to 0 MB, all processes get blocked or start running at a crawl, and the Android process monitor running on top of the kernel just starts starts killing Dalvik VMs randomly as various watchdogs expire. Eventually, every dalvik process dies and you get a "restart" of the whole Android VM process management system. The kernel never panics - it just comes back to life when it gets unstuffed.

If you had run your phone with either of these kernels for more than 5 or 6 hours, you would certainly have experienced this problem. (Actually, all you need to do is start every app on your phone one at a time, and just hit the back button - if you want to see it happen more quickly)

bftb0
[Droid Eris Android Development] Hungry Man:
Yeah I meant autokiller. And yes I know android comes with it's own stock settings for it =p

Like I said, I'm using it and there are no problems. It's possibly because I have Advanced Task Killer and once in a while I kill tasks... but either way I've been playing Zenonia/ GBA games and I have 80MB free on my ROM. I don't know what to tell you =p
[Droid Eris Android Development] Hungry Man:
Perhaps it's just been soft rebooting and I haven't noticed =p haven't been paying attention lately.

Anyway, I suppose it has to be added in then?
[Droid Eris Android Development] bftb0:
I think you previously said you abandoned CFS trials and are now using BFS. The android low memory autokiller seems to be (correctly) configured into the kernels in Conap/Decad3nce's BFS kernels (well, in BFS330 anyway - that's the only one I flashed to check).

bftb0
[Droid Eris Android Development] MJL99:
Dang. I think im having problems with this now too. I noticed this was helping with gps for a few and my gps was flaking out once in a while so I gave it a shot. It worked for fixing my gps. Then I rebooted in the morning. Everything went fine until it finished restarting. Once it loaded, before I even unlocked the screen, it rebooted itself. At that point it wouldnt go past the skateboard screen. Pulled battery and tried again, let it run for maybe 15 mins and still didnt get past it.

I pulled battery and rebooted to recovery. Figured I had to wipe things now so I tried just dalvik and got stuck at skateboards again. Next I wipe data and dalvik and it booted up. Went thru the setup process and once it got to sync my data the setup FCed and left me on a black screen with the notification bar only. One thing I noticed that was different tho wasafter letting it sit, once I woke the phone, I saw the screen said sprint which I never had before.

Finally after waiting for a while I decided it wasnt going to work and restored my working copy before flashing the cfs kernel. Now its working but im back to square one. Just wondering if I did something wrong when flashing this new kernel. I didnt wipe dalvik or anything, just booted to recovery and flashed it and it booted just fine. Running nonsensikal 5.3 blue.
[Droid Eris Android Development] Decad3nce:
Must've been overlooked. I'll get conap on it. Sorry about that.
[Droid Eris Android Development] swaggerwocky:
Running the CFS v3 with KaosFroyo V32 and setCPU @ interactive/768-245 and Autokiller set to Strict. It appears as though the CFS has broken Autokiller since 0 is displayed for all the memory limit fields. I'm around 39mb free memory at the moment. Other than that, everything is running smoothly and quick as ever.
[Droid Eris Android Development] hallstevenson:
I've noticed low memory numbers also, especially when using a "heavy" app like Maps or Navigation. My phone got really, really sluggish and when I finally got ATK launched, it showed 14mb available memory. I've never seen it that low, even with the stock HTC kernel !
[Droid Eris Android Development] macdroid14:
Me too. It's great that Navigation works now, but using memory intensive apps causes my Eris to lag. It took about 25 seconds for the "Google Maps Navigation Beta" logo to actually get to the app.
[Droid Eris Android Development] Decad3nce:
K. If you guys can wait til conap comes on, it's really an easy fix; just something that was overlooked after I told him to do a make mrproper.
[Droid Eris Android Development] eklipze:
Thanks for jumping on this! I really love this cfs kernels buttery feel!

Again you guys rock my little phones world!
[Droid Eris Android Development] wilshyre:
I have 2 eris phones as my old lady lost hers a while back and insurance replaced it, and recently we found it.. so I have actually have 3 if you count hers. Anyway, one is not activated but I've been using it to test CFS and I agree, there is def something wrong with the minfreekiller.. first, autokiller gave me values of 0 all the way down the line. Thought maybe this was a bug so put in numbers for strict, as the default presets weren't working either. Try to set them but they still show 0 all the way down. So applied settings after manually putting them in and the app confirmed applied settings.. but they definitely weren't working. Withoit a manual task killer and killing apps at intervals, it simply goes Mega sluggish. BFS330 does not seem to have this prob. Loving it and BFS.
[Droid Eris Android Development] ahjee:
It certainly doesn't kill any apps/procress. Autokiller and all like it won't work either, sorry to be redundant but other than it not doing that it works well, I'm mostly happy about it solving my gPs and now it gives me a reason to use the formly useless ATK and others a like, its helped using it actually once I tweaked the settings.
[Droid Eris Android Development] Hungry Man:
Yeah I think it's been said... it doesn't kill apps. This is already verified and it'll be fixed very simply =p
[Droid Eris Android Development] thisisreallygay:
Once that's fixed I'll never go to bfs. Cfs is so smooth.
[Droid Eris Android Development] gemro311:
Out of curiosity I installed setcpu and set it at 710/245 on demand..GPS did not work. I uninstalled the setcpu and GPS now works. Not using that Appkiller

Turned on JIT ..do not notice any slowdowns now.

Previously I had JIT turned off and it was locking up on me. Vedy,Vedy weird.

sent from my Froyo Tazz 3.0 Rom..by fanatical Dolphin Fan.
[Droid Eris Android Development] ahjee:
I said I was being redundant lol.
[Droid Eris Android Development] Hungry Man:
Lol ok it just seemed like a bunch of people came in and said it right after it had just been confirmed =p but it's cool I was just pointing out there's no need to repeat it.
[Droid Eris Android Development] ahjee:
You couldn't be more right, sorry guys!
[Droid Eris Android Development] hallstevenson:
Sorry, didn't mean to sound like complaining, just confirming. :)
[Droid Eris Android Development] bftb0:
Amen. I find myself constantly and repeatedly "stabbing" the screen when trying to pan around in the browser when using the BFS330 kernel. It seems worse than the stock kernel in that regard, which is mighty strange considering that the BFS scheduler was intended to produce exactly the opposite result.

Thanks again to Decad3nce and Conap for making this available to us.

bftb0
[Droid Eris Android Development] thisisreallygay:
I wonder if V4 fixed it! Flashin' it now.
[Droid Eris Android Development] Conap:
yeah it is fixed in v4
[Droid Eris Android Development] PPCGeek01:
Whew!! Glad to hear others were experiencing the same lagging issues as well. :p

Thought it was maybe due to me using a Sense based 2.1 rom and that it was incompatible.

Will probably go back once it's been fixed. Thanks to bftb0 for bringing it up, and of course Decad3nce and Conap for their hard work.
[Droid Eris Android Development] Hungry Man:
Conap, do you have a list of the voltages in this and the BFS for each frequency?
[Droid Eris Android Development] Conap:
I should be fixed now....
[Droid Eris Android Development] PPCGeek01:
Thank you very much. Saw your post after I had posted. In the process of flashing now.
[Droid Eris Android Development] Nikolai2.1:
One thing I've also noticed (I'm not sure if this is CELB Froyo or the kernel) but I can no longer use adb wireless or wireless tether.
[Droid Eris Android Development] thisisreallygay:
Thanks so much dude, this made my phone way faster.
[Droid Eris Android Development] bftb0:
Thanks Conap. Booting now. Will spend some time with it on my vacation & see what kind of battery life I can get out of it. (I suspect that it may work just fine clocked really low during Screen Off/sleep w/ondemand; but that's the kind of thing that should be evaluated over many days).

\o/