Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,737,016 Members 50,894 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
Synthetic.Nightmare
Old
(Last edited by Synthetic.Nightmare; 23rd July 2014 at 04:39 AM.)
#1  
Synthetic.Nightmare's Avatar
Recognized Developer - OP
Thanks Meter 1183
Posts: 896
Join Date: Mar 2011
Location: San Marcos, Texas

...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:
- -
Goo.im uploads
d-h.st mirrors

SOURCE:
axDev Master Branch (Release)
Topic Branches (Exp)

[Source is made freely available for use by all. I encourage you to use any branch above as a reference, or for patches/cherry-picks.]

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)
The Following 22 Users Say Thank You to Synthetic.Nightmare For This Useful Post: [ Click to Expand ]
 
tdizzle404
Old
#2  
tdizzle404's Avatar
Senior Member
Thanks Meter 1085
Posts: 4,461
Join Date: Nov 2010
Location: North Georgia

 
DONATE TO ME
Thanks looks good ,flashing now

Sent from my Nexus 7 using xda app-developers app
Htc Droid DNA
Grouper
A Must Read for Noob to Dev!
^^^^A good read while you let your phone sit for 10
If Ive helped you please hit THANKS
The Following User Says Thank You to tdizzle404 For This Useful Post: [ Click to Expand ]
 
matrixzone
Old
#3  
matrixzone's Avatar
Senior Member
Thanks Meter 745
Posts: 2,352
Join Date: Mar 2012
Wow, another kernel
If this is helpful or useful, please hit "Thanks" and its free
The Following User Says Thank You to matrixzone For This Useful Post: [ Click to Expand ]
 
ckisgen
Old
#4  
ckisgen's Avatar
Recognized Developer
Thanks Meter 929
Posts: 867
Join Date: Sep 2007
Location: raleigh, NC

 
DONATE TO ME
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

If I've helped you in any way - please hit the button

phone . SGH-T999
tablet . Nexus 7 (2013)



The Following User Says Thank You to ckisgen For This Useful Post: [ Click to Expand ]
 
LuigiBull23
Old
#5  
LuigiBull23's Avatar
Recognized Contributor
Thanks Meter 5238
Posts: 5,501
Join Date: Jan 2013
Location: Holyoke

 
DONATE TO ME
Awesome!!! Thank you very much!


 
Quote:
ROM: Liquidsmooth v3.0 (Nightly 3/13) ~ LiquidSmooth [Q&A/T]
Kernel: KT-SGS4 ~ Ktweaker Shop / Ktweaker User Guide
Radio: MDL
Recovery: TWRP 2.6.3.0
Mods: Xposed + Greenify + Project Comatose - Rebirthing profile
Andriod Terminology / Development Guide
The Following User Says Thank You to LuigiBull23 For This Useful Post: [ Click to Expand ]
 
Synthetic.Nightmare
Old
(Last edited by Synthetic.Nightmare; 31st May 2013 at 10:49 PM.)
#6  
Synthetic.Nightmare's Avatar
Recognized Developer - OP
Thanks Meter 1183
Posts: 896
Join Date: Mar 2011
Location: San Marcos, Texas
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 View Post
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
The Following 2 Users Say Thank You to Synthetic.Nightmare For This Useful Post: [ Click to Expand ]
 
ckisgen
Old
#7  
ckisgen's Avatar
Recognized Developer
Thanks Meter 929
Posts: 867
Join Date: Sep 2007
Location: raleigh, NC

 
DONATE TO ME
Quote:
Originally Posted by Synthetic.Nightmare View Post

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

If I've helped you in any way - please hit the button

phone . SGH-T999
tablet . Nexus 7 (2013)



 
abc123pro
Old
#8  
abc123pro's Avatar
Senior Member
Thanks Meter 34
Posts: 197
Join Date: 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
 
Synthetic.Nightmare
Old
(Last edited by Synthetic.Nightmare; 3rd June 2013 at 09:21 PM.)
#9  
Synthetic.Nightmare's Avatar
Recognized Developer - OP
Thanks Meter 1183
Posts: 896
Join Date: Mar 2011
Location: San Marcos, Texas
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
The Following User Says Thank You to Synthetic.Nightmare For This Useful Post: [ Click to Expand ]
 
itsmikeramsay
Old
#10  
itsmikeramsay's Avatar
Recognized Themer
Thanks Meter 11246
Posts: 4,946
Join Date: Mar 2009
Location: Atlanta

 
DONATE TO ME
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"

Note 3 powered by Tweaked ROM & ColonelXB maxed at 2.8GHz

Hit the Thanks! Button If I've Helped!
Donations are ALWAYS appreciated!


Twitter: @ItsMikeRamsay

The Following User Says Thank You to itsmikeramsay For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes