Post Reply

[Kernel]G2x-CM7[2.6.32.60] (054-stable)OC~1.55GHz/UV/SLQB/BFQ/ZRAM/Voodoo [Oct-9]

OP faux123

11th May 2011, 09:19 AM   |  #1  
Here's a kernel build based on CM7 Kernel Source Tree

Special Shout out to DebauchedSloth for his pull requests and collaboration on this open source project

Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in its entirety, I kindly ask you to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you

What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.




THIS KERNEL is BASED ON CM7 Source Code. So it is COMPATIBLE ONLY WITH CM7 Builds.

Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).


ZRAM (aka CompCache aka RAMZSwap)

ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.

Joe's RCU (Optimized for Small SMP systems)

Joe Korty has created an RCU for small SMP systems (> 32 cores). His approach is to isolate all the Garbage Collection (GC, a slow time consuming but necessary processing) to a single core, thus allowing other cores to ONLY work on real required processing. This will allow the additional cores to complete their assigned tasks as fast as possible (not bogged down by GC) then immediately go back to a suspended state (saving battery).

Fast No Hz RCU (Optimized for SMP operations)

Fast NoHz is an optimized version of the traditional Tree RCU. Many new kernels are using the Tickless NoHz design. This RCU is tailored and designed to work with the new NoHz kernel system.

Brain F*ck Scheduler - (BFS)

This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).

SLQB - (SLAB allocator with Queue)

This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...

Fair Budget Queue (BFQ I/O scheduler)

This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.

THIS IS ONLY FOR THOSE WHO ARE WILLING to FLASH THIS ON HIS/HER OWN PHONE... IF YOU ARE NOT COMFORTABLE WITH THIS YOU SHOULD NOT FLASH THIS.

For those who decide to flash, please post the results and/or issues here




[ Current Release Files: ]

[ Start @ 1.0 GHz, Stock Voltage, Max @ 1.55 GHz ]
(Official LGE/Tegra Voltage Values, Same as STOCK LGE Kernel)

The File ==> CM SV Kernel Version 054 stable <==

[ Start @ 1.0 GHz, Stock Voltage (Low Grade aka LG, Max @ 1.48 GHz ]
(Official LGE/Tegra Voltage Values, Same as STOCK LGE Kernel)

The File ==> CM SV Kernel Version 054 stable (LG) <==

[ Installation procedure: ]

1. reboot to CWM
2. Clear cache
3. Advanced, clear Dalvik
4. install zip from SDcard
5. Reboot

DONE!

[ Bulletin: ]

Version 050 is out. SOD, performance issues fixed


[ Bugs: ]

None so far...

[ History: ]

See 2nd post below!

Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this ROM or Kernel!!!


My github in Compliance with GPL
Last edited by faux123; 10th October 2012 at 10:57 PM.
The Following 163 Users Say Thank You to faux123 For This Useful Post: [ View ]
11th May 2011, 09:20 AM   |  #2  
[ History: ]

Version 0.0.1 (deprecated)

Added SLQB memory allocator
Added FakeShmoo OC/UV
Added MinMax Governor

Version 0.0.2 (deprecated)

Adjusted Touch Sensitivity
Adjusted virtual keyboard deadzone

Version 0.0.3 (deprecated)

Updated Kernel to 2.6.32.40!!! Latest Patches!

Version 0.0.4 (deprecated)

Added new 1500 MHz frequency
Made Performance Governor Default (supposedly Tegra has HW scaler)
Default to 1100 MHz as startup frequency.

Version 0.0.5 (deprecated)

Fixed Max OC to allow proper 1.5 GHz setting
Revert back to MinMax Governor to conserve Battery Life

Version 0.0.6 (deprecated)

Updated kernel battery driver for better battery reading
Reduced amount of memory freed by oom_kill
Undervolted -50mv across the board by default
Lowest CPU Freq is now 400 MHz instead of 300 MHz, voltage remain the same
Governor switched back to performance due to some issues

Version 0.0.7 (deprecated)

Removed unnecessary spin locks to eliminate random stalls (lag)

Version 0.0.8 (deprecated)

Removed LG ATS driver support (not needed)
Removed ERRATA 720789 (not needed)

Version 0.0.9 (deprecated)

[ major fail on my part. blame on 3AM kernel hacking ]
Patched MM portion of kernel
Added Relaxed I/O accesses

Version 0.1.0 (deprecated)

Patched from 2.6.32.40 to 2.6.32.41
Compiled with Tegra2 specific VFP optimizations

Version 0.1.1 (deprecated)

Compiled with even MORE Tegra2 specific optimizations

Version 0.1.3 (Beta, Closed!)

Updated battery driver by DebauchedSloth
Boosted Headset volume by DebauchedSloth

Version 0.1.4 (Beta, Closed!)

Updated battery driver (part 2) by DebauchedSloth

Version 0.1.7 (deprecated)

Use normal oom_killer threshold
Upated to use TMUS specific CPWatcher (fixed kernel oops)
Revert star_battery change internal percentage calc method
Mem Cgroup optimizations
Fixed init.d issue
Added read-ahead cache for internal FLASH and SDCARD

Version 0.1.8 (deprecated)

Patched MM
Patched ASHMEM
Updated RCU to use NoHz matching NoHz for SMP used by Tegra2

Version 0.1.9 (deprecated)

BCM4329 disable ISCAN, enabled CSCAN
Patched RCU IRQ handling
Grab CPU Serial Number during boot

Version 0.2.0 (deprecated)

Added LG specific LED kernel driver (props to Aremcee)
Enabled LED generic driver

Version 0.2.1 (deprecated)

Fixed LG LCD Back Light driver
Updated LG LCD ALC/ALS sense cycle from every second to every 1.5 seconds (reduce pulsing effect)

Version 0.2.2 (deprecated)

Memory Carveout reduced from 128 MB to 64 MB
Updated LED config
Overclocked AVP from 240000 KHz to 266400 KHz
Overclocked DDR2 SDRAM timing from 300 MHz to 333 MHz

Version 0.2.3 (deprecated)

Updated BlackLight driver to be more compatible

Version 0.2.4 (deprecated)

Reduced cpu load by making LED notification as a single cpu thread
Reduced cpu load by making Battery driver polling as a single cpu thread
Reverted back to CM7 battery driver for now

Version 0.2.7 (deprecated)

Updated OC Voltages and Frequencies for UV and SV kernels
UV Kernel up to 1.55 GHz
SV Kernel up to 1.40 GHz
Fixed Gyro/Accelerometer output scale factor
Fixed Suspend issue
Fixed lag issue

Version 0.2.8 (deprecated)

Enabled USB Accessories Support
Revert to DS' Battery Driver (CM7 batter driver was causing overheating issues and faulty charges).

Version 0.2.9 (deprecated)

Patched to the p990h v10a drop
Split DS and CM driver into separate zips
Dropping EXT3 versions (too many zips to deal with)

Version 0.3.0 (deprecated)

Fixed WiFi DeepSleep
Enable BT Address access
Reduced unnecessary activities in Battery Charger
Power off Hall Sensor (magnetic) and Accelerometer when not using

Version 0.3.1 (deprecated)

Fixed overly aggressive accelerometer sleep policy
Added Voodoo Sound Processing

Version 0.3.2 (deprecated)

Reverted both power save for Hall and Accelerometer
(Both commits broke magnetic and compass drivers)

Version 0.3.3 (deprecated)

Partially revert load reduction for battery drivers (CM7 and DS)
(this is to fix alarm issue)
Revert WiFi deep sleep policy
(this is to fix WiFi Calling Issue while screen off)

Version 0.3.4 (deprecated)

Changed GPU carving back to 128MB to fix reboot issues
Cleaned up FakeShmoo Overclock code in general for future tweaks
GPU 3D overclock enabled
APV Overclock increased to 280000
Added new LED notification compatibility

Version 0.3.5 (deprecated)

Updated to LG latest drop v10e
Allowed LED lights to be configurable

Version 0.3.6 (deprecated)

Updated to LG latest drop v10e (part 2)
Updated touch screen driver

Version 0.3.7 (deprecated)

Reverted drop v10e's NVRM changes
Adjusted sleep GPIO settings
Updated Kernel to patch level 2.6.32.42

Version 0.3.8 (deprecated)

tegra_gps: Hold wakelock while GPS is in use
Cleaned up OC minor coding error
Updated Bluetooth Sleep driver from V21e (Better Power Savings)
Added Compressed RAM Swap Memory from LGE V21e (More available RAM)
Updated WL driver to use thread based control from LGE V21e (Better way of Control)
Updated Gyro Accel, Compass and TS0710MUX (used for GSM) drivers from LGE V21e (Faster Transfer and better sensor readings)
Added Memory Carveout Killer to reclaim unused memory from LGE V21e (More available RAM)

Version 0.4.1 (deprecated)

Fixed oops that was 0.4.0 (Blame midnight hax and lack of caffeine)
Patched kernel to 2.6.32.45
Updated Battery Charger driver from LGE V21e
Updated rindrv for better TCP throughput from LGE V21e
Updated Mic Bias for headset from LGE V21e
Updated Headset and Amp initialization order per LGE V21e
star_bl: Lower ALC voltage values
p99x: Board file updates from v21e
star: Fix headset detection on resume
star_powerkey: Fix missed events while on LP1
star_proximity: Move event generation to workqueue
nvodm_touch_synaptics: Adjust coordinate limits
star_proximity: Fix pin assignment on p999
Updated CM7 battery charger driver

Version 0.4.2 (deprecated, Nightly 143+)

Updated RAMDISK for Nightly 143+
USB: Remove serial functions from RNDIS composition
Revert "TTY: ldisc, do not close until there are readers
Revert "Fix memory leak in cpufreq_stat
removed LGE's compressed RAM Swap

Version 0.4.3 (deprecated)

Used the git implementation of SHA-1 to reduce boot time by 11%
Updated uidstat to only count IPv4 traffic
Optimized memcpy and memmove for string library calls (real working version )
Version 0.4.4 (deprecated, Nightly 174+)

Added optimized CRC32 and CRC32c which pretty much improves EVERYTHING which use those 2 library calls including File Systems, TCP/IP etc
Added Arcee's SPI DVS patch
Added LZO compression support (for ZRAM)
Added ZRAM patched to beyond Linux 3.1-rc9 (a newer version of Ramzswap without user space daemon )
tegra: Updated nvhost for new star userspace bits

Version 0.4.5 (deprecated, Nightly 174+)

cpufreq: fix cpufreq_stats table removal warning via cpu hot-plug
base:cpu.c: Cherry pick updates from Motorola Atrix 4G kernel
cpufreq: cherry picked updates from Motorola Atrix 4G kernel
compilation: fixed annoying debug section mismatch warnings
Revert "Fix memory leak in cpufreq_stat"
kernel patch: 2.6.32.48 -> 2.6.32.49-rc1
atomic_t: Cast to volatile when accessing atomic variables
Revert "Revert "Fix memory leak in cpufreq_stat""
Revert "Revert "TTY: ldisc, do not close until there are readers""
Revert "tegra: Import dvs updates for SPI from p999's v21e"
Revert "nvrm_user.c: Updates from the p990 v10e drop. Fixes BSOD while charging"
kernel patch: 2.6.32.47 -> 2.6.32.48
kernel patch: 2.6.32.46 -> 2.6.32.47
kernel patch: 2.6.32.45 -> 2.6.32.46

Version 0.4.6 (deprecated, Nightly 174+)

star: Import some v20l patches
star: Add GPIO pins G0, G1, and W2 to wakeup pad
mm: retry page fault when blocking on disk transfer
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.
kernel.h: Add BUILD_BUG() macro.
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
lockdep: print lock name for lockdep_init_error
init/main.c: execute lockdep_init as early as possible
[PATCH] Input: introduce device properties
[PATCH] input: mt: Add hovering distance axis
input: mt: Break out slots handling
Input: introduce MT event slots
USB: f_mass_storage: Disable write cache support
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
PM: wakelocks: Don't report wake up wakelock if suspend aborted
rtc alarm: fix bad index when canceling alarms[]
ARM: support XZ compressed kernels
decompressors: add boot-time XZ support
decompressors: add XZ decompressor module
arm: Allow CPU-supported unaligned accesses
PM: wakelocks: Display wakelocks preventing suspend by default
mmc: core: put eMMC in sleep (cmd5) mode before suspend
input: evdev: Add missing wake_lock_destroy
lookup3(). The new hash function

Version 0.4.7 (deprecated, Nightly 174+)

Patched to kernel.org 2.6.32.50

Version 0.4.8 (deprecated)

Patched to kernel.org 2.6.32.51


Version 050 (Current, CM7.2.0+)

Increased BL polling from 2 sec to 3 sec
Fixed sys_sync() stability issues
Backport CFS Autogroup to allow for better multitasking performance (smoother operations)
Optimize Driver wait/sleep time outs with more CPU friendly operations
Fixed occasional Sleep-to-Off issues (Take 2 )
Fixed occasional Sleep-to-Off issues
Removed some kernel debug options
Enable ARM unaligned access
Added CM7.2.0 Stable Compatible RAMDISK
Added Screen Off CPU limiter (limit CPU usage to Max 503 MHz)
Turn off 2nd CPU core while screen off
Fixed reboot hang issues
Fix Temple run issue using Sensor updates from v20L
DS battery driver is NOW DEPRECATED (NO LONGER AVAILABLE)
Add CPU Freq Table support (which fix the CPU stats bug, now you can use CPUSPY to see deep sleep stats)
Adjusted CPU freq table, Lowest @ 216MHz, Highest @ 1552MHz
use generic strnlen_user and strncpy_from_user functions
Patched to Linux 2.6.32.59
Added 18 patches from LGE V21Y 2.3.4 GB source drop
Last edited by faux123; 6th July 2012 at 06:28 PM.
The Following 25 Users Say Thank You to faux123 For This Useful Post: [ View ]
11th May 2011, 09:20 AM   |  #3  
Reserved 2 just in case....
The Following 18 Users Say Thank You to faux123 For This Useful Post: [ View ]
11th May 2011, 09:34 AM   |  #4  
jlevy73's Avatar
Senior Member
Los Angeles
Thanks Meter: 1,304
 
9,261 posts
Join Date:Joined: Nov 2009
When you say you've added min/max governer not sure what you mean. I'm under the impression that Tegra only uses Performance. When I go into governer setting in pimpmycpu there is no option to change it.

Note: It boots fine with cm7 and BT/wifi work fine. Now to test OC/UV
11th May 2011, 09:39 AM   |  #5  
Quote:
Originally Posted by jlevy73

When you say you've added min/max governer not sure what you mean. I'm under the impression that Tegra only uses Performance. When I go into governer setting in pimpmycpu there is no option to change it.

Note: It boots fine with cm7 and BT/wifi work fine. Now to test OC/UV

I don't see why tegra only supports performance... I could be wrong... Governor should be independent of CPU architecture underneath.... Could be a limitation of pimpmycpu...

BTW, Did you try it yet? Did it boot? I am curious....
The Following 7 Users Say Thank You to faux123 For This Useful Post: [ View ]
11th May 2011, 09:42 AM   |  #6  
jland22's Avatar
Senior Member
Boston
Thanks Meter: 48
 
424 posts
Join Date:Joined: Aug 2010
More
Just wanted to say I just donated 10.00 hard earned bucks towards your G2X fund Faux!
11th May 2011, 09:44 AM   |  #7  
jlevy73's Avatar
Senior Member
Los Angeles
Thanks Meter: 1,304
 
9,261 posts
Join Date:Joined: Nov 2009
Quote:
Originally Posted by faux123

I don't see why tegra only supports performance... I could be wrong... Governor should be independent of CPU architecture underneath.... Could be a limitation of pimpmycpu...

BTW, Did you try it yet? Did it boot? I am curious....

This kernel is excellent, very fast @1.3/1.3 Smartbench 2011 score was 4976/3014. That's a better score than the viewsonic clocked @ 1.7

Fp2sd = 117FPS
Linpack = 49

Great work, thanks! Hope you get your device soon!
Last edited by jlevy73; 11th May 2011 at 09:48 AM.
The Following 2 Users Say Thank You to jlevy73 For This Useful Post: [ View ]
11th May 2011, 09:50 AM   |  #8  
Quote:
Originally Posted by jlevy73

this kernel is excellent, very fast @1.3/1.3 smartbench 2011 score was 4976/3014. That's a better score than the viewsonic clocked @ 1.7

fp2sd = 117fps
linpack = 49

great work, thanks! Hope you get your device soon!

thank you thank you thank you... I am very happy it booted at all.. I am even more happy that it actually worked from a blind build!!!!!


PLEASE TEST the HELL OUT OF IT!!!!

GOing to bed... tired as hell
The Following User Says Thank You to faux123 For This Useful Post: [ View ]
11th May 2011, 09:54 AM   |  #9  
jlevy73's Avatar
Senior Member
Los Angeles
Thanks Meter: 1,304
 
9,261 posts
Join Date:Joined: Nov 2009
Quote:
Originally Posted by faux123

thank you thank you thank you... I am very happy it booted at all.. I am even more happy that it actually worked from a blind build!!!!!


PLEASE TEST the HELL OUT OF IT!!!!

GOing to bed... tired as hell

I sure will, once again thanks. Great job
The Following User Says Thank You to jlevy73 For This Useful Post: [ View ]
11th May 2011, 10:24 AM   |  #10  
Junior Member
Thanks Meter: 0
 
22 posts
Join Date:Joined: Aug 2010
Is this only for CM7? I just love the way stock is running for me so far. I mean I don't mind reflashing CM to test this.

Sent from my LG-P999 using XDA App

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes