Jump to content

  1. 0
  2. 0
  3. 0/5

Rate this Topic

* * * * *
9 votes

Sensation ICS(V009)GPU/CPU OC~1.73Ghz/uv/Intellidemand/power Saving[Sep-06]

  • Please log in to reply

OP faux123

faux123

Kernel Haxor

Posted 13 August 2011 - 01:19 AM #1

NOTICE: This is COMPATIBLE with ALL Sensations Rooted Stock and Custom ROMs

For frequency control and voltage adjustments use SystemTuner by 3C or FauxClock app by Romanbb

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 parts or in its entirety, I kindly ask you mention its origins and 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 :cool:



Hi RootzWiki members and fellow Sensation users:

This is my tenth kernel hack. I want to thank Erasmux, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.

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.

Posted Image



THIS KERNEL is BASED ON HTC Source Code. So it is COMPATIBLE ONLY WITH HTC Gingerbread Sensation 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).


CleanCache (via ZCache backend)

ZCACHE is a new technology I introduced to Sensation Kernel. ZCACHE is a compressed cache similar to ZRAM but the similarity ends there. ZCache is meant to provide as many "cleancache" pages (non-dirty or untouched "virgin" memory) to apps that request for new memory. CleanCache is very easy to allocate and no additional penalty are required to hand them out, so having more CleanCache pages will improve performance. Under heavy memory pressure, often times the kernel will NOT have enough CleanCache pages, so the kernel has to do EXTRA work to reclaim dirty cache pages and clean them for the new apps that's requesting for them. The described process creates a performance hit for the kernel and the app, so the idea is to use compression to create more CleanCache pages available for use. Of course there's a penalty to pay for using compression, but the trade-off between compression penalty and the penalty for reclaiming dirty cache pages and allocating them after cleaning is smaller for compression, so in the end, CleanCache should add more performance.

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. <img src="http://rootzwiki.com...lt/biggrin.png" class="bbc_emoticon" alt=":D">

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.

SmartAssV2 Governor (Balanced)

This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).

Interactive Governor (Performance)

This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...

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.


Installation Instructions:

Here's a step by step instruction to install this kernel:

****************** Ice Cream Sandwich KERNEL (Android Version 4.0.X) ******************
[ CFS ] (Ultimate Edition)
The File ==> Sensation Kernel (1.73 GHz, GPU OC @ 320MHz, ZRAM) <==

****************** GINGERBREAD KERNEL (Android Version 2.3.X) ******************
[ CFS ] (Mainline Edition)
The File ==> Sensation Kernel 029 (1.73 GHz, GPU @ 266MHz, ZRAM) <==

[ CFS ] (Ultimate Edition - should work with most phones but NOT GUARANTEED!)
The File ==> Sensation kernel 029 (1.73 GHz, ZRAM, GPU OC @ 320 MHz, CleanCache/FrontSwap) <==


[ Advanced Users: ]

[ Optional: ]

First Time / Reset kernels: If you experienced Boot Loops or Funny Issues coming from another kernel or ROM, Load the corresponding reset kernels to resolve most of the issues.

==> Sense 3.0 <==
==> Sense 3.5 <==

NOTE: if you come from a ROM (ARHD 3.x.x or ARHD 4.x.X) with my kernel pre-installed, you DO NOT NEED to flash the reset kernels from above!

[ For Kernel Devlopers ONLY: ]

The File ==> My Global VDD_TABLE for under volt patch <==
The File ==> KGSL Ring Buffer Power Management Patch for Cordy and Ninja Jump <==



Optional Under voltage: Version 0.1.4+ ONLY

[ to over volt ALL frequencies by 25000 uv (microvolts) ]
echo "+25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to under volt ALL frequencies by 25000 uv (microvolts) ]
echo "-25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels

[ to set a specific frequency (ie 1.18 GHz)
  with a specific voltage (ie 1.0875 volts) ]
echo "1188000 1087500" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
CPU Frequency Voltage Table Example
  192000:   812500
  310500:   812500
  384000:   812500
  432000:   812500
  486000:   837500
  540000:   850000
  594000:   862500
  648000:   875000
  702000:   900000
  756000:   925000
  810000:   937500
  864000:   962500
  918000:   962500
  972000:   962500
1026000:   975000
1080000:   987500
1134000:  1000000
1188000:  1012500
1242000:  1025000
1296000:  1050000
1350000:  1075000
1404000:  1100000
1458000:  1112500
1512000:  1125000
1566000:  1150000

Optional: Stock Clock Frequencies for Dual CPUs
su
echo 192000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1188000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

echo 1 > /sys/devices/system/cpu/cpu1/cpufreq/online
echo 192000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 1188000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq

Optional: ZRAM (Compressed RAM swap space <img src="http://rootzwiki.com...lt/biggrin.png" class="bbc_emoticon" alt=":D"> )
su
mkswap /dev/block/zram0
swapon /dev/block/zram0

Low Voltage - Under Volt the processor, therefore uses Less Battery, but NOT ALL CHIPS can handle Under Volt.. If you experience instability, try the Stock Voltage Version.

Stock Voltage - Uses the voltage values from ORIGINAL HTC Kernel Source.

There are NO PERFORMANCE DIFFERENCE between the Under Volted and Stock Voltage versions!


1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"

Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...


NEWS BULLETIN:

Official ICS Sense Kernel Version 008 is out!
Now with Sweep2Wake from Showp1984
More Intelligent intellidemand!
Free yourselves form mpdecision and thermald. 100% kernel based cpu core management and thermal management!
Now including brand new Intellidemand governor!


Please don't hesitate to talk among yourselves and help each other out... The RootzWiki community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...

BUGS:

Not All CHIPS ARE CREATED EQUAL


TO DO:

version 1.x.x -- Haven't thought about it yet...

History:

See 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 kernel!!!

My github Complying with GPL and RootzWiki rulez

Follow me on Posted Image:

If you find this Kernel useful, feel free to hit the [Thanks] button below


Posted Image Posted Image


Edited by faux123, 05 November 2012 - 09:47 AM.

  • 25 Likes

OP faux123

faux123

Kernel Haxor

Posted 13 August 2011 - 01:19 AM #2

Ice Cream Sandwich Kernel (4.0.X) Version History

Version 001 (deprecated)

Based on Initial HTC ICS source
Patched to mainline 3.0.25 with all conflicts resolved
Added Optimized String/Memcopy libs
Added ARM Optimized SHA, RWSEM libs
Added Global UV interface
Added CPU Overclock (up to 1.73GHz, boots default @ 1.51 GHz)
Lowered Camera Flash Threshold from 30% to 5%
Lowered WiFi voltage driver from 2.9 volts to 2.3 volts
Added Just-in-Time (JIT) compiler for packet filtering (Network optimization)
Added CPU 2nd core control to existing PowerManagement
Patched GPU KGSL drivers to latest CAF open source
Patched Several power drain related issues from CAF
Enabled and Added several drivers in an attempt to enable USB On-The-Go (OTG) / Host capability
Added GPU Overclock to 3D (up to 320 MHz Turbo mode)

Version 002 (deprecated)

Added kernel based thermal management driver
Multi-touch fix up from HTC vivid source code
Added kernel CPU screen on/off profiler and 2nd core management
Updated to Linux 3.0.26
Patched Zcache to latest korg version
Enabled CleanCache (Ultimate Edition ONLY)

Version 003 (Short Term release)

The File ==> Sensation Kernel 003 (1.73 GHz, GPU @ 266MHz) <==
The File ==> Sensation Kernel 003 (1.73 GHz, GPU OC @ 320MHz, CleanCache) <==

re-introducing Intellidemand CPU governor. Default to 1.51 GHz, in browsing state, it will reduced to 1.08 GHz. In 3D gaming it will run at 1.51 GHz uninhibited. (You should have all CPU profiles disabled by now... :P )
Patched to kernel.org Linux 3.0.27
included more patches from HTC vivid ICS source
add very cool GRADUAL DIMMING for screen on ;)
included more patches from HTC vivid ICS source
Disabled CleanCache (I found it was causing battery drain and sapping performance due to frequent cache misses.)
Added couple of kernel speed tweaks
Added code fixes from HTC Vivid source
Enabled ZRAM with Google Snappy compression due to popular demand ;)
Fixed stupid power key drop / delay issues :P
Compiler optimizations and minor tweaks

Version 004 (Short Term Release)

The File ==> Sensation Kernel 004 (1.73 GHz, GPU OC @ 320MHz, CleanCache) <==

Fixed 2D GPU stuck clock issue reported by users
Oh, Added Sense 4 FrameBuffer compatibility (Thanks to Team Virtuous!)
Major logic tweak to browsing detection for intellidemand to be even smarter and more responsive to gaming demands.
Patched old HTC bluetooth stack to latest CAF baseline
Enabled BT SCO options
Enabled BT RFCOMM options
Intellidemand Governor tweak:
Introducing Smart Core Management :D
Automatic offlining of 2nd CPU core while Screen is ON.
Scenarios:
1- While Screen is ON > 3 min, and average load of the CPU is < 35%, then CPU1 will be taken offline.
2- While Screen is On, if average CPU load > 35%, CPU1 will be Online and both CPUs max frequencies will be limited to 1.13 GHz Max
3- While Screen is On, After both CPUs' Max is limited to 1.13 GHz, when the average CPU load has dropped down to less than < 25%, then both CPUs Max freq will be restored to 1.51 GHz Max (then go back to scenario 1).
-- for 3D Games or GPU intensive apps, both CPUs's max frequencies will be restored to 1.51 GHz and both CPUs will be online.


Version 005 (Short Term Release)

The File ==> Sensation Kernel 005 (1.73 GHz, GPU OC @ 320MHz, CleanCache) <==

Add battery/charger/vibrator code fix up from Sensation WWE source release
Add htc_sdservice driver from Sensation WWE source release
Add ARM TrustZone debugging
Add mutex protection for Intellidemand (this should eliminate random reboots :P )
Minor overclocking code clean up :P
patched latest CAF HDMI bug fixes
patched latest CAF BT bug fixes
patched latest CAF KGSL bug fixes
Add more debugging for USB OTG :P
Create more intellidemand tunable parameters via sysfs interface
Fixed minor thermal monitor issues
Applied latest Google's interactive governor patches
Patched OnDemand and Intellidemand's rate sampling transition issue
further tuned intellidemand to be more intelligent ;)
patched to 3.0.28 from kernel.org

Version 006 (Short Term Release)

The File ==> Sensation Kernel 006 (1.73 GHz, GPU OC @ 320MHz, CleanCache) <==

Added polling ignore kernel interface for Proximity Sensor Calibration App
Added Sense 4 Vibration compatibility hack (courtesy of showp1984)
Added Kernel Timer optimization
Added SMP patch from Google
back ported Android LowMemoryKiller from Mainline Linux 3.4+
back ported Android Binder from Mainline Linux 3.4+
back ported scheduler load balancing optimization from Mainline Linux 3.4+
Patched to mainline Linux 3.0.30
Added latest Google Interactive Governor patches
Added missing cmdline option for Sweep2wake.
Added more KGSL updates from CAF
Added more Bluetooth updates from CAF
Patched potential kernel crash during high memory pressure
Patched latest Google Clean Room Interactive Governor to latest google code
Updated Netfilter from Google master
Added user configurable WiFi sleep policy (PM_MAX or PM_FAST)
echo "Y" > /sys/module/bcm4329/parameters/wifi_fast (for PM_FAST)
echo "N" > /sys/module/bcm4329/parameters/wifi_fast (for PM_MAX)
(Good for background Wifi performance or Skype users)
patched to mainline 3.0.29
Added optimizations for libs (number conversions)
KANGED sweep2unlock from show-p1984 (so I don't get asked for that feature anymore and be work on something else ;) )

Version 007 (Current)

Updated to mainline 3.0.33
use generic strnlen_user and strncpy_from_user backported from Linux 3.4+
Added 2 NoHz/Load Balance patches from Linux 3.4+
Updated to the latest CAF BT code base
Reverted 2 load balance patches from 006 (According to original Mainline Author, those 2 patches didn't help)
Fixed USB Gadget Composite corruption issue.
patched to mainline 3.0.32
updated interactive governor to latest Google Mainline
updated USB gadget accessory (added USB Gadget Audio Source support)
Added couple of network fixups from Mainline

Posted Image Posted Image


Edited by faux123, 07 June 2012 - 10:56 AM.

  • 17 Likes

OP faux123

faux123

Kernel Haxor

Posted 13 August 2011 - 01:19 AM #3

Gingerbread Kernel (2.3.X) Version History

Version 001 (deprecated)

- Based on 100% HTC source code!
- EXT 4 Support, CIFS + UTF-8 (NLS Support)
- Kineto_gan Support (WiFi Calling)
- CFQ I/O Scheduler default
- CPU Min/Max Frequency Enabled
- SmartAss 384MHz~1188MHz Default, Screen Off 594MHz
- SmartAss, MinMax, and Interactive Governors Added
- SmartAss Governor Set as Default for CFS
- TUN VPN support added
- SLQB memory allocator added and made default
- BFQ I/O scheduler added and made default

Version 002 (deprecated)

- Fixed SmartAss Governor
- Added NEON and other Snapdragon Compiler optimizations

Version 003 (deprecated)

Patched kernel to version 2.6.35.14

Version 005 (deprecated)

Added OC capability up to 1.512 GHz
Tweaked Voltage Table for more stability
Added REAL SmartAss Governor
(I was contacted by Erasmux's friend who informed me about the kang hax smartass I had!
I don't know where I got it from )
Patched BFS (step 1, not working yet)
Allowed unaligned memory access

Version 006 (deprecated)

Reverted CPU Clock Table back to CAF version
OC up to 1.512 GHz CAF Fast Version
Added CAF Patches to msm/cpufreq

Version 007 (Long Term Stable Release, Official GB2.3.3 )

The File ==> Sensation Kernel 0.0.7 <==

OC CPU up to 1.782 GHz, L2 Cache up to 1.512 GHz
Added CAF Patch to force max frequency for all cores via sysfs mfreq
Added Bluetooth BNEP support

Version 008 (deprecated, GB2.3.4)

Applied CAF USB Composite Patch
Removed USB Switch Mute conditions

Version 009 (deprecated, Hacked GB2.3.4)

Introducing Synchronous L2 Cache (1.56 GHz version ONLY)
Introducing L2 Cache Bandwidth Boost (from max 310MHz to 360MHz)
Introducing SmartAssV2 Official Version directly from Erasmux's Commits (Major props to Erasmux)

Version 010 (Short Term Release, Hacked GB2.3.4)

The File ==> Sensation kernel 0.1.0 (1.78 GHz) <==
The File ==> Sensation Kernel 0.1.0 (1.56 GHz Sync L2) <==

CAF Patch msm: acpuclock: Subscribe to _FROZEN CPU notifiers
CAF Patch msm: pm-8x60: Remove redundant code for restoring ACPU Clock Rate
CAF Patch msm: acpuclock-8x60: Use hotplug notifications for CPU, L2, BUS, voltage
SmartAssV2 is removed (temporary until I fix it)
Added back Scaling_Available_Frequecies sysfs entries (For Mike1986 and other ROM devs)
Introducing GPU 2D/3D Overclocking
2D Engine from 228.5 MHz to 266.6 MHz (this one is CPU limited, so will only see benefit with faster CPU clock such as my 1.78 GHz kernel variant)
3D Engine from 266.6 MHz to 320 MHz (both versions will benefit from this boost)

Version 012 (deprecated, Official GB2.3.4)

Re-Based on HTC MR release! (new baseline)
Introducing Joe's RCU Posted Image (Performance boost, designed for aSMP architecture, garbage collection limited to master CPU, slave CPU only need to do what it needs to do)
Fast NoHz RCU (An RCU designed for Tickless kernel, which is our kernel)
Re-patched HTC MR release 2.6.35.13 to kernel.org 2.6.35.14
GPU 2D/3D is now same as stock (Due to screen tearing issues experienced by some users)
CAF msm: clock-8x60: Refresh PDM and TSSC halt bits at boot (Bug Fix)
CAF msm: 8660: Add barriers to SMP boot code (Stability patch)
CAF msm: clock-local: Add memory barriers for later move to _relaxed accessors (Stability patch)
CAF ARM: SMP: Make resched-ipi-while-offline warning less verbose (Slight performance tweak)
CAF msm: clock-8x60: Vote for mmfpb_a_clk at 64MHz (Bug fix)
CAF mmc: core: put eMMC in sleep (cmd5) mode before suspend (Power Saving)
CAF msm: clock-8x60: Don't disable clocks in reg_init (Bug fix)

Version 013 (deprecated, Official GB2.3.4)

Introducing GPU Turbo Boost (Max GPU clock from 266MHz to 320MHz, increased bandwidth from 2.48GHz to 2.87GHz)
KGSL Patch: Fixed Sleep Issue (Bug fix to actually allow GPU to go to sleep when it is idling)
KGSL Patch: Allow Large memory buffer request from User land (Let apps allocate large GPU memory buffer)
KGSL Patch: Save more GPU registers (Avoid register corruption due to context switches)
KGSL Patch: Check for Null Pointer (Safety precaution to avoid null pointer exception in kernel)
KGSL Patch: Do not trash general work queue (bug fix, work queue was corrupted)
KGSL Patch: Make GPU governors visible via sysfs interface

Version 014 (deprecated, Official GB2.3.4)

Introducing Global CPU Voltage Table (Under volt capability via sysfs interface, inspired by snq adapted for Snapdragon Dual-Core by me)
Re-coded GPU Turbo Boost. Fixed GPU Scaling governor (scaling was disabled)
Joe's RCU option is deprecated (based on download stats)

Version 015 (deprecated, Official GB2.3.4)

Added 1.674 GHz option (L2 Freq up to 1.566 GHz)
Applied many FrameBuffer patches from CAF
Applied couple more KGSL patches from CAF

Version 016 (deprecated, Official GB2.3.4)

Revenge of CFS, CFS Enhancement Posted Image (Interactive latency greatly reduced, make it BFS like)

Version 017 (deprecated, Official GB2.3.4)

Fixed the derp that was 016
Applied many FrameBuffer patches from CAF yet again

Version 018 (deprecated, Official GB2.3.4)

Added New Early suspend drivers for 2D and 3D GPU engines
Re-Enabled KGSL Ringbuffer Power Management Overrides
Updated to JHash3
Updated Cpufreq to copy policy from siblings
Fixed memory leak in cpufreq stats
Removed CPU from NoHz Idle fair cgroup
Shorten 1080P start up latency
Fixed USB Gadget Serial Crash
Applied more MSM FrameBuffer updates from CAF

Version 019 (deprecated, Official GB2.3.4)

Fixed random SPI Operational State Invalid error
Added histogram capability for MSM video
Added lock/unlock for KGSL Early Suspend Drivers
Updated KGSL power level change
Revert Reg Init Patch from earlier (cause of instability)
Optimized memcpy and memmove for string library calls (real working version Posted Image )
fixed audio unmapped memory crash
fixed inaccurate D-Cache size Macro

Version 020 (deprecated, Official GB2.3.4)

CFS Autogroup Version 2.0 (Super Charged CFS)
Fixed Kernel/Timekeeping issue
Fixed Full / Stretched Screen issue for Video Player
Patched FB and KGSL
Fixed Random Reboot issue (took me a week to verify this fix )
Revenge of JRCU Posted Image (JRCU tweaked for better performance and battery savings)
Removed ALWAYS ON ADM Clock to save battery
Moved Data Mover to early suspend for cleaner exit

Version 021 (Deprecated, Official GB2.3.4)

Added XZ Compression support to 2.6.35 kernel
Added XZ Compression support for kernel image
Added XZ Compression RAMDisk support (boot time)
Added SquashFS support based on new XZ Compression (very high compression ratio File System)
Updated Camera Driver FPS to 120 (mdeejay Posted Image )
Used the git implementation of SHA-1 to reduce boot time by 11%
Updated qdsp6v2 to block write until buffer is full
Updated trivial bug fix for SMP macro
Introducing ZRAM (compressed RAM == MOAR RAM Posted Image )
I have successfully back ported ZRAM from 2.6.38 kernel to our older 2.6.35.xx kernel This should alleviate the memory pressure introduced by Sense UI.
ZRAM bug fixes and latest patches (up to latest greatest beyond Linux Kernel 3.1-rc8)

Version 022 (deprecated, Official GB2.3.4)

Increased ZRAM allocation for even MORE data in RAM
Added newly optimized CRC32 Improves EVERYTHING that uses it including TCP/IP, File Systems etc...
Added newly optimized CRC32c improves EXT4 metadata performance and anything else which uses CRC32c
Patched msm_serial_hs_lite (better battery life)
Patched qdsp6v2 to fix unexpected power consumption (better battery life)
Patched mdp4_overlay to flush RGB pipe when solid fill mode is used (better battery life)
Patched clock-8x60 to add a lower gsbi_uart_clk entry to save power (better battery life)
Lowered Camera Flash limit from 30% to 10%
Tweaked conservative governor for better interactive performance
Enabled Deep Power Management Options (better battery life)
Lowered CPU Minimum Voltage (better battery life)
Gate smi_2x_axi_clk off when smi_clk is disabled (better battery life)
Fixed performance level computation for VCD (better performance)
Added local control of vpe_axi_clk and rot_axi_clk (better battery life)
Removed unnecessary checks from DMA engine (more efficient DMA Engine == performance)
CleanCache(using Zcache)+FrontSwap optimizations (this concludes the ZRAM/Swap optimization)

Version 023 (deprecated, Official GB2.3.4)

CleanCache (zcache disabled due to incompatibility with mpdecision, blame HTC )
ARM Patch: Use CTR for the I-cache line size on ARMv7 (better performance)
lowmemkiller: make it swap friendly (better performance)
Enabled inline locks for ARM (performance)
ZSL Driver backport (part 2, CODE ONLY, not enabled)
CPU workqueue optimization (limit some workqueues to single thread)
Conservative Governor minor tweak
patched qdsp6v2 to Set tx and rx flags based on current device
patched display to avoid staging up two pipes at same mixer_stage
patched display to avoid staging up two pipes at same mixer_stage
Added GPU slumber (whenever screen is off, GPU is set to sleep)
Added idle wait support for SMP
Fixed AXI clock bug in GPU
Fixed L2 Cache Synchro bug (better performance)
Updated spin lock code (better performance)
Reduced WiFi voltage to min recommended by datasheet (better battery)
Reduced other sub-system voltages by 5~10% (better battery)
Eliminated unnecessary macro from decompressors (code clean up)
Wind down GPU turbo mode if idling (better battery)
compiled with latest code sourcery (better performance)
Fixed Power Management memory leak
Added 2 way call record capability (thanks to mdeejay!)
Patched wakelock to latest AOSP
Patched audio DSPs
Patched Ondemand Governor for better power savings.

Version 024 (deprecated, Official GB2.3.4)

NoHz RCU set as default
Disable BCM4329 wake irq when stopped (battery saving fix)
Re-order PPP packets in PPPoLAC and PPPoPNS (VPN bug fix)
PLL clock training with higher frequencies for better stability (stability enhancements)
mfd - Fix memory leak in debug probe
Introducing GPU 2D scaling governor (Enabled, completely original coding from me)
-- now it will scale from 145.455MHz~200 MHz depending on usage (this should save additional battery while screen is on).
Introducing IntelliDemand CPU governor
-- Built-in Screen Off profile (like SmartAss)
-- Built-in Browsing detection (enabled, completely original coding from me)
(this will limit cpu clock to max 1.0 GHz while browsing web, book, email etc)
Adjusted 3D and 2D GPU scaling and initial states for better compatibility with Rosie

Version 025 (deprecated, Official GB2.3.4)

msm72k_udc: Replace dma_coherent_pre/post_ops with mb/rmb
nfs: writeback pages wait queue
block: limit default readahead size for small devices
make default readahead size a kernel parameter
smd_pkt: Extend read operation to receive data larger than SMD FIFO
pet watchdog from console driver
Correct the number of slave ports in the system
watchdog: increase pet time to ten seconds
led: enable dynamic LED brightness
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
Revert "qup_i2c: Calculate combined write length for multiple write transactions" (broke Sensors )
restart: call secure code to disable arbiter
restart: Handle reset interrupt from pmic
pmic8058-xoadc: request's done late into suspend
pmic8058-xoadc: Add mpp_config call on configure
Remove pm_runtime_suspended() from __pm_generic_call
HDMI: Support for 480p 16:9 in HDMI Driver
qdsp6v2: Reduce the pcm write timeout value
enable ldo's in PHY resume path (usb)
Add suspend/resume for TSENS (thermal sensor)
While powering down flush all the rpcrouter workqueues (rpc)
Reader thread to allocate memory without holding a spinlock (rpc)
Reorganize the usage of spinlocks in RPC Router reader thread
Update RPC client's cb_list_lock to use spinlocks
Retry callback registration on timeout (rpc)
Add smd_tiocmset api without spinlocks
Close smd ports upon failure to open.
print lock name for lockdep_init_error
execute lockdep_init as early as possible
board:clocks: add comments to make trouble shooting easier
smd_tty: restrict DS port platform driver
smd: add closing state to subsystem restart
smd_pkt: add subsystem restart loopback server reinit
smd_tty: add subsystem restart loopback server reinit
smd: add check for LOOPBACK_TTY platform device
Add 10 microsec delay before fetching setup_data (usb)
Simplify ACA state machine to support standard ACA (usb)
Recovery point SEI support for ISDB-Tmm (vidc)
Copy the End of Sequence flag (vidc)
Fix H.263 30fps standard resolution encoding.
Override SP profile to ASP for MPEG4 decoding.
Remove check for allocation of sequence buffer size. (vidc)
Update firmware memory size. (vidc)
Fix GOB Header for H.263 encoding.
Increase the decoder input buffer size.
Return the correct error code for IOCTL. (vidc)
Set correct divx codec type.
Handle b-frame not supported error.
Increase the kernel SMI memory size. (vidc)
Report bitstream errors to driver client.
add change to print MFC firmware version
Removed check for comparing DPB Size
add Check for infinite intraperiod configuration.
Fix to handle non-fatal sequence header errors. (vidc)
Fix not coded vop handling in decode order.
add mdp revision number
increase mdp max burst size
Calculate combined write length for multiple write transactions (i2c)
Fix input handler crash (ondemand, intellidemenad)
Add htc off-alarm support from XE source
updated sii9234 tpi driver from XE source code
USB misc code updates from XE source
enable android USB gadget projector support
Added thermal trip critical retry from XE source
updated DMA engine from XE source
fixed minor HTC battery driver coding derp
Added HTC Beats headset support from XE source
kernel:sched: avoids loadavg Moire
don't call task_group() many times in set_task_rq()
block level disk cache target for device mapper
Do not destroy old sched domain on cpu_up
Do not block when waiting to free old root domain
Check for extended quiescent state at start of gp (rcu)
Don't allow cpu to get console lock during hotplugging (printk)
Add the function 'cpu_hotplug_inprogress'
Remove extraneous boot_secondary delay

Version 026 (deprecated, Official GB2.3.4)

PM / Sleep: fixed coding derp from "Drop pm_op() and pm_noirq_op()"
mfd: timpani-codec: Handle register write for numbers more than cached one
mfd: timpani-codec: Write register defaults when disabling devices
msm_fb: Remove Audio Packet Control Register setup
mfd: timpani: Retry upon I2C failure.
msm_fb: Check for ACP and ACFG register before reset core.
msm_serial: add PM_RUNTIME code from CAF
mm: retry page fault when blocking on disk transfer
msm: kgsl: Do not allow SLUMBER from INIT
PM / Sleep: Drop pm_op() and pm_noirq_op()
PM / Sleep: Unify diagnostic messages from device suspend/resume
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.
msm: kgsl: New low power level
msm: vidc: print message as kernel info instead of error
camera:gemini: update gemini engine from hTc Ruby
battery: battery driver and charging driver update
mm: Android Ashmem update from hTc Ruby
misc: android pmem update from hTc Ruby source code
mfd: marimba core update from hTc Ruby
board: ARM kernel update from Ruby source code
cpufreq: add two-phase to ondemand and intellidemand

Version 027 (deprecated, Official GB2.3.4)

input/misc/gpio: update input GPIO driver from PyramidLE source
vidc: 1080p: Override profile to ASP for XVid/Divx456
Re-enabled ZRAM

Version 028 (deprecated, Official GB2.3.4)

Updated Zcache and ZRAM to latest Linux-next patches
Added Google's Snappy Compression for ZRAM

Version 029 (Current, Official GB2.3.4)

Init: Multithread initcalls to auto-resolve ordering issues.*
memcg: let css_get_next() rely upon rcu_read_lock()*
idr: make idr_get_next() good for rcu_read_lock()*
mm: implement WasActive page flag (for improving cleancache)*
zcache: fix deadlock condition*
Revert "msm: kgsl: Clocks should be set to the active level during NAP"*
Revert "partition_sched_domains: Do not destroy old sched domain on c…*
mmc: core: Prevent too long response times for suspend*

Posted Image Posted Image


Edited by faux123, 24 March 2012 - 05:14 PM.

  • 0 Likes

JassyCliq

JassyCliq

Android Apprentice

  • 33 posts

Posted 13 August 2011 - 07:36 AM #4

While messing around with this kernel I ran into an issue. The governor smartass causes the phone to reboot. I'll try to get the exact issue later when I'm by my computer. Other than that its a snappy kernel for being mostly stock and on .10 lol
  • 0 Likes

OP faux123

faux123

Kernel Haxor

Posted 13 August 2011 - 11:52 AM #5

While messing around with this kernel I ran into an issue. The governor smartass causes the phone to reboot. I'll try to get the exact issue later when I'm by my computer. Other than that its a snappy kernel for being mostly stock and on .10 lol


Yeah, I am aware of this issue and I should have it fixed in the next release!
  • 0 Likes

jomaxwel

jomaxwel

Android Apprentice

  • 11 posts

Posted 17 August 2011 - 01:33 PM #6

Any chance of seeing this updated for the bulletproof Rom? And this double forum stuff is killing me. Though I do like how not crowded this one is.
  • 0 Likes

OP faux123

faux123

Kernel Haxor

Posted 17 August 2011 - 03:54 PM #7

Any chance of seeing this updated for the bulletproof Rom? And this double forum stuff is killing me. Though I do like how not crowded this one is.


haha, roman and I will have something new to announce. ;)
  • 0 Likes

jomaxwel

jomaxwel

Android Apprentice

  • 11 posts

Posted 17 August 2011 - 04:51 PM #8

haha, roman and I will have something new to announce. ;)


That's great news looking forward to it.
  • 0 Likes

Six6Sicks

Six6Sicks

Android Beginner

Posted 23 August 2011 - 09:47 AM #9

Your link for Sensation Kernel 0.0.6 CFS Stock Voltage directs to Pyramid-Kernel-0.0.5-CFS.zip
Then when flashing....

Flashing boot.img ...
assert failed: write_raw_image ("tmp/newboot.img", "boot")
E:Error in /sdcard/Pyramid-Kernel-0.0.5-CFS.zip
(Status 7)
Installation aborted.
  • 0 Likes

OP faux123

faux123

Kernel Haxor

Posted 23 August 2011 - 02:50 PM #10

Your link for Sensation Kernel 0.0.6 CFS Stock Voltage directs to Pyramid-Kernel-0.0.5-CFS.zip
Then when flashing....

Flashing boot.img ...
assert failed: write_raw_image ("tmp/newboot.img", "boot")
E:Error in /sdcard/Pyramid-Kernel-0.0.5-CFS.zip
(Status 7)
Installation aborted.


yeah it's a typo. your issue is due to bad zip file. download again.

Sent from my LG-P999 using Tapatalk
  • 0 Likes