yashsingh1/xdaforums huggingface dataset:
[Nexus One Android Development] jayfallen:
thanks for IR and richardtrip's replies, I will have a try on IR's latest kernel and report back

update: 2.6.37.4_AVS-CM6_CFS_20110319_0947.zip on CM6.1, VPN no luck...:(
[Nexus One Android Development] intersectRaven:
The update richardtrip's referring to only exists in CM7 so CM6 won't have VPN support. :(
[Nexus One Android Development] ellesshoo:
IR, can you explain the RCU and touchscreen filter changes? I'm interested to learn about these in some level of detail but I can't understand code. Also, what kind of decrease in current do you see with the touch screen filter change?
[Nexus One Android Development] intersectRaven:
See Wikipedia for the description of what an RCU is since it's quite a lengthy explanation. What the RCU boost does is prevent stalls of the RCU mechanism when a process takes too long to release a block. This makes the device more responsive especially with heavy IO apps. The touchscreen filter ensures that small changes in position are not processed so that CPU time is decreased. I don't know if this would affect power consumption much though. More like an accuracy improvement maybe. :)
[Nexus One Android Development] redstar3894:
IIRC the touchscreen filter was also meant to partially attempt to mitigate the "wonk" problem.... since the touchscreen is also on the i2c bus, it helps to filter things so less is going through the i2c bus.... :p

Sent from my Nexus One
[Nexus One Android Development] intersectRaven:
Hmmm...but doesn't the wonk occur when you answer the phone? I assume that you won't be fiddling around with the touchscreen in that event right? :confused:
[Nexus One Android Development] redstar3894:
Idk, not my theory.... just what I heard.... :p

Maybe it helps avoid a potential race in the i2c bus by there being less stuff going on?

Either way, people were still able to get it to wonk.... but it's a cool feature.... not sure why he didn't include it earlier....

The RCU boost is a nice addition.... not that we need it with Mjolnir and all.... but still nice to have.... :p

Sent from my Nexus One
[Nexus One Android Development] dirwdirw:
how can i del this thread ??
[Nexus One Android Development] redstar3894:
Thanks but wrong thread dude.... please post anything related to my kernels over in the gigglebread thread or PM me...

Please don't post a response to this.... this post and your post need to be removed....

Sent from my Nexus One
[Nexus One Android Development] munchy_cool:
Guys it's kinda hard for me to go through the 521 pages, so can someone tell me which AVS kernel should I go for, I am on CM 7 RC 2.
[Nexus One Android Development] intersectRaven:
AVS Kernels updated! See OP for change! ;)
[Nexus One Android Development] terente0081:
IR, could we please have some of the recent CM6 kernels with NOBOOST? The latest CM6-NOBOOST is dated 10th of Feb..

Give us some CM6 2.6.37.4 NOBOOST love :)
[Nexus One Android Development] ibis69:
Hi, usb mount seems broken on your last cm6 kernels.
[Nexus One Android Development] ZeppeMan:
I asked this too yesterday, it is a known issue on his CM6 kernels. Just download an sd mount app from the market, that worked for me :)
[Nexus One Android Development] phewizzo:
I see Cyanogen has pushed a new kernel for Passion a hour ago.
[Nexus One Android Development] intersectRaven:
Nothing special. According to GitHub it's just a revert of the WiFi driver to the previous version. :)
[Nexus One Android Development] cyberon:
Hi intersectRaven,

I cant seem to find your kernel, on the mediafire page the last kernel is 2.6.37_CAVS-CM7_CFS_20110222_1150.zip!? :confused:
[Nexus One Android Development] temasek:
http://www.mediafire.com/intersectraven

Sort by date.

Just checked and its there. :)
[Nexus One Android Development] cyberon:
Lol, missed it, thanks! :o
[Nexus One Android Development] Franc38:
Which one did you get...

None seems to be working with me...
[Nexus One Android Development] ZeppeMan:
I used Multi Mount SD-Card Lite. You can find it on the market.
[Nexus One Android Development] Franc38:
I've seen it, but it doesn't like my "AdFree"...

Went for "Dual Mount SD"... works great but costs 0.7€ ;)
[Nexus One Android Development] ReTro FuZe:
which is the best kernel for cm7? i dont know which update to download lol
[Nexus One Android Development] temasek:
There is no best kernel around. Each kernel dev has its own uniqueness. For intersectRaven's kernel (IR in short) there are now basically 2 main types. One for advance users (CAVS) the other for normal users (AVS). Both are on CFS scheduler.

So if u are a normal user, use AVS-CFS Kernel. In IR's mediafire folder, sort it by date.

http://www.mediafire.com/intersectRaven

I'm currently using this on CM7

http://www.mediafire.com/download.php?h6rjuz442fxoai1
[Nexus One Android Development] avelec:
Hi temasek, are you still running CM7-RC2 with this kernel? Any main advantages over the stock kernel? Thanks.
[Nexus One Android Development] temasek:
I'm on build 29. IR's kernel always WIN - there is no doubt about that. It feels faster.

It does feels faster, really :)
[Nexus One Android Development] avelec:
Thanks, wonder if IR's kernel is ok to use with RC2?

And if I flashed IR's then decided to go back to stock, how do I save the stock kernel before flashing?
[Nexus One Android Development] ZeppeMan:
IR's kernel will work fine with CM7 RC2. You can not save the stock kernel, the only way to return to stock is to do a nandroid backup.
[Nexus One Android Development] temasek:
Yes, you can use latest IR kernel on CM7 RC2. In fact it is recommended to use latest kernel cuz IR merge latest CM Kernel patches + his own magic mix. If u thinking of just testing the kernel, you may nandroid just the boot partition so that u can restore just the boot partition.

If you wanna revert back to stock CM Kernel, perform either ONE of the following steps:-

1. Nandroid restore just your Boot partition from your nandroid backup, or

2. Flash your ROM again. (no need to wipe).

Amon_RA Recovery has the ability to backup/restore selective partitions.
[Nexus One Android Development] avelec:
Thanks a lot, will give it a try. Wish there is an easier way of saving any current kernel like with Samsung Galaxy phone, someone make a free app in the market specifically for galaxy for saving current kernel.
[Nexus One Android Development] intersectRaven:
Temasek I'm impressed with your support prowess...if I had the power to give you the edit capability of the first and second posts in this thread I'd have given them to you! :p
[Nexus One Android Development] Mayday_XL:
Which kernel runs better on CM7 RC2, the newest iR, oder Wildmonks ?
[Nexus One Android Development] temasek:
Lol....thanks!

You are one of my respected devs. Its a tough hobby just to continuously provide nice kernels for never ever satisfied users day after day, month after month. Though I hardly post in your thread, I actually uses more of your kernel than others. - though I played around with all available kernels for n1.

Nice work :)
[Nexus One Android Development] temasek:
Asking in IR thread such question I feel is inappropriate. Why don't u try both and feel it. Both have their strengths.
[Nexus One Android Development] ch33kybutt:
+1 ... Temasek for mod! :)

On a separate issue, @IR & redstar, really nice work by both of you to fine-tune 0xlab's android toolchain to the now awesomeness of Mjolnir (love the Thor reference...). Will you be updating gcc to version 4.5 or even 4.6? I've been using Linaro toolchain with gcc-4.5 to optimize and recompile stock CM kernel for my own use, and it seems really stable (yet to wonk, but then again, I'm not a good test subject, as the wonk has only ever visited me twice before).

The Linaro toolchain was recently submitted for RFC by 0xlab's jserv (http://www.mail-archive.com/linaro-dev@lists.linaro.org/msg02499.html). Overview at (https://wiki.linaro.org/Platform/Android/Toolchain) and packages at (https://launchpad.net/linaro-toolchain). You might even be able to just drop-in their custom gcc, gdb and other packages directly into Mjolnir.
[Nexus One Android Development] intersectRaven:
Redstar has already updated to 4.6 last I checked. We're using the latest in everything for the toolchain. :D I also compile CM using it and aside from some problems with apps compiled using the NDK due to my use of softfp argument to make it use the FPU more, it's quite fast. :)
[Nexus One Android Development] ch33kybutt:
On github, your gcc version is still 4.4.6. Linaro's gcc package is at versions 4.5.3 and 4.6.0. Might be worth a look, since 4.5 has improvements to optimization for ARM processors.
[Nexus One Android Development] temasek:
Yeah, IR latest compiled kernel still shows as gcc version 4.4.6.
[Nexus One Android Development] redstar3894:
Yeah, the CM thing is something that we're still working on a bit more, but is looking quite promising... :cool:

The major thing from GCC 4.5.x and forward was the Hard Float support, which Google generously backported :D

AFAIK the Linaro toolchain is still using "soft" or "softfp" support for better compatibility unless you compile it directly from source... Debian has a very good write-up on the differences between those levels of optimization here: http://wiki.debian.org/ArmHardFloatPort

ATM, I'd rather not just drop in their packages, as what we are using has been thoroughly tested and verified that *nearly* everything is working... don't want to get into a whole discussion of this here, but I think until 4.6 is officially released, we've found a "sweet spot" of performance/optimization with where we are at right now... :cool:

I've considered it, but like I said, the main thing from 4.5.x was the Hard Float support, which was backported by the fine folks at Google, and from what I've been reading on Phoronix, GCC 4.5.x has had a number of regressions in speed, so ATM I'm just going to stick with the 4.4.x branch until the official release of 4.6...

Also, Google is still using the 4.4.x branch for building their stuff, and they have A LOT of stuff that they've backported as well as stuff that hasn't been officially accepted upstream, all of which is not in a very readable/usable format, to say the least... :rolleyes:

In just about every other case, I would completely agree, using the latest version is usually almost always better, and like iR said, we are using the latest versions of everything else (Binutils, GMP, MPFR, cloog-ppl, etc...), but for whatever reason, GCC 4.5.x has had a number of regressions in speed compared to 4.4.x, whether those have been fixed in 4.6 remains to be seen... but I guess we shall see... :rolleyes:

There's a reason that our "antiquated" 4.4.6 toolchain makes the kernels seem faster than the more updated Linaro toolchain... ;)
[Nexus One Android Development] ch33kybutt:
@redstar,

Points well made, and consider me enlightened. And I'm assuming that since there is no official GCC 4.4.6, yours must be 4.4.5 patched with the 4.6 backports you mentioned.

Here's hoping that official GCC 4.6 will be released soon, since 4.7 snapshots are already available.

EDIT:

I've just tried to compile stock cm-kernel with the Mjolnir toolchain, and got the following error...

kernel/srcu.c:315: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1871

Had to apply a patch from (http://gcc.gnu.org/viewcvs/trunk/gcc/ipa-inline.c?r1=159108&r2=159107&pathrev=159108) and rebuild toolchain in order to get it to work. Ever had this error before?
[Nexus One Android Development] avelec:
I tried the same kernel you're using and it make the my phone laggy. When I checked with quadrant the score it is lower than the stock kernel. Wonder if it's because I'm running RC2 instead of the nightly build?

Anyway nandroid it back and it's ok, thanks.
[Nexus One Android Development] temasek:
Hmm why don't u try the latest nightly build? Its much better than RC2 definitely.
[Nexus One Android Development] Rafase282:
Why was the BFS version dropped? Is CFS better for the nexus one overall? I'm still using froyo, waiting for stable release of CM.
[Nexus One Android Development] avelec:
Thanks Temasek. I will try the latest nightly build tomorrow with the same kernel you're using. Just worry that Darktremor A2SD might give me problem like before when I tried nightly build. I guess I can use the modified version of DT. Do you mind posting the step requires to update from RC2 to nightly build? Do I need a new GAPPs? Thanks
[Nexus One Android Development] temasek:
Err..... I respect thread's topic so any non IR kernel questions I would suggest u post in proper thread.

.......a quickie answer for u.

Yes u can flash nightly over RC2 (No wipe needed). Also no need to reflash gapps.
[Nexus One Android Development] k3vink3vin:
Here's an explanation from wildmonks for his 031811 kernel

http://wildmonks.iblogger.org/
[Nexus One Android Development] intersectRaven:
AVS kernels updated!
[Nexus One Android Development] houzuoguo:
you're so fast ^_^ thank you!
[Nexus One Android Development] avelec:
Oops sorry, didn't realize in the wrong thread. Anyway Thanks for the pointers...:)
[Nexus One Android Development] heyodee:
Latest release is solid. Good battery too on nightly #28

Thanks for kernel
[Nexus One Android Development] zitseng:
Hi intersectRaven,

Firstly, thanks for all the cutting-edge kernel work you're doing.

I've been following/building your kernel for some time, using the sources from your git repo. However, I've noticed there are several source problems that break the compile. For example:

/home/lzs/work/ir-kernel/fs/proc/base.c: In function 'oom_adjust_permission':

/home/lzs/work/ir-kernel/fs/proc/base.c:1125: warning: passing argument 3 of 'generic_permission' makes integer from pointer without a cast

/home/lzs/work/ir-kernel/include/linux/fs.h:2172: note: expected 'unsigned int' but argument is of type 'void *'

/home/lzs/work/ir-kernel/fs/proc/base.c:1125: error: too few arguments to function 'generic_permission'

The sources are taken from the ir-kernel-2.6.37 branch in your git repo. Are you compiling something different from what's in the repo?
[Nexus One Android Development] scalp42:
Hi intersectRaven,

Would it be possible to have a CM6 NoBoost version please ? :)

<desperate>

please

من فضلك

麻煩你

s'il vous plaît

alstublieft

bitte

por favor

</desperate>
[Nexus One Android Development] intersectRaven:
Sorry! I keep forgetting... :p
[Nexus One Android Development] ch33kybutt:
Had the same problem. Function generic_permissions needs 4 parameters, so did a workaround below which fixed it ...

--- fs/proc/base.c.org 2011-03-25 11:08:44.064497001 +0800
+++ fs/proc/base.c 2011-03-25 11:06:49.098009001 +0800
@@ -1102,7 +1102,7 @@ out:
return err < 0 ? err : count;
}

-static int oom_adjust_permission(struct inode *inode, int mask)
+static int oom_adjust_permission(struct inode *inode, int mask, unsigned int flags)
{
uid_t uid;
struct task_struct *p = get_proc_task(inode);
@@ -1122,7 +1122,7 @@ static int oom_adjust_permission(struct
}

/* Fall back to default. */
- return generic_permission(inode, mask, NULL);
+ return generic_permission(inode, mask, flags, NULL);
}

static const struct inode_operations proc_oom_adjust_inode_operations = {

You can then test by just running make on the C source file, as below...

$ make fs/proc/base.o
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CC fs/proc/base.o

To view intermediate declarations, you can run the following ...

$ make fs/proc/base.i
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CPP fs/proc/base.i

and then view the file fs/proc/base.i to check the resulting intermediate file.

After above was fixed, was able to successfully build the kernel. Good luck!
[Nexus One Android Development] zitseng:
Hi ch33kybutt,

Thanks. Actually I also know how to fix. There are other source files with similar problems too.

My point of my query is... why is the git source "broken"? :)
[Nexus One Android Development] ch33kybutt:
That's just the nature of open-source ... things get broken, things get fixed. Repeat ad infinitum. ;)

If you know how to use gerrit (I haven't tried yet) maybe you can submit the fix for review.

~~~ EDIT ~~~

Found the source of the compile error inside one of latest commits ...

https://github.com/intersectRaven/ir-kernel/commit/b74c79e99389cd79b31fcc08f82c24e492e63c7e#diff-48

commit b74c79e99389cd79b31fcc08f82c24e492e63c7e
Author: Nick Piggin <npiggin@kernel.dk>
Date: Fri Jan 7 17:49:58 2011 +1100

fs: provide rcu-walk aware permission i_ops

Signed-off-by: Nick Piggin <npiggin@kernel.dk>

Seems only the 2nd function call to generic_permission() at lines 2117/2121 was patched. Earlier function call at lines 1105/1125 wasn't.
[Nexus One Android Development] intersectRaven:
AVS Kernels updated! :)

CM6 NOBOOST included in release...
[Nexus One Android Development] scalp42:
Thank you SO SO MUCH ! :)
[Nexus One Android Development] warpaper:
CAVS vs AVS

which one is better in term of power saving? Thanks
[Nexus One Android Development] houzuoguo:
so sweet :D

I've never got such good battery life before using your .37.5 kernel!
[Nexus One Android Development] bunnahabhain:
Can anyone tell me if i can use the brand new CM6 - .37.5 kernel for a desire ported ROM? Or is it JUST for CM6? I would like to update the kernel of the MoDaCo-Desire-Rom :D
[Nexus One Android Development] houzuoguo:
Hi IR.

It appears to me that

"2.6.37.5_CAVS-CM7-NOBOOST_CFS_20110326_0825.zip"

can not use customizable AVS settings

edit

nevermind :D sorry it was my mistake, the new mediafire UI confused me when I accidentally downloaded "AVS" kernel on my phone haha
[Nexus One Android Development] terente0081:
IR, thanks for the CM6 NOBOOST kernel!

I finally got the CM6 CAVS kernel, SS4N1 GUI and did some testing.

For me, whenever I touch the Min-Max UV settings, the battery drains even faster than before. I began aggressive, with SLEEP Min UV @ 200 and Max UV @ 100, the phone was pretty unstable, would not come out of stand-by at times.

SLEEP Min-Max UV @ 100, 50 was better, but still unresponsive sometimes.

I ended up with SLEEP Min-Max UV @ 75, 25 which was stable, but the battery drained much faster.

AWAKE @ 50, 0 also drained the battery faster.

So, now I'm just using SS4N1 script to turn on the tweaks and have all UV options @ 0.

Is my phone a mV lover? Is my network to blame (low signal sometimes)? Or is it CM6?

I've seen many aggressive settings from various users, but all were CM7 as far as I can remember.
[Nexus One Android Development] intersectRaven:
AVS Kernels updated! :)

*folders have been created for easier identification of batches... :)
[Nexus One Android Development] intersectRaven:
Didn't see that 2.6.37.6 was already released...please feel free to skip this one...I'll be updating in a bit... :)
[Nexus One Android Development] phewizzo:
U r the man IR.
[Nexus One Android Development] intersectRaven:
AVS Kernels updated!

- updated to 2.6.37.6
[Nexus One Android Development] mindfrost82:
Any ideas on how to fix the slow USB transfer rates in the .37.x kernels?
[Nexus One Android Development] heyodee:
Hoolala. IR you rock
[Nexus One Android Development] ch33kybutt:
I'm also just using the SS4N1 tweaks as well, since I'm now using a self-compiled optimized stock cm-kernel.
[Nexus One Android Development] houzuoguo:
you're so fast man :D hard to catch you
[Nexus One Android Development] terente0081:
IR, you're the man! You update kernels so fast that I'm not EVER getting bored with the phone :) Always something new to try out.

Quick question: Does the latest branch, 20110328_08XX-09XX, based on 37.6 also have these features present in the 20110328_07XX branch?

- compiled using Mjolnir GCC4.6.0

- enabled Link Time Optimization and Graphite Optimization

PS. Very happy with the battery life on my N1, using your previous CAVS 37.5 build; it's on my sdcard to stay, marked with "good" :D Will def try the new one.
[Nexus One Android Development] intersectRaven:
Yes they have previous modifications unless stated. :)
[Nexus One Android Development] warpaper:
Hi,

How do i use your script?

Flash from recovery and enable by Terminal ?

Many Thanks:confused:
[Nexus One Android Development] terente0081:
Yes; You must have a CAVS kernel, flash the kernel, flash SS4N1, reboot.

Enter Terminal Emulator, type:

su

sscfg

Enjoy! Option 1 enables SS4N1. You will figure the rest, it's pretty intuitive.

Remember to Apply after you make changes, option 6 in main menu.
[Nexus One Android Development] warpaper:
Many thanks.

So when Im using AVS kernel, w/ wifi and APN off, power consumption during phone idle is around 2-3% per hour.

Could SS4N1 can do better then this?
[Nexus One Android Development] temasek:
Frankly I'm using IR AVS CFS kernel and I drained 1% or less per hr on idle. On airplane mode its half of that.
[Nexus One Android Development] terente0081:
With light usage, meaning 20-30 minutes with screen on, 10-15 minutes of talk time, CAVS kernel and SS4N1 with all tweaks ON excepting DEWONKIFIER and NETWORK TUNING, no UV, the phone has dropped from 100% to 78% in 24h. That was using 2.6.37.5 CM6 CAVS kernel. I've now flashed the 37.6 kernel, will see how it does.

Wi-Fi off, APN off, Rod's MIUI mod ROM.

Don't know about CM7 yet, I'm waiting for GB MIUI by Rod..

The battery drain on my N1 averages at less than 1% per hour with light usage, like described above. I don't use the UV features of the CAVS kernel, I just use SS4N1 script to turn on the tweaks and switch power governors when the phone is AWAKE/SLEEP.

I have it configured like this, on CM6 CAVS, Rodriguezstyle's MIUI mod ROM:

AWAKE:

Power governor: On-demand with Up-threshold at 90

Min-Max freq: 128000, 998400

SLEEP:

Power governor: Conservative with Up-threshold at 98

Min-Max freq: 128000, 384000

I have it set like this so the phone is responsive when awake and economical when asleep. A big factor when I tuned the sleep mode was that I wanted the phone to be fast enough to show notifications on time, with no delay. This is the sweet spot for me. Tune like this and tell me what you think about it.
[Nexus One Android Development] warpaper:
dropped from 100% to 78% in 24h its pretty impressive... :eek:

bty, what is "NETWORK TUNING" :confused:

From previous replied i found only enable the script by option 1 then 6 to save. what else I should do?
[Nexus One Android Development] warpaper:
setCPU v SS4N1?

Seems SSN4N1 doing similar thing w/ setCPU.

shall i use setCPU with SS4N1 script together?