Android OS Forum banner

1 - 9 of 9 Posts

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?"

9.10.2011 - USB auto mount bug fixed for 2.3.4 SENSE ROM'S!!!​

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

  • 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!

  • Patched to
  • 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/902MHz
  • Under Volt
  • Lower Wifi Voltage
  • NOOP scheduler default
  • SLQB Memory Management
  • Extensive Ext4 tweaks
  • SVS support (VDD interface code thanks to @snq)
  • Float Charge after 90% (does not 'over charge' simply a slow charge)
  • Built in WiFi Calling support
Available CPU Governors:
  • demonspeed, superbad, scary, smartass, conservative, performance, ondemandX, interactive, minmax, powersave, userspace
Optional I/O Schedulers:
  • anticipatory, deadline, cfq, bfq, vr, sio

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"
10. Welcome to the DARKSIDE!

My Change Log:
<br />
[U][B] [URL=v5:]v5:[/URL]: (10.1.2011)[/B][/U]<br />
-UPDATE: increase GPU and Camera memory allocation<br />
-ADD: put eMMC in sleep (cmd5) mode before suspend<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: decrease default dirty ratio<br />
-UPDATE: arch/arm/mach-msm/acpuclock-7x30.c<br />
-UPDATE: CFLAGS for Increased peroformance<br />
-ADD: Automated per tty task groups<br />
-UPDATE: Audio drivers | ADD: 2WCR support<br />
-other stuff...<br />
<br />
[U][B] [URL=v3:]v3:[/URL]: (9.10.2011)[/B][/U]<br />
-UPDATE: CPU governors<br />
-UPDATE: adjust audio boost, lower handset<br />
-REVERT: "ADD: Tweaked charging to slowly "overcharge" more than 2 hours a..."<br />
-ADD: float charge after 90%<br />
-ADD: Jhash3<br />
-UPDATE: FileSystem tweaks<br />
-UPDATE: Patches from Code Aurora<br />
-UPDATE: Set correct divx codec type<br />
-UPDATE: fix my mistake for I/O Sched<br />
-UPDATE: USB drivers for 2.3.4<br />
-ADD: Fast charging while connected via USB<br />
-UPDATE: HTC G-Sensor drivers<br />
-Other stuff...<br />
<br />
<br />
<br />
<br />
[U][B] [URL=v1:]v1:[/URL]: BETA01 (8.12.2011)[/B][/U]<br />
-Initial release<br />

[DOWNLOAD HERE] ::demonspeed v5:: (10.1.2011)
md5: 032560b2128afa07a327f9264685e0aa

33 Posts
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:****_Scheduler &

  • Swap: Swap is a way to extend your physical memory. The OS moves the less accessed memory pages to slower, and cheaper storage medium. This frees up RAM for things that require the speed.

  • demonspeed! Governor: this governor is rather similar to the 'ondemand' governor both in its source code and its purpose, the difference is its optimisation for better suitability in a battery powered environment. The frequency is gracefully increased and decreased rather than jumping to 100% when speed is required. Based off a lag free concept, with screen off profiles built in. demonspeed has not been tested against battery life performance, but rather for speed and user interaction.
  • 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
53 Posts
TDJ - Can you please give an explanation on what the "lagfree", "savagedzen", "userspace", "!Set", and "DARKSIDE" governors are on the v7 (unreleased) kernel? Thank you in advance, and thank you for your Sense 3.5 ROM and updates.

Android Apprentice
53 Posts
TDJ - I didn't know where to post this - although this seemed the most logical place in RootzWiki to do so. For your next Sense kernel revision, whether it be for your 3.5 port (which I currently am on) or another, can you please not boost the volume? I am not my 86 year old grandmother who wears a hearing aid and could make use of the audio boost in her landline (remember those) in the retirement home, OK? I'm only a few years older than yourself, am not ready to get into the box, and I don't need to have the rest of the world hearing my conversations from 3 miles away. Yes, that is an exaggeration but can catch my drift. I mean, would you want every one on the Red or Green line hearing about the time you went to No Name and p!ssed off the pier on the way into work the next morning? I shall make a donation should it help my request - although I should make one to you anyway for all your hard work and patience.
1 - 9 of 9 Posts