Post Reply

[KERNEL][AOSP-3.4.y][AXDEV][d2] Harkness - 05/01/14

OP Synthetic.Nightmare

30th May 2013, 04:09 AM   |  #1  
Synthetic.Nightmare's Avatar
OP Recognized Developer
Flag San Marcos, Texas
Thanks Meter: 1,215
 
909 posts
Join Date:Joined: Mar 2011
More

...AX Developers Present...
...In association with Team Inferno...
axDev Harkness
"Self determination is NOT a malfunction" -Harkness (Android A3-21)


This kernel is experimental. All patches used, source code, etc. can be found here with as many of the original authors intact as possible.
***ONLY RECENT (aka inline with CMs display drivers) AOSP-BASED ROMS SUPPORTED***

FEATURES:
- based off of Cyanogenmod's 3.4.y kernel
- compiled using Sourcery CodeBench Lite GCC 4.7 toolchain (-Os)
- floating-point & graphite loop optimizations
- cleaned up some modules and debugging
- Tweaked GPIO debounce timing [Increased vol. long press]
- Increased touchscreen sensitivity
- dkp notification/backlight LED fade animations (DecimalMan)
- faux sound support
- patches from a plethora of sources (including franciscofranco, WillDeacon, ConKolihas, etc.)
- fast charge capable (imoseyon)
- UV capable (faux123)
- full sched-deadline implementation (jlelli)
- semaphore n4's conservative & ondemand driver (stratosk)
- Power efficient workqueues (Linaro)
- Plenty of backports from mainline [sched, cpuidle, random, smp, etc.] (Linux)
- asm-generic rwsem (Will Deacon)
- Imports from Motorola's msm kernel source:

* always update vfp_current_hw_state when forcing reloading
* fixup to allow sched to play nice with CPU_HOTPLUG
* Krait memutils
* acpuclock-krait: init to max speed (improve boot time)
* lmk/compaction: updates to allow improved/stricter memory management

- I'll add more as I remember
BUG REPORTS:
Please include a kmsg/dmesg to any bug reports: http://code.google.com/p/tegraowners...ow_to_get_logs
If you you are unable to do so for whatever reason, try to use as much detail as possible and give me a way to replicate it, so that I may attempt to log it. Thanks!

NOTES:
- Reserved for notes about bugs.
- Cleared since we seem to be golden with trickstermod and I have yet to have a recent cm build fail on init. Let me know if you find anything.

SCHED_DEADLINE:

Not to be confused with the iosched deadline, Sched_deadline is a scheduling class that implements a real-time CPU scheduling algorithm; EDF (Earliest Deadline First), augmented with a bandwidth isolation mechanism (called Constant Bandwidth Server, CBS) that makes it possible to isolate the behaviour of tasks between each other. SCHED_DEADLINE allows the CPU to reserve a portion of the CPU time to a specific application very accurately. A key feature is that it ensures "temporal isolation", which means that the temporal behavior of each task (i.e., its ability to meet its deadlines) is not affected by the behavior of any other task in the system. In other words, even if a task misbehaves, it is not able to exploit larger execution times than the amount it has been allocated. When a task tries to execute more than its budget, it is slowed down, by stopping it until the time instant of its next deadline. When, at that time, it is made runnable again, its budget is refilled and a new deadline is computed.


POWER EFFICIENT WORKQUEUES:

With per-cpu workqueues, the scheduler considers a CPU idle if it doesn't have any task to execute and tries to keep idle cores idle to conserve power; however, for example, a per-cpu work item scheduled from an interrupt handler on an idle CPU will force the scheduler to excute the work item on that CPU breaking the idleness. Power efficient workqueues are allowed to be unbound, meaning they are not forced to queue up on what could be an idle CPU; instead, the scheduler allows work to be rescheduled on a core that is already awake.


SEMAPHORE ONDEMAND TUNABLES:

touch_load: the simulated load when there is a touch on screen (default 75)

touch_load_threshold: over this load the touch_load will be applied (default 10)

touch_load_duration: the duration of the simulated load in msec (default 1100)


VOLTAGE TABLES/BINNING:

What CPU do you have? Nominal, Fast ...or Slow

The phones with the lower default voltage values use the "fast" frequency table, consider yourself lucky. This explains why some can't UV as much as others since they are starting with lower mV's to start. These are built in factory tolerances that depend upon the binning of your chip. Hopefully folks don't go freaking out because they have a nominal chip like I do. It's probably good for a dev to have a nominal chip so we can better honor the limits.

http://en.wikipedia.org/wiki/Product_binning

How do I tell what I have?
If you boot up your phone fresh and look at the dmesg output (kernel log) while the messages are still there, you will find one of the following output messages where it selects it's frequency plan depending on the binning of the chip.

commandline:
adb shell dmesg | grep PVS

(acpuclk-krait in our kernel defines PVS as id numbers)

acpuclk-8960: ACPU PVS: 0 = Slow
-or-
acpuclk-8960: ACPU PVS: 1 = Nominal
-or-
acpuclk-8960: ACPU PVS: 3 = Fast


- thanks to _motley for this awesome write-up on his kernel/kernel features... and for providing explicit detail on his works

A Note for Developers:
CODEBENCH COMPILE CACHING:

Ccache is commonly used to reduce compile times for C-related files. CodeBench's toolchains utilize their very own compile caching that works EXTREMELY well. You MUST be on at least the 5-23 version of CodeBench (CodeBench Lite can be found here). The related patch for using this feature will be posted below. Examples of use are in the commit message.

Basic CS cache patch

Please pull request any improvements/post discussion.


I'll add more info about key features as I work along.

DOWNLOADS:
- -
https://code.google.com/p/harkness-d2/
!! NOTE: this OP no longer reflects what this kernel is. See the URL above for the latest. !!

CREDITS/THANKS:
Cyanogenmod
MentorGraphics
Juri Lelli (and everyone else in the SCHED_DEADLINE project)
MotorolaMobilityLLC
existz
TripNRaVeR (tripndroid)
Will Deacon (ARM)
stratosk
franciscofranco
decimalman
_motley
Con Kolihas
imoseyon
showp1984
faux123
f1vefour
ryuinferno
xcstacy
Linaro
Eli Billauer
kerneldedup.org
Bethesda
and countless others (may they be remembered on github)
Last edited by Synthetic.Nightmare; 26th September 2014 at 09:50 PM.
The Following 24 Users Say Thank You to Synthetic.Nightmare For This Useful Post: [ View ]
30th May 2013, 04:44 AM   |  #2  
tdizzle404's Avatar
Senior Member
Flag North Georgia
Thanks Meter: 1,088
 
4,467 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Thanks looks good ,flashing now

Sent from my Nexus 7 using xda app-developers app
The Following User Says Thank You to tdizzle404 For This Useful Post: [ View ]
30th May 2013, 06:08 AM   |  #3  
matrixzone's Avatar
Senior Member
Thanks Meter: 783
 
2,487 posts
Join Date:Joined: Mar 2012
More
Wow, another kernel
The Following User Says Thank You to matrixzone For This Useful Post: [ View ]
30th May 2013, 12:58 PM   |  #4  
ckisgen's Avatar
Recognized Developer
Flag raleigh, NC
Thanks Meter: 929
 
867 posts
Join Date:Joined: Sep 2007
Donate to Me
More
thanks Synthetic. purring like a kitten so far. really liking the looks of what you've got in here.

I'll try and report back on battery life after a few cycles.

(still waiting on return on Hank Hill avatar...)

Sent from my SGH-T999 using xda premium
The Following User Says Thank You to ckisgen For This Useful Post: [ View ]
31st May 2013, 06:00 PM   |  #6  
Synthetic.Nightmare's Avatar
OP Recognized Developer
Flag San Marcos, Texas
Thanks Meter: 1,215
 
909 posts
Join Date:Joined: Mar 2011
More
updated uksm (granted its still kinda old, but I backported some parts from a newer implementation) and cleaned up some warnings it came with. also some reverts to see how bluetooth fares.
oh and some pi-cv updates

Update 5-31:
Remove Smartass2
msm: cpufreq: Configure WQ for higer priority
Staging: android: binder: Add binder buffers to kmemleak
sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
direct-io: don't read inode->i_blkbits multiple times
block: move down direct IO plugging
Revert "Bluetooth: Fix handling of unexpected SMP PDUs"
uksm: ensure item is initialized
apply updates from uksm-0.1.2.2-for-v3.7.ge.10.patch
fix inline kernel compilation with gcc 4.8
Merge branch 'pi-cv' into jb-mr1
*debug output removed
*deboost fixed-up
gideonX's bluetooth reverts
Update .gitignore
Download: d-h.st/Ogl

EDIT: just added a little more info to the OP. Check it out.

Quote:
Originally Posted by ckisgen

thanks Synthetic. purring like a kitten so far. really liking the looks of what you've got in here.

I'll try and report back on battery life after a few cycles.

(still waiting on return on Hank Hill avatar...)

Sent from my SGH-T999 using xda premium

lol I just need to find the right image
Last edited by Synthetic.Nightmare; 31st May 2013 at 10:49 PM.
The Following 2 Users Say Thank You to Synthetic.Nightmare For This Useful Post: [ View ]
31st May 2013, 06:04 PM   |  #7  
ckisgen's Avatar
Recognized Developer
Flag raleigh, NC
Thanks Meter: 929
 
867 posts
Join Date:Joined: Sep 2007
Donate to Me
More
Quote:
Originally Posted by Synthetic.Nightmare


lol I just need to find the right image

hey, an update already. just what I like! thanks.

.. the pimp hat Hank was pretty good the last time around... or maybe an 8bit looking image from Hank in the Pro-Pain video game..? just a thought :thumbup:

Sent from my SGH-T999 using xda premium
3rd June 2013, 05:36 AM   |  #8  
abc123pro's Avatar
Senior Member
Thanks Meter: 36
 
203 posts
Join Date:Joined: Dec 2011
Thanks, trying it out now. Would you recommend to have mpdecision enabled or my own oc/uv? Also deepsleep state is unused is that normal? I may have tinkered with the trickster settings too much haha

Also using slim bean v6

Sent from my SAMSUNG-SGH-I747 using xda app-developers app
3rd June 2013, 06:29 AM   |  #9  
Synthetic.Nightmare's Avatar
OP Recognized Developer
Flag San Marcos, Texas
Thanks Meter: 1,215
 
909 posts
Join Date:Joined: Mar 2011
More
I personally disable mpdecision (dont even have it in my rom builds at all). Also my device deep sleeps fairly quickly given the right circumstances (i.e. no wakelocks caused by music, etc.). You can try BetterBatteryStats/Greenify to see whats causing your device to be unable to sleep.

Sent from my SGH-T999 using Tapatalk 4 Beta
Last edited by Synthetic.Nightmare; 3rd June 2013 at 09:21 PM.
The Following User Says Thank You to Synthetic.Nightmare For This Useful Post: [ View ]
4th June 2013, 11:39 AM   |  #10  
itsmikeramsay's Avatar
Recognized Contributor
Flag Atlanta
Thanks Meter: 12,112
 
5,207 posts
Join Date:Joined: Mar 2009
Donate to Me
More
Man this kernel is dope! Haven't had any issues so far and runs much better than current stock CyanogenMod kernel.

"Sent from Illusion powered S3"

The Following User Says Thank You to itsmikeramsay For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes