Android OS Forum banner
1 - 16 of 16 Posts

·
Developer
Joined
·
33 Posts
*WARNING! I Am Not Responsible For Anything That Happens To Your Device*


PLEASE READ ENTIRE OP CAREFULLY, THANKS! and remember: when reporting issues, please provide more info than "my phone rebooted, anyone know why?"

Based on CM7 source code. Found [HERE]
My github: [HERE]

BIG THANKS TO:
  • Cayniarb, Faux123, Erasmux, Scaryghoul, Nick Piggin, LeeDroid, Umaro, mdeejay, imoseyon, LorDClockaN for the reference or code I may have used
  • Raycaster3 for being my crash test dummie :D
  • Anyone I didnt mention.. it's not intentional, please let me know!


Included:
  • MIUI, CM7, AOSP 2.3.4+ COMPATIBLE
  • Patched up to 2.6.35.14
  • CPU OverClocked up to 1.90GHz (Higher Frequencies may be unsatble for some devices)
  • CPU frequecy supports 122MHz up to 1.90GHz
  • Smartass Governor default Gov set @ 122/1017MHz
  • Under Volt
  • Lower Wifi Voltage
  • NOOP I/O scheduler default
  • SLQB Memory Management
  • Tiny Preempt RCU
  • Extensive Ext4 tweaks (@Umaro)
  • SVS support (VDD interface code thanks to @snq)
  • Float Charge - Slows charging down after 90%
  • Built in WiFi Calling support
  • Swap enabled (Needs to be supported in ROM)
  • BFS 'Brain F*ck Scheduler' Version available for download!
Available CPU Governors:
  • demonspeed, superbad, scary, smartass, conservative, demonSPEED!(performance), ondemand, interactive, minmax, powersave, userspace
Optional I/O Schedulers:
  • sio, anticipatory, deadline, cfq, bfq v2, vr

Instructions on flashing Kernel:


1. Download and place on your SD card
2. Boot into Recovery Mode
3. Do a NAND BACKUP!!!
4. Wipe Dalvik & Cache
5. Flash Kernel
6. After flashing is complete, Reboot..
7.Wait a few minutes for Os to load and reboot again
8.If using SetCPU, make sure you reselect "autodetect speeds recommended"
9.Done!
10. Welcome to the DARKSIDE!
My Change Log:
Code:
<br />
[U][B]2.6.35.14 | demonspeed v10 (10.1.2011)[/B][/U]<br />
-UPDATE: lower MIN_VOLTAGE_MV to 650<br />
-UPDATE: more CFLAG optimizations<br />
-UPDATE: decrease default dirty ratio<br />
-UPDATE: Updated drivers from HTC<br />
-UPDATE: vidc 720p drivers [CodeAurora]<br />
-UPDATE: Memset MPEG-4 recon buffers to black [CodeAurora]<br />
-ADD: put eMMC in sleep (cmd5) mode before suspend<br />
-REVERT: "ADD: Fast charging while connected via USB"<br />
-UPDATE: Back off suspend if repeated attempts fail <br />
-UPDATE: prevent multiple syscall restarts<br />
-ADD: demonspeed governor<br />
-ADD: cleancache<br />
-ADD: enable HRTICK<br />
-UPDATE: Create cpufreq workqueue for freq changes<br />
-UPDATE: arch/arm/mach-msm/acpuclock-7x30.c<br />
-other stuff...<br />
<br />
<br />
[U][B]2.6.35.14 | demonspeed v9 (9.11.2011)[/B][/U]<br />
-BFS Version available for download!!!<br />
-UPDATE: increase GPU and Camera memory allocation<br />
-UPDATE: HTC G-Sensor drivers<br />
-ADD: New audio drivers from CAF with 2way call recording support<br />
-ADD: Fast charging while connected via USB<br />
-UPDATE: Lower overall MIN_VOLTAGE_MV to 650mv from 750mv<br />
-UPDATE: enabled swap<br />
-Other stuff...<br />
<br />
[U][B]2.6.35.14 | demonspeed v8 (9.4.2011)[/B][/U]<br />
-REVERT: CPUFREQ code from 3.0rc6 kernel (by Imoseyon)<br />
-REVERT: CPUIDLE code from 3.0rc6 kernel (by Imoseyon)<br />
-UPDATE: all CPU governors<br />
-ADD: Jhash 3 tweak<br />
-REVERT: lower wifi voltage<br />
-REVERT: Trickle charge<br />
-ADD: Float charge after 90%<br />
-UPDATE Code Aurora Forum file system tweaks and other various patches<br />
-UPDATE: Set correct divx codec type<br />
-Other stuff...<br />
<br />
[U][B]2.6.35.14 | demonspeed_INSANITY v6 (8.12.2011)[/B][/U]<br />
-Freshly rebuilt from CyanogenMod / htc-kernel-msm7x30 from the bottom up<br />
-Added CPUFREQ code from 3.0rc6 kernel (by Imoseyon)<br />
-Added CPUIDLE code from 3.0rc6 kernel (by Imoseyon)<br />
-Modified Frequencies and Voltages<br />
-Modified all CPU governors<br />
<br />
<br />
[U][B]2.6.35.13 | demonspeed_INSANITY v5 (8.6.2011)[/B][/U]<br />
-Added SVS support (For ADVANCED users. See 2nd post)<br />
-Modify VDD(Voltage) Table<br />
-Add a slight overcharge to battery over 2hrs after complete charge (100% Safe)<br />
-Make "NOOP" I/O scheduler default<br />
-Modify VM read ahead to 4096kb<br />
-Add "superbad" Gov ( A play off of "smartass" Gov. it is a low latency and more responsive version)<br />
-Minor adjustment to smartass gov again :X<br />
-Adjust scary gov to scale better thru lower freq.<br />
-Adjust volume boosts (minor)<br />
-lower cache_pressure by 25%<br />
-modify lowmemkiller sizes<br />
<br />
<br />
<br />
[U][B]2.6.35.13 | demonSPEED_INSANITY v3 (7.22.2011)[/B][/U]<br />
-Complete Voltage & Frequency table overhaul<br />
-OC support from 122Mhz - 2.03GHz (Higher Frequencies may be unsatble for some devices)<br />
-Make "Simple" I/O scheduler default<br />
-Modify VM read ahead to 1024kb<br />
-Tweak smartass gov for better battery savings<br />
-Tweaked conservative & scary gov (minor)<br />
-Increase to Volumes (again). Including:<br />
     * Earpiece<br />
     * Speaker<br />
     * Headphones<br />
     * Bluetooth<br />
<br />
<br />
[U][B]2.6.35.13 | demonSPEED_INSANITY v2 (7.16.2011)[/B][/U]<br />
-Utilized Tiny Preempt RCU<br />
-Extensive EXT4 Tweaks (@Umaro)<br />
-Increase to Volumes. Including:<br />
     * Earpiece<br />
     * Speaker<br />
     * Headphones<br />
     * Bluetooth<br />
-Synced up to date with CM7 kernel source (htc-kernel-msm7x30)<br />
<br />
<br />
[U][B]2.6.35.13 demonSPEED INSANITY v1.0.0 (6.29.2011)[/B][/U]<br />
-Initial stable release of v1.0.0<br />
-Configuration setup concurrent with [2.6.32.42 demonSPEED INSANITY v2.0] <br />
<br />
-Scary Gov included for those who desire it...<br />
-Default Gov Smartass @ 245MHz/1017Mhz<br />
-Tweaked Smartass a bit<br />
-Increase Audio slightly for Speaker & Handset<br />
-Added 'Allow CPU-supported unaligned accesses' (LeeDroid)<br />
-Lowered WiFi Voltage (Ziggy741)<br />
-Clean up..<br />
<br />
<br />
[U][B]2.6.35.13 demonSPEED v0.0.1 [BETA] (6.12.2011)[/B][/U]<br />
-Initial release<br />
*WARNING!* PLEASE READ INSTRUCTIONS CAREFULLY! IF YOU DO NOT UNDERSTAND WHAT YOU ARE READING, PLEASE ASK ANY QUESTIONS BEFORE FLASHING!

[DOWNLOAD HERE] 2.6.35.14 ::demonspeed v10:: #25 (10.1.2011)
md5: ad35938974d776da9f81557bb65bc8bd



[DOWNLOAD HERE] 2.6.35.14 ::demonspeed BFS v10:: #26 (10.1.2011)
md5: 7371bf0e0ba0cc01231afb1f50f8273b



View attachment 662851 View attachment 638081 View attachment 622644
 

·
Developer
Joined
·
33 Posts
INFO
BFS (Brain **** Scheduler):
  • BFS: The objective of BFS, compared to other schedulers, was to provide a scheduler with a simpler algorithm, that did not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. The BFS author asserted that these tunable parameters were difficult for the average user to understand, especially in terms of interactions of multiple parameters with each other, and claimed that the use of such tuning parameters could often result in improved performance in a specific targeted type of computation, at the cost of worse performance in the general case.[4] BFS has been reported to improve responsiveness on light-NUMA (non-uniform memory access) Linux mobile devices and desktop computers with fewer than 16 cores.
Information Source: http://en.wikipedia.org/wiki/Brain_****_Scheduler & http://ck.kolivas.org/patches/bfs/bfs-faq.txt

Governors:
  • SuperBad Governor: A "superbad" super smooth rendition of a highly optimized "smartass" governor! Low latency and more responive to the user.
  • SCARY Governor (@Scaryghoul): Scary - A new governor Scaryghoul wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.

I/O Schedulers:
  • V(R) I/O Scheduler: V(R) is similar to, and based on, Linux's deadline I/O scheduler. It implements request deadlines which try to limit starvation, but provide no hard guarantee of request latency. It also merges and batches requests in a similar manner, but unlike deadline, read and write requests are issued together. This means there is no preference to reads over writes. Thus, higher throughput can be achieved at the cost of interactive performance. Secondly, V(R) could be used for situations where maximal throughput it the primary concern, such as batch processing systems, where per-request latency is not important. By scheduling read and write requests together and setting sufficiently high deadlines, V(R) can theoretically produce a better schedule than deadline, AS or CFQ.

RCU SubSystem:

RCU Concept: The basic idea behind RCU (read-copy update) is to split destructive operations into two parts, one that prevents anyone from seeing the data item being destroyed, and one that actually carries out the destruction. A "grace period" must elapse between the two parts, and this grace period must be long enough that any readers accessing the item being deleted have since dropped their references. For example, an RCU-protected deletion from a linked list would first remove the item from the list, wait for a grace period to elapse, then free the element. See the listRCU.txt file for more information on using RCU with linked lists.
  • Tiny Preempt RCU: This implements a small-memory-footprint uniprocessor-only implementation of preemptible RCU. This implementation uses but a single blocked-tasks list rather than the combinatorial number used per leaf rcu_node by TREE_PREEMPT_RCU, which reduces memory consumption and greatly simplifies processing. This version also takes advantage of uniprocessor execution to accelerate grace periods in the case where there are no readers. The general design is otherwise broadly similar to that of TREE_PREEMPT_RCU.
 

·
Android Apprentice
Joined
·
53 Posts
Hey, there. I noticed your MIUI post included v4 of this kernel, so I was wondering if you're gonna release v4 out into the wild or let it be exclusively for MIUI for the time being. Btw, I'm sure this community would like to know of your Unity kernel - if they don't already - since there's a good number of Sense-based ROMs posted here.
 

·
Developer
Joined
·
33 Posts
Discussion Starter · #5 ·
HumanTyphoon said:
Hey, there. I noticed your MIUI post included v4 of this kernel, so I was wondering if you're gonna release v4 out into the wild or let it be exclusively for MIUI for the time being. Btw, I'm sure this community would like to know of your Unity kernel - if they don't already - since there's a good number of Sense-based ROMs posted here.
Will update my thread soon with v4.. there are only minor changes and its mostly for things on my end. I have yet to release a kernel for sense but i have been working on something just not sure when it will be released
 

·
Developer
Joined
·
33 Posts
Discussion Starter · #7 ·
em2drvr03 said:
You need your own aosp rom...i love faux's but i would love to see what you can do
Well I can carrtainly add it to my list.. But don't expect it to happen like tomorrow ;)

Sent from my HTC Glacier
 

·
Android Apprentice
Joined
·
53 Posts
Hey, there, I just had a question in regards to the development of this kernel. Well, maybe more than just one. After reading an article on Linux Today about the speculation of when the Android fork would rejoin the Linux Mainline, I went over to the Koji Fedora Buildsystem site and looked up the current version of the Android kernel to see what the latest revision that has dropped. From there, I found the latest Android kernel was at kernel-2.6.35.14-95.fc14, so I asked myself if this new update/revision was something that was going to be featured in a potential upcoming version of your (wickedly awesome) kernel.

You mentioned, if I remember correctly, in a previous GTalk conversation back when you were testing out v6 Beta that you saw how the Android fork could reach v3.0 kernel status and that you were wanting to revise/update your kernel up to that version (v3.0+) whenever it was slated to do so and dropped, so I was excited to hear about that - since at the time I was updating my Fedora 15 installation to run the .fc16 and .fc17 3.0+ kernels. Since then, I've stuck w/kernel-2.6.40.3-0.fc15 on my F15 installation for stability reasons, but it inspired me to ask what Android version you might be working on in your next kernel endeavours. In any sense, I'm looking forward to seeing what comes down the pike and intalling MIUI v1.8.19 today or tomorrow - so good luck on all that you do!
 

·
Android Apprentice
Joined
·
53 Posts
What a helluva Labor Day gift, and thank you so very much. I'll be trying this kernel out as I head out to Irvine, CA for my new job this week - so it's as though I've been given two new gifts.
 

·
Android Apprentice
Joined
·
53 Posts
Could you please give me some example IncrediControl settings on the v8 kernel? I've lowered the voltage by 25 on the 1017MHz - 245MHz frequencies so far, but I thought I would ask you (or anyone else reading this thread) to suggest UV settings to help battery life. Thanks in advance.
 

·
Developer
Joined
·
33 Posts
Discussion Starter · #12 ·
"HumanTyphoon said:
Could you please give me some example IncrediControl settings on the v8 kernel? I've lowered the voltage by 25 on the 1017MHz - 245MHz frequencies so far, but I thought I would ask you (or anyone else reading this thread) to suggest UV settings to help battery life. Thanks in advance.
Personally i use -50mv all around.. If you use the very top setting it will +/- all around

Sent from my MIUI ||demonspeed_MOD|| HTC Glacier using Forum Runner
 

·
Android Apprentice
Joined
·
53 Posts
"TheDerekJay said:
Personally i use -50mv all around.. If you use the very top setting it will +/- all around
Cool beans. I've given that a turn, so I'll see how it plays out. Thanks for your suggestion and quick reply, and I hope you've had a great Labor Day weekend.
 

·
Android Apprentice
Joined
·
53 Posts
Thank you for v11, I'm running it on that hybrid ICS/MIUI ROM found over in XDA on Superbad 240/1017 at the moment. I see you've included v12b in your MIUI build, so I like to ask if you're happy enough w/it to release it as a flashable kernel. If so, I'd like to try it out on my current ROM before switching back to your MIUI ROM next week. Oh, and good luck w/your new Dev Team and your future endeavors.
 
1 - 16 of 16 Posts
Top