[KERNEL] [2.6.32.24] [HAVS] [BATTFIX] [BFS] [OC] [UV] KiNgxKernel #5/#5 "Falling Up"

Status
Not open for further replies.
Search This thread

kingklick

Senior Member
Jun 23, 2009
2,432
6
[KERNEL] [2.6.32.24] [HAVS] [BATTFIX] [BFS] [OC] [UV] KiNgxKernel #5/#5 "Falling Up"

I DO NOT have an HTC Incredible but will continue to cook kernels for it. My girlfriend has Verizon however, and I am saving for two devices, one of them being an HTC Evo. Any donations go toward my devices. Bear with me until then :)

DO NOT FORGET TO READ THE ENTIRE POST ON MY SITE, THERE IS IMPORTANT INFO

So, just as the name implies, this is an HTC Incredible kernel with SVS (Static Voltage Scaling) & HAVS (Hybrid Adaptive Voltage Scaling.) A huge thanks to estes for the havs code and raven for being the first to implement it into the nexus kernel. What this does is provide SUPERIOR BATTERY life with stability to boot. Just flash the .zip in your favorite recovery image. Enjoy and post any bugs with a logcat please.

This is compatible with any 2.2 Sense ROM

Code:
Also, a little info on HAVS and AVS:

The purpose of HAVS is to minimize the power used by the CPU by determining
and setting the optimal voltage. At the same time, the maximum voltage by
which HAVS can scale to is fixed to a specified voltage depending on the
CPU frequency in order to prevent scaling to a higher voltage than what is
normally used at a specified voltage. The optimal voltage is actively determined
for each frequency and temperature. HAVS actively adjusts the CPU voltage as the
CPU frequency and temperature changes.

Code:
While we are at it, some info on BFS:

What is BFS(Brain **** Scheduler):http://ck.kolivas.org/patches/bfs/sched-BFS.txt
FAQS about BFS:http://ck.kolivas.org/patches/bfs/bfs-faq.txt


ENJOY!

Credits: Cyanogen, Koush for his any kernel .zip, Estes for all the code of AVS itself, Raven for being the first to implement into the Nexus kernel, and most importantly HTC for their kernel source code

Download:



If you Like my work follow me on Twitter:

All my code is on github:


I am not responsible for anything that happens to your device

ChEeRs
 
Last edited by a moderator:

kingklick

Senior Member
Jun 23, 2009
2,432
6
CFS Changelog

Kernel #5

- Kernel now patched up to 2.6.32.24
- Bug fix causing battery drain
- Reverted some UV levels causing instability
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
* sched: Fix granularity of task_u/stime()
* sched, cputime: Introduce thread_group_times()
* sched: Fix select_idle_sibling()
* sched: cpuacct: Use bigger percpu counter batch values for stats counters
* sched: fix racy fair sched*trq
* sched: Cleanup select_task_rq_fair()
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
* ext4: Consolidate inlign pages
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
* mutex: Don't spin when the owner CPU is offline or other weird cases
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- vmscan: raise the bar to PAGEOUT_IO_SYNC stalls
- SLAB fixes
- drm: Only decouple the old_fb from the crtc is we call mode_set*
- arm fixes: arm: fix really nasty sigreturn bug
- RDS memory leak fixed
- mm: page allocator: update free page counters after pages are placed on the free list
- mm: page allocator: calculate a better estimate of NR_FREE_PAGES when memory is low and kswapd is awake
- So much more, check my code if you please

Kernel #4

- Patched up to Linux Kernel version 2.6.32.21 (all commits an android kernel would need, no extra bloat) *All credit goes to the linux project, check my github for authors please*
- Bug fix causing battery drain
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
* sched: Fix granularity of task_u/stime()
* sched, cputime: Introduce thread_group_times()
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
* ext4: Consolidate inlign pages
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
* mutex: Don't spin when the owner CPU is offline or other weird cases
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- vmscan: raise the bar to PAGEOUT_IO_SYNC stalls
- SLAB fixes
- SO much more, tired of typing

Kernel #3

- Updated for stability
- Introduced the new 'BFQ' I/O scheduler!
- Still supporting the 'CFQ' I/O scheduler
- Using the 'BFQ' I/O scheduler by default
- Benchmark increases
- Undervolted the frequencies that can be
- Pumpin 25 more volts to get the highest speeds stabler
- Updated configurations
- Much much more I won't even bother explaining

Kernel #2

- BIG update
- Battery life significantly imrpoved
- Fixed HAVS scaling bug
- Undervolted even more
- Overclockable now up to 1.19Ghz!
- Changed I/O scheduler to CFQ
- Anticipatory scheduler still supported
- Added CPU Governor 'Conservative'
- Switched default CPU Governor to 'Conservative'
- Added support for 'powersaver' CPU Governor
- EXT4 compiled into the kernel now, no longer a module

Kernel #1

- Kernel base 2.6.32.15
- Flashable update.zip (flash it like a ROM in your recovery)
- HTC Sourced *thank you guys*
- Using Hybrid Adaptive Voltage Scaling (HAVS)
- Long battery life
- Overclockable! Up to 1.113Ghz stable
- Undervolted
- CPU Governor Ondemand supported
- CPU Governor Userspace supported
- CPU Governor Performance supported
- Using CPU Governor Ondemand by default
- Using anticipatory I/O scheduler
- Included tun.ko module
- EXT4 compiled as a module
- Included all the modules you would ever need
- More I will add, it is late and I am tired

BFS Changelog

Kernel #5

- BIG update!
- Voltage regulator changes (now using the correct one)
- HAVS code fixed (HAVS now functioning correctly!)
- HAVS code cleaned up
- LONGER battery life due to HAVS functioning correctly
- EXT4 now compiled as a module for those with bad boot.img sectors
- Minor patches to the BFS scheduler (the big one is wip)
- Fixed memory leak in vmem
- Voltage tweaks
- Kernel size squashed a bit
- More I will add

Kernel #4

- Now based off of NEW fresh source code from HTC
- Default CPU governor changed to 'Interactive'
- Numerous small changes I won't list that htc did
- Removed bloat from kernel
- Merged all my commits into the new code so
- Still using BFQ I/O scheduler
- Much much more check my code if you have any questions. I am heading out for the night :)

Kernel #3

- BFS Scheduler patched up to BFS330
- Applied and tweaked BFS330 test patch on top
- Voltage tweaks for battery life (245Mhz is $$$)
- Higher clock speeds will be MUCH more stable now! (1.113=ez)
- Battery charging tweaks to allow your battery to charge faster
- Be sure to wipe dalvik cache before flashing
- Compiled with neon arm optimizations
- Quadrant scores boosted
- Now using powersave governor, feel free to change it via SetCPU
- More I will add

Kernel #2

- BFS Scheduler patched up to BFS 318
- My hacks to enable 'fast battery charging' *LET ME KNOW HOW IT WORKS OUT*
- Your batteries should charge faster now
- Kernel size shrunk
- Tweaks for stability
- Performance increase
- More I will add

Kernel #1

- Implemented the BFS CPU scheduler *BFS313* (read OP for details)
- Now there are 2 kernel releases - A BFS and a CFS version
- Performance increase
- Undervolted even more for longer battery life
- New CPU Governor! 'Interactive Governor'
- Still using conservative CPU Governor by default
- Included tun.ko for OpenVPN support
- Rpcrouter handles larger message writes *performance increase*
- Rpcrouter handles multiple replies now
- EXT4 compiled as a module once again
- Other things I will add
 
Last edited:

jtcarnes

Senior Member
Aug 8, 2010
137
5
Your post says any 2.2 Sense ROM. I'm running CM6 so thus no Sense. I figure it should work fine, but I just wanted to make sure.
 

opengeo

Senior Member
Jun 25, 2010
81
0
DL link isn't working, even on the other site, but it looks like you know that cause it was just pulled. :) Looking forward to trying this out for the INC.

Nevermind, looks like it was just added.
 

opengeo

Senior Member
Jun 25, 2010
81
0
yup, its officially live now

Had some issues with 4shared :)

Have it flashed on SkyRaider 2.2.5. SO far so good. No boot loops which I got constantly with all of the Hydra OC kernals. One question, how can I OC this to 1.13? Using SetCPU, it says I have a 528 max. Am I missing something?
 

jermaine151

Senior Member
Jun 19, 2010
4,237
3,690
Columbus, Ohio
I have it on the 8/1 leak. So far so good. Over clocked with set cpu to 1.13 and using"on demand"profile. Quadrant: 1376. Was 1406 with hydra's (@1.15) so not much difference there. I have fully charged 2150 battery so I'll report battery stats after weekend use. If it improves greatly, donation coming.

Thanks for the hard work!

Typed on my Incredible phone!
 

jitajt

Senior Member
Oct 10, 2008
246
14
this is just what I have been waiting for! I am using de-sensed Jager ROM and it works great. I am currently using setCPU to overclock it to 1.113.
 

opengeo

Senior Member
Jun 25, 2010
81
0
I have it on the 8/1 leak. So far so good. Over clocked with set cpu to 1.13 and using"on demand"profile. Quadrant: 1376. Was 1406 with hydra's (@1.15) so not much difference there. I have fully charged 2150 battery so I'll report battery stats after weekend use. If it improves greatly, donation coming.

Thanks for the hard work!

Typed on my Incredible phone!

Edit, nevermind. Reinstalled SetCPU and I'm overclocked now.
 
Last edited:

oldman_58

Senior Member
Jul 13, 2010
1,190
276
Sunny Florida
Nice work

Just installed
Quadrant (pre SetCPU) 1297
Quadrant (Post SetCPU) 1397

LinPack (Pre SetCPU) 34.6
Linpack (Post SetCPU) 37.2

Let's see how it holds out for the next couple of days, I might have to change my signature block and send some development (beer) money to the creator...

Thanks.
 

slorange

Senior Member
Jun 17, 2010
76
3
Granby, MA
Working on SkyRaider 2.5.2 Vanilla. Will post battery stats later

sent from my kickass Droid Incredible SkyRaider Froyo ALPHA BEAST of a phone.
 

16qam

Member
Aug 13, 2010
17
0
About to install on skyraider 2.5.2. I am very excite!

Sent from my ADR6300 using XDA App
 

bhazard451

Senior Member
Jun 17, 2010
342
28
Just flashed your kernel onto my friends Evo. Looking forward to giving this a shot.

Any chance BFS will make it into this kernel like in the Evo?
 

mozetti

Member
May 9, 2010
45
0
I know this just came out, but can the early adopters try to pay attention to charging times, too?

Some people (including me) have noticed that the time it takes to charge the battery has increased -- not sure if it's due to the radio or the kernel. Discussion in the [THINK TANK] thread seems to point to the kernel. It would be good to see if the issue persists with this kernel.

Thanks for testing.

**EDIT** added link to Think Tank thread**/EDIT**
 
Last edited:
Status
Not open for further replies.