FOR OTHER DEVS: To fix APN, grab the boot.img and use it's ramdisk in your build. That was the only thing I did to my kernel build to get this result. See the bug report here: http://code.google.com/p/cyanogenmod...ars%20Priority
First off, big thanks to Faux123. This is based on his repo with a few tweaks of my own. I'll be adding more as we go on. And of course, he's welcome to pull any patches he likes from my github. Morfic also deserves top billing as of v1.3. I added a lot of tweaks from his code in the latest version.
Added zram compressed swap support. I'll attach a script to turn it on and one to see what its status is. It's not like the older ramzswap that requires a special tool, everything is done through sysfs now. Very nice.
Added zcache compressed cache. This is a bigger win IMO, it compresses any compressible data in the cache. This means you can keep much more data in cache, which means you have to read it in from slow flash much less often.
Tweaked the low memory killer to take swap space into account, but only some of it.... This prevents swap thrashing while the system tries to kill processes and free up ram/swap. I also suggest using something like AutoKiller to set the levels to the best performance for your workload. We all run different apps and such, and that can affect how these things work for each user. There is no setup that is going to be perfect for 100% of users. Speaking of AutoKiller, I have found the advanced tweaks to help a fair bit as well. Don't use the memory management one, it overides your settings for things like swappyness. And the IO Scheduler doesn't do anything as we aren't using cfq. Unless you turn on cfq...
On Swap and compression:
While badly configured swap can slow things down, it's far more complex than people think. It also frees up RAM that's not being used frequently for apps that are. So your system can more efficiently use the resources it has. While compression does use some CPU time, our dual core 1Ghz+ CPUs can compress/decompress REALLY fast. Far faster than reading from the flash storage. In theory, this can affect battery life, though I haven't seen any significant issues from it.
Q: But we have 512M, that's a LOT!
A: Well, kind of... Not all of it is accessible to the kernel for running apps. 128M for the GPU, some for the cameras, wifi, etc... In the end, a little less than 400M is available. Then you have to add in system overhead from the kernel itself, Android's OS processes, etc.. That is quite limiting, IMO, so using it more efficiently is important to me.
Q: I don't like compression/swap.
A: Then don't run this kernel.
Download 1.5.1 (older cm7 builds): goo.gl/B2LSW
Download (CM7/Trigger) v1.5.2: http://goo.gl/rl7VY
Changelog: v1.5.2 * Added patch from CM repo for booting 173 and newer builds. v1.5.1 * Possible BT/CAM fixes (Change clock options based on Morfic's info) * Integrate some config changes v1.5 * Possible SOD fix from vork/CM * Faster SHA-1 from kernel git * Faster memcpy/memset from kernel git * Various other patches from the kernel git v1.4.1 * Updated ramdisk for the latest APN fixes v1.4 * Disappearing APN fix from cm_acree * Misc. little fixes v1.3 * Added morfic's changes to the voltage control code * Increased voltages * Added JRCU patch from morfic's repo * Tweaked various VM options also per morfic's repo * Made deadline scheduler the default v1.2.2 * Update to work with latest CM nightly builds v1.2 * Updates from the CM repo v1.1 * Update various drivers from the LG source drop * Increase voltages and switch to max 1.5Ghz * Switch to the CM based battery driver