FORUMS
Remove All Ads from XDA

[Kernel][5.1][-O3][-graphite][FINAL] HurtSky Stable 13 [dt2w/s2w/s2s] 30/11/2015

1,876 posts
Thanks Meter: 4,726
 
Post Reply Email Thread
Attention
/*
I'm not a developer, im taking effort to put more choices of kernel for our community.
This kernel is tweaked for my own taste.
Please do not request for more features because i want to ensure the stability of the kernel first.
And thank you for using this kernel.
*/


Disclaimer

Code:
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 */
WARNING !! Please read before proceeding to download section as to avoid any confusion happen !


CODE NAME: Stable VERSION

Features


- Compiled with latest Built with latest custom Gcc 5.1 ArchiToolchain optimized for Cortex-A7
- Optimized ARM RWSEM algorithm
- -O3 optimization and others more
- Add AutoSMP hotplug driver (really nice)
- Add Mako hotplug driver (more conservative hotplug - more likely in 2 core mode, quad core will only be use when greater load detect)
- Faux Sound Control
- updated Sched/fair structure/RCU from upstream
- Enable ULPS(Ultra Low Power) and partial update for panel
- AKM8963 driver used lcd notifier (keep phone sensor suspend during LCD off to save more power usage)
- Use new hotplug infrastructure from 3.10.x kernel
- used CPU-Boost caf ( can put different frequency for each core )
- improve Suspend and Resume timer
- ZEN, SIO, FIOPS, VR IO schedulers
- add lcd notifier for dt2w/s2w and akm8963 usage
- implement doubletap2wake, sweep2wake and sweep2sleep
- implement s2w dt2w with pocket mode
- Intelli Demand governor
- intelli Active governor (disabled for temporary)
- zzmoove Governors with tweaked profile for moto G - please read #4 post for more information
- yanactive governor
- impluse governor
- filter WAKEUP from francisco
- powersuspend - USERS cant configure it (no sys support) - all hotplug driver in this kernel use powersuspend
- KCAL support for post processing control [v2]
- WQ_POWER_EFFICIENT for power oriented workqueues
- cfg80211 driver from aosparadox kernel
- selinux in permissive
- Enabled all kind Advance TCP
- Disable many debug option to reduced overhead of the kernel
- silenced various kernel logs


Kernel Sources : - Github
https://github.com/hurtsky/android_kernel_motorola_msm8226


Please ensure that you already used latest version of CM, thank you.. :-

Installation Guide :
Using TWRP
1. Reboot to recovery > Install > Pick the kernel > Confirm to Flash > Reboot
or
2. Flash it using Flashify


Code:
Credit to :-
- CyanogenMod Developer team for providing the source
- developers that contributed in my github changes - all credit goes to them
- xda-developers.com
- and to all my kernel users, thanks.

XDA:DevDB Information
[Kernel][5.1][-O3][-graphite][FINAL] HurtSky Stable 13 [dt2w/s2w/s2s] 30/11/2015, Kernel for the Moto G

Contributors
hurtsky
Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: stable 5
Stable Release Date: 2015-10-09

Created 2015-03-23
Last Updated 2015-12-02
The Following 68 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
23rd March 2015, 06:51 AM |#2  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More
READ BEFORE HAVING A THOUGHT OF POSTING QUESTIONs
FAQ - Freaking Annoying Question

Quote:

THIS KERNEL WORKING IN STOCK ROM ????

1. NO, this kernel for ROM that based on CM kernel


KERNEL DID NOT FLASH/THE VERSION STILL THE OLD VERSION

1. Put the kernel ZIP at folder /sdcard and flash it.

2. Please use recommended recovery for this kernel >>> CLICK HERE


SYNAPSE NOT WORKING SUDDENLY ????

1. Read this >>> CLICK HERE


IF HAVING ANY REBOOT? WHAT TO DO?

1. upload file last_kmsg that located in /proc/last_kmsg

2. infomation about what setting that you use : example: intelli plug with zzzmove

3. if only state that youre having reboot without any logs will be ignore.


ERROR DURING OR AFTER FLASHING THE KERNEL

1 . if you comes from others kernel or after flashing the kernel you had this following "error : Fastboot Reason : Fall-through from normal boot mode" or any error during flashing, please dirty flash your rom again to clean up any conflict from different kernel script.. let it reboot.. and flash this kernel..

2. If still happen, flash recommended recovery for this kernel >>> CLICK HERE


OWN CUSTOM SETTING FOR KERNEL DID NOT STICKING AFTER BOOT

1. Make sure you used only 1 kernel tweaks and make sure you did change anything in "advance setting", remove the others apps and start tweaking your own favorite config. (i always suggested to use only Kernel Adiutor for tweaking the kernel)

2. Some ROM had they own boot script that will force the user to stick with it, this happen normally with interactive and cpu-boost config (in this kernel i already disabled completely cpu-boost so no need to worry about this). change interactive to another governors if you did not like what the ROM already did for you. (but i always recommend interactive, as it the most stable governors and updated for current time)


WHAT THE BEST OR RECOMMENDED CONFIGURATION FOR THIS KERNEL??

1. Default configuration is always the best for me because i already tweaked and tested by my own and with my tester before release it to the forum.

2. If you did not like default config, just do your own way (google,do research or re-read all post in this thread because there are some advance users posted their own configuration) and i wont answer or provide any advice for this kind of questions because i always stick with my own configuration


A LITTLE UNRESPONSIVE TOUCH AFTER DOUBLETAP2WAKEUP

1. Please read 4th post in dt2w/s2w/s2s section.

The Following 14 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
23rd March 2015, 06:51 AM |#3  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More

Note : - if you comes from others kernel or after flashing the kernel you had this following "error : Fastboot Reason : Fall-through from normal boot mode" or any error during flashing, please dirty flash your rom again to clean up any conflict from different kernel script.. let it reboot.. and flash this kernel.. thank you


Quote:

Changelogs of Hurtsky Kernel

CHANGELOGS for STABLE VERSION > CLICK HERE

Please do not expect me to explain all changes, mostly can be found by googling them or look into the commit changes in github, also those information can be found in xda forum itself and i will not entertain those question. thank you

Note : - if you comes from others kernel or after flashing the kernel you had this following "error : Fastboot Reason : Fall-through from normal boot mode" or any error during flashing, please dirty flash your rom again to clean up any conflict from different kernel script.. let it reboot.. and flash this kernel.. thank you

.
The Following 30 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
23rd March 2015, 06:52 AM |#4  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More
Special features and sysfs settings All Credits to @Christopher83
Quote:

Dynamic dirty page writebacks
This feature has been developed by me and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.

How to customize the dynamic dirty page writebacks feature (default enabled):

Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)

To change the value you can use Performance Control to suit your own taste

Quote:

LowMemoryKiller management of not killable processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.

This feature exposes four new lowmemorykiller parameters:
- donotkill_proc, is the flag to enable / disable this feature for the processes chosen by the user
- donotkill_sysproc, is the flag to enable / disable this feature for the system processes chosen by the user
- donotkill_proc_names, is the list of process names (comma separated) chosen by the user to be preserved from killing
- donotkill_sysproc_names, is the list of user system process names (comma separated) chosen by the user to be preserved from killing

When the lowmemorykiller needs to free ram, it will first kill the processes not included inside the two process name lists chosen by the user.
If there are no more standard killable processes, then it will be necessary to kill one of the processes included inside one of the two white-lists, to prevent system hangs, slowdowns, etc.

To change the not killable process you can use Performance Control to include it to the list.

Quote:

Timer slack controller and dynamic management of the minimal timer slack value
The timer slack controller is a feature developed by Kirill Shutemov and it allows to set the minimal timer slack value for every process contained within a control group (cgroup).
A timer slack allows the kernel to manage processes wakeup requests at some future time.
Thanks to this feature, the kernel can set a specific timer slack for the involved processes, minimizing the number of wakeups and allowing a lower system's power consumption.
For further info: Timer slack for slacker developers

I also implemented a new feature in addition to the above one that allows the dynamic management of the minimal timer slack value.
So, it's possible to use different minimal timer slack value when the system is active and when has been suspended.

How to customize the dynamic timer slack controller feature:

Three new cgroup parameters are exposed inside each processes hierarchy contained in /dev/cpuctl path:
- timer_slack.min_slack_ns is the timer slack used when the system is active for the current processes hierarchy
- timer_slack.min_slack_suspend_ns is the timer slack used when the system is suspended for the current processes hierarchy
- timer_slack.effective_slack_suspend_ns is the timer slack currently used

At the moment, the values chosen and used by this are the following:
- core processes (/dev/cpuctl), 0 ns when the system is active, 50000 ns when the system is suspended
- foreground apps/processes (/dev/cpuctl/apps), 0 ns when the system is active, 250000 ns when the system is suspended
- background non interactive apps/processes (/dev/cpuctl/apps/bg_non_interactive), 100000000 ns when the system is active, 250000000 ns when the system is suspended

1) By directly editing one of the file written above inside /dev/cpuctl and inside each hierarchy subfolder, by setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to set the minimal timer slack for generic and core apps/processes
Code:
su
echo 0 > /dev/cpuctl/timer_slack.min_slack_ns
echo 50000 > /dev/cpuctl/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in foreground
Code:
su
echo 0 > /dev/cpuctl/apps/timer_slack.min_slack_ns
echo 100000 > /dev/cpuctl/apps/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in background and non interactive
Code:
su
echo 100000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_ns
echo 250000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_suspend_ns

Quote:

KCAL support for post processing control [v2]
Please click the link below for more information, and how to use it : - all credits to savoca
[DEV][PATCH] KCAL - Advanced color control for Qualcomm MDSS 8x10/8x26/8974/8084

Quote:

ZZMoove Governor Profile
use tools like Android Tuner ,SetCPU or similar tools which are supporting the change of multible tuneables on-the-fly
or just do it directly in kernel sysfs via a terminal emulator and give the tuneable "profile_number" one of the following values:

1 for Default Balanced Profile
2 for Yank Battery -> Better battery, try to use lower freq as possible
3 for Yank Battery Extreme -> Aggressive Battery profile, by trying to reduce hotplugging as can as possible and with this profile the user will suffer abit in performance side
4 for ZaneZam Performance -> Extreme tuned for performance, aggressively try to hold on high frequency to obtain higher performance
5 for ZaneZam Relax -> Moderate tuned, more to balance but abit performance

Quote:

Dt2w/S2w/S2S
Implemented Pocket mode, in which, each time proximity sensor been covered, it will suspend touch to avoid sudden screen wakeup. Normally proximity sensor will active to covered when it detect any object about 3cm from phone distance.

Known bug for this features for now is:
1 - touch will less responsive during first wakeup after doubletap

How to use this features
- enable the features by using Kernel Adiutor or others apps that support this feature
- DOUBLETAP2WAKE (dt2w) >>> double tap the screen during screen off to wakeup the screen
- SWEEP2SLEEP (s2s) >>> sweep from right to left at Navbar to off the screen
- SWEEP2WAKE (s2w) >>> sweep from LEFT to RIGHT to wakeup the screen

Quote:

MSM_LIMITER
This function will limit the cpu in certain condition such as frequency during suspend, resume and min frequency. This features enabled in default and the frequency already been set for suspend freq to 600Mhz (screen off), min freq 300Mhz, resume freq 1.2Ghz. This feature may can reduce power consumption as it limit our cpu frequency after the screen off.

Bugs:
1. this msm limiter also should be able to set different freq of each cores, due to some out-of-date/lack of knowledge of mine, its appear only can change the freq of cpu0 and it will applied the same policy to anothers cpus rather than can set different freq to each cpus.

.
The Following 21 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
23rd March 2015, 06:58 AM |#5  
methuselah's Avatar
Senior Member
Thanks Meter: 2,085
 
More
Download links
i will be first to try.... but I don't see download links.....
23rd March 2015, 07:14 AM |#6  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More
Quote:
Originally Posted by sachoosaini

i will be first to try.... but I don't see download links.....

just finish upload it, now available at download section
23rd March 2015, 07:58 AM |#7  
methuselah's Avatar
Senior Member
Thanks Meter: 2,085
 
More
Everything is working fine...
Doing late reply but was waiting to see deep sleep working. Well kernel is working pretty good.... i got stable battery life till this report. Linux set to enforcing(great security feature).. Screenshots attached....So here i assume that xposed will not work, which is not all necessary. ROM was pacman nightlies 21st march.. i didn't tweaked anything....
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2015-03-23-12-22-50.png
Views:	4484
Size:	105.4 KB
ID:	3224489   Click image for larger version

Name:	Screenshot_2015-03-23-12-23-48.png
Views:	4452
Size:	59.6 KB
ID:	3224490   Click image for larger version

Name:	Screenshot_2015-03-23-12-23-53.png
Views:	4436
Size:	92.1 KB
ID:	3224491   Click image for larger version

Name:	Screenshot_2015-03-23-12-24-03.png
Views:	4110
Size:	75.3 KB
ID:	3224492  
23rd March 2015, 08:05 AM |#8  
==vj=='s Avatar
Senior Member
Flag Goa
Thanks Meter: 1,048
 
More
Welcome and Thank you for a decent start.
Tried your kernel on Exodus ROM. Using Interactive with deadline and mpdecision hotplug. Slightly fine tuned Interactive to scale conservatively in my usage. Going good. You may gain feedback from few more users and proceed to add great features mainly the Hotplug replacement by Intelliplug Thanks...!
EDIT: Faux clock refuses to alter Governor tunables and doesn't show list of I/O schedulers with this kernel. Going fine with TricksterMod.
23rd March 2015, 08:13 AM |#9  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More
Quote:
Originally Posted by sachoosaini

Doing late reply but was waiting to see deep sleep working. Well kernel is working pretty good.... i got stable battery life till this report. Linux set to enforcing(great security feature).. Screenshots attached....So here i assume that xposed will not work, which is not all necessary. ROM was pacman nightlies 21st march.. i didn't tweaked anything....

Quote:
Originally Posted by ==vj==

Welcome and Thank you for a decent start.
Tried your kernel on Exodus ROM. Using Interactive with deadline and mpdecision hotplug. Slightly fine tuned Interactive to scale conservatively in my usage. Going good. You may gain feedback from few more users and proceed to add great features mainly the Hotplug replacement by Intelliplug Thanks...!

intelliplug still in testing.. for some reason on my earlier test mode, the rom side give out many warning.. so i decided to stay with mpdecision.. mainly reason for this kernel is stability..

thanks for trying this kernel
The Following 3 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
26th March 2015, 10:09 AM |#11  
hurtsky's Avatar
OP Senior Member
Thanks Meter: 4,726
 
Donate to Me
More
update to version 2 / V2

In general update: -
- Add Faux Sound Control with Quality Preset in default thanks to Alin for the patch
- Update powersuspend to v1.5
- Add msm_hotplug
- Add conservative mode to rq_stats/mpdecision
- more patches stated in 2nd post

recommend setting
- conservative
- hotplug enable
- bfq (optional)
The Following 6 Users Say Thank You to hurtsky For This Useful Post: [ View ] Gift hurtsky Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes