[LG Optimus Black] aprold:
Nova is a package for P970 (LG Optimus Black) comprised of:

Custom kernel

Numerous tweaks

Settings application

The custom kernel is based on CM's source up until 4/11. The credit of every work prior to this date belongs to everyone who contributed for it, especially Ricardo Cerqueira. I've just tweaked and messed a bit in order to optimize performance, internet speed, battery and memory management, while keeping it as light as possible.

Currently working for:

CyanogenMOD 7

Kernel features/changelog:

[I]version eleven:[/I]
- Decrease wifi voltage to save battery (more battery)
- Switched to TinyRCU (more battery)
- Added CFS' HRTICK feature
- Enabled ARM errata 430973, 458693 and 460075
- Some more ARM, FS and RCU stability patches
[I]version ten:[/I]
- Removed GPU OC
- A few updates on the ICS branch
- Overall CRC32 major overhaul and improvements
- Added and enabled slice-by-8 CRC32 slicing algorithm
- Some sched features backported from kernel 3.0
- CFS Autogroup scheduling improvements
- Memory footprint framework fix for ARM arch
- Removed an extra loop in pcpu_get_vm_areas
- Added and enabled dm-cache from Ming Zhao
[I]version nine:[/I]
- Built with Mjolnir toolchain
- Removed some more unnecessary things
- Switched slab allocator to an optimized SLUB
- Heavily optimized Ondemand and Interactive governors
- A few tweaks to Lionheart governor
- New iface_stat module to monitor persistent network stats
- Added option to use new global workqueue
- Disabled AUFS, Ext2 and Ext3 filesystems
- Added Quota2 netfilter and enabled it
- A few TCP values tweaking
- NFS module now available
- Add a runtime option to disable sync feature
- Raised RCU boost PRIO
- Many, many, many stability patches
[I]version eight:[/I]
- Switched flashing method to kernel injector
(Grants more compatibility for CM future versions)
- jHash speed tweak instead of jHash 3.
- Added [URL="http://xdaforums.com/showpost.php?p=19620135&postcount=521"]Lionheart governor[/URL] and made it default (read FAQ).
- Removed eRecovery from kernel update script as it is already present inside CM
[I]version seven:[/I]
- Added AUFS - Advanced multi-layered unification filesystem.
- Integrated XZ compression support and enabled it.
- Integrated SHA-1 and enabled it.
- Added Timer Slack CGroups subsystem.
- Optimized do_csum function.
- Added USB Mass storage CSW hack feature (improves USB performance).
- Umaro's CPU tweaks collection.
[I]version six:[/I]
- CFS' Autogroup & RCU optimizations.
- VMScan tweaking.
- VMap Area cache feature.
- Improvements to compressed/head.S.
- Enhanced compiler ability to optimize page tables.
- Introduced memory copy macros and functions.
- Improved performance of memcpy and memmove.
[I]version five:[/I]
- Disabled arch unwind and frame pointer (performance boost).
[I]version four:[/I]
- Fixed bugs.
- Changed Smartass2 to default governor.
[I]version three:[/I]
- Posix timers optimized.
- Prevent multiple syscalls restart patch.
- Ext4 optimized (fixed disk write performance regression).
- Added cleancache feature.
- Patched Ext4 for cleancache support.
- SGX530 overclock to 210 Mhz.
- Made Logcat built-in instead of module.
[I]version two:[/I]
- Added BFS 404 by Con Kolivas.
- Tweaked BFS' rr_interval & sched_iso_cpu for extra juice.
[I]version one:[/I]
- Tiny Preempt RCU & RCU boost.
- Added SLQB slab allocator.
- Added Autogroup scheduling feature.
- Optimizations to CFS & Autogroup.
- 3 new CPU governors: Lazy (default), InteractiveX & Smartass2.
- Governors parameters tuned for the Optimus Black.
- Removed some unused governors.
- Updated Deadline I/O Scheduler to a highly optimized one (default).
- Removed all other I/O schedulers.
- Support for CPU unaligned access.
- Veno TCP Congestion control. *
- Stochastic Fair Blue network scheduler. *
- Bumped jHash to last version. *
- Improved RWSEM algorithm.
- Improved CRC32 algorithm.
- Disabled Swappiness & ZRAM.
- Increased VM_MAX_READAHEAD.
- SYSCTL and LMK heavy tweaking.
- CIFS, TUN & Logcat can be loaded as modules.
- Heavily cleaned of debugging and tracing crap.

* huge internet/market page loading boost

Tweaks features/changelog:

[I]version eleven:[/I]
- [COLOR="Green"]v11c: modified G key assignment to work with redy2006 CM build[/COLOR]
- [COLOR="Green"]v11c: updated Nova Settings to version 1.2[/COLOR]
- [COLOR="Green"]v11b bugfix: missing buil.prop modversion property caused signal loss[/COLOR]
- [COLOR="Green"]v11a bugfix: G key assignments[/COLOR]
- Updated Nova Settings application to v1.1
- Added eRecovery (any left side key will do)
- Added G key assignment feature
- Added zipalign on boot feature
- Added move dalvik-cache to /cache feature
- Added sqlite database defrag feature
- Added 3G boost feature (values by zeppelinrox, original research by voku)
- Included tweaked GPS.conf for faster locking
- Patched resolv.conf for Google DNS servers
- Free RAM feature (credits: imoseyon)
- Raised VM heapsize to 48mb (we can afford it)
- Added some TCP values tuning
- Disabled verify-bytecode for more RAM
- Added logging to initialization scripts (/data/nova/nova.log)
[I]version ten:[/I]
- Created nova settings application to replace shell interface
- Integrated rawr script into nova settings
- Fixed the way NFS module is inserted
[I]version nine:[/I]
- Improved updater-script so it wipes cache and dalvik-cache
(the first boot will be slightly longer but avoids problems)
- Added Nova settings interface (run in terminal: nova)
- Rewritten Nova init.d to support the settins interface
- Added an updated busybox
- Added auto-root restore
- Fixed DVFS disabler
- Removed libsqlite.so
[I]version eight:[/I]
- Added IPv6 tweak.
- Rewritten LG DVFS regulator.
- Improved Ext4 tweaks.
- Added Rawr script (read FAQ).
- Added some build.prop tweaks.
- Added module checker (read FAQ).
- Updated hosts file (Used for blocking Ad server addresses)
[I]version four[/I]:
- Added DVFS safeback for radio issues (read FAQ for instructions)
[I]version three[/I]:
- Patched hosts to disable Ads.
[I]version one[/I]:
- Patched libsqlite.so for higher I/O performance. *
- Proper Ext4 mounts for higher I/O performance. *
- microSD card reading speed tweak (increase readahead).
- eRecovery - press any physical key while booting to go to recovery.

* higher I/O performance affects smoothness such as the opening/closing of applications

Nova Settings application features/changelog:

[I]v1.2[/I]:
- using new app icon made by lesp4ul
- added menu icons
- fixed G key current value null
[I]v1.1[/I]:
- refactored to use preferences
- regrouped preferences to child screens
- replaced buttons with menu (works on the main screen only)
- added about dialog and reboot menu items
[I]v1.0[/I]:
- initial release

Download:

v01: Nova-kernel-v01.zip (Tweaked CFS + Autogroup scheduling feature)

v02: Nova-kernel-v02.zip (Tweaked BFS)

v03: Nova-kernel-v03-BFS.zip (BFS) | Nova-kernel-v03-CFS.zip (CFS + Autogroup)

v04: Nova-kernel-v04-BFS.zip (BFS) | Nova-kernel-v04-CFS.zip (CFS + Autogroup)

v05: Nova-kernel-v05-BFS.zip (BFS) | Nova-kernel-v05-CFS.zip (CFS + Autogroup)

v06: Nova-kernel-v06-BFS.zip (BFS) | Nova-kernel-v06-CFS.zip (CFS + Autogroup)

v07: Nova-kernel-v07-CFS.zip (CFS + Autogroup)

v08: Nova-kernel-v08.zip (CFS + Autogroup; read new FAQ entries please)

v09: Nova-kernel-v09.zip (CFS)

v10: Nova-kernel-v10.zip (CFS)

v11c: Nova-kernel-v11c.zip (CFS)

* read FAQ for differences and more information

Instructions:

Read the FAQ, seriously

.

Download the package in the above link.

[Optional] Check the md5sum to confirm it's not a corrupted copy.

Copy file to microSD card

Reboot into recovery

Choose "install zip from sdcard" and pick the file

Reboot

[Optional] To confirm it's active go to settings > about

FAQ:

Q. How to use eRecovery? [COLOR="Red"]new[/COLOR]
A. After powering on start twiggling volume or G keys
until screen goes blank for a moment.

Q. What's the Nova Settings application?
A. You'll find this utility among all your other applications and it allows you
to tweak some of the more interesting preferences of Nova kernel.

Q. What's the Lionheart governor?
A. The Lionheart governor is a governor put together by myself. It's
based on conservative but it's highly tweaked and patched. Let's hope
it's of your liking. It should also work good with LG DVFS.

Q. Do I need to wipe?
A. No, never.

Q. Do I need to flash this if I flash a new CM update/nightly?
A. Yes. Everytime you flash a new CM version, you need to reflash this.

Q. ZOMG, the screen is black and LEDs are blinking forever after flashing, why?
A. Calm down, sometimes happens. Remove battery and try again, it'll work.

Q. I'm having radio (calls/messaging/signal) issues, what's happening?
A. This is probably due to the disabled DVFS. While disabling DVFS improves performance, it may also cause these random annoyances. To fix it just change it from nova configuration script.

Q. What's the difference between BFS and CFS?
A. Well, to put it briefly, CFS (Completely Fair Scheduler) is the default scheduler in a kernel and like the name suggests it's more balanced than BFS; tasks such as multi-tasking will be better performed with CFS. The autogroup scheduling feature which I've added increases CFS' performance and brings it much closer to the strong point of BFS (Brain **** Scheduler): response. BFS aims to improve the interactive experience but it falls shorter than CFS on the handling of other tasks. There is no better scheduler, there are only tastes. I myself prefer CFS + Autogroup because BFS sometimes causes weird things and glitches but I know many people who refuse to use anything else other than BFS. It's up to you.
More information: [url]http://www.cs.unm.edu/~eschulte/data/bfs-v-cfs_groves-knockel-schulte.pdf[/url]

Q. How can I change governor?
A. Use an application like SetCPU or No-frills CPU Control or go to Settings > CyanogenMod settings > performance > CPU Settings.

Buglist:

(There's a price to pay for a blazing & fast Optimus Black!)

G key as Power key doesn't wake up the phone