[Nexus 5 Q&A, Help & Troubleshooting] Crytech:
[IMG="Banner for the thread"]http://i.imgur.com/dMMDDDr.png[/IMG]

This thread has been created to facilitate users about HellsCore Kernel, probably the best kernel for our Nexus 5. This thread is AIO thread i.e. for Q&A, SUPPORT, UPDATES, ETC.

This kernel is made by hellsgod and not me, so technically device requests, kernel issues should directly address to him instead of me.
​

<!-- Download Links: --!>

Beta 20 from Basketbuild

<!-- Changelog: --!>

[COLOR="#3F51B5"] !-- b20 for 6.0.1 [/COLOR]
-merged some memorymanagement related stuff
-merged some changes from franco to allow HZ=300 - like the newer devices (N6/N5X/N6P)

[COLOR="#3F51B5"] !-- b16 for 6.0.1 [/COLOR]
-updated to latest aosp kernel source (android 6.0.1)

[COLOR="#3F51B5"] !-- b11 M [/COLOR]
SuperSU 2:50 Allows root without SELinux permissive, so I reverted the previous SELinux hack. Please read this short guide for gain root access: [URL="http://hc-kernel.blogspot.ch/2015/10/android-m-how-to-gain-root.html"]HOW TO GAIN WITH ROOT SUPERSU 2:50[/URL]
-reverted SELinux hack

<!-- Older changelogs: --!>

[COLOR="Blue"][B]b15 for Lollipop:[/B][/COLOR]
-merged 5.1.1 sources (only one commit)
-hellsactive: Add input logic

[COLOR="Blue"][B]b11 for Lollipop:[/B][/COLOR]
-crypto fixes
-fs fixes
-compiled with latest UBERTC

[COLOR="Blue"][B]b9.5 UBERTC for Lollipop (Test build):[/B][/COLOR]
-compiled with UBERTC
-build flags optimizations
(You can check stats/results here - [URL="http://goo.gl/WXzO8k"]http://goo.gl/WXzO8k[/URL] and use only Dropbox link for now.)

[COLOR="Blue"][B]b9.4 for Lollipop:[/B][/COLOR]
-merged many commits from upstream/mainline to improve several subsystems
-merged new KCAL color control by @savoca You can play around with it with this app: [url]http://goo.gl/FM9oHi[/url]

[COLOR="Blue"][B]b8.5 for Lollipop:[/B][/COLOR]
-Rebased sources
-Removed most of the IPv4/IPv6/Net patches from new LMK and OOM patchset
-Some improvements for the scheduler
-Binder: synced with Upstream/Mainline
-Android logger: improvements
-Maybe some things that even Laurent forgot :p

[COLOR="Blue"][B]b8.0 for Lollipop:[/B][/COLOR]
-some love for interactive/hellsactive
-msm-sleeper: use ex_max_freq
-misc fixes from upstream (3.4.y)
-revamp spinlock ASM code
-try a new build flag (floop-nest-optimize)
-little fixes from caf

[COLOR="Blue"][B]b7.7 for Lollipop:[/B][/COLOR]
-sched/nohz/irq/genirq optimizations from linux mainline
-some optimizations from caf

[COLOR="Blue"][B]b7 for Lollipop:[/B][/COLOR]
-removed msm_mpdecision input boost framework
-added cpu-boost driver for touch boost and cpu-boost
-sched: Make scheduler aware of cpu frequency state
-optimizations for cpu-boost and window based load
-set touch boost to 1190mhz
-decreased duration from 1s to 500ms
-cpufreq: hellsactive: set hispeed_freq from 1190mhz to 1497mhz
-cpufreq: cpu-boost: set sync_threshold to 1728mhz
-cpufreq: cpu-boost: set migration_load_threshold from 15 to 30
-mm/writeback/vfs fixes from upstream and caf
-iommu fixes
-usb/usb subsystem/scsi/net and other misc fixes from upstream

[COLOR="Blue"][B]b6.5v3 for Lollipop:[/B][/COLOR]
-Reverted all the bus changes

[COLOR="Blue"][B]b6.5v2 for Lollipop:[/B][/COLOR]
-reverted the new krait regulator system
-reverted two sched patches
-added two good looking patches for hellsactive and interactive
-disabled some debugging and not needed features

[COLOR="Blue"][B]b8.6 for Kitkat/b5.6 for Lollipop:[/B][/COLOR]
-scheduler fixes
-some missing arm patches (fix for the reboot issue some encountered)
-other little fixes here and there ([URL="http://goo.gl/9gE0T0"]refer to git for exact changelog[/URL])
-removed power efficiency patchset, because its only for armv8

[COLOR="Blue"][B]b8:[/B][/COLOR]
-Several ARM patches for suspend/cacheflush/MPU
-New build flags
-kgsl: Wakeup only for touch events (to make sure the input event handler is called only for touch inputs)
-mdss fixes from CAF
-New slimbus changes from CAF
-camera: Fixes
-Fixes and improvements here and there (refer to git)

[COLOR="Blue"][B]b6.9:[/B][/COLOR]
-merged some patches from nvidia for a better power efficiency (could save some battery)
-arm: lib: Using hard-float (maybe some little performance gain)
-reverted the arm topology (to merge a newer version of it)
-merged new arm topology (more efficiency)
-added a sysfsinterface to enable and disable gentle fair sleepers (disabled by default - maybe improves UI smoothness)
-added a sysfsinterface to enable and disable arch power (disabled by default - could give some more efficiency by screen on, but drains more battery in standby)
-removed sched_mc (because its broken since forever and nobody really cares to fix it)
-cpufreq: hellsactive: removed unused boostpulse interface
-cpufreq: hellsactive: the governor now jumps only to two phase freq if cur_freq >= hispeed_freq to avoid unnecessarly jumps from min_freq (could save some battery)
-scheduler patches from upstream, some backports from faux (could improve battery under heavy load)
-mm: Adjust dirty writeback for IO boost (maybe drains some more battery, but could improve IO)
-fs: dcache: set vfs_cache_pressure 40% (maybe some little more IO boost)
-some new compiler voodoo (could improve overall performance, smoothness, efficiency...)
-some other little things here and there but not so important to mention...

[COLOR="Blue"][B]b6.1:[/B][/COLOR]
-msm_mpdecision: a tad more conservative
-smp fixes
-ARM fixes
-cpuidle/PM fixes
-msm_thermal: update
-mm/vmscan fixes
-random fixes
-memcpy optimizations for cortex A15
-Bluetooth fixes
-New touch screen drivers

[COLOR="Blue"][B]b5.0:[/B][/COLOR]
-i2c
-SoundControl
-kthread
-SELinux
-sched
-cgroup

For exact changelog, check git.

[COLOR="Blue"][B]b4.4:[/B][/COLOR]
-New governor: hellsactive*
-cpufreq patches (logic and leaks, typos)
-some fixes here and there
-msm-sleeper: save previous max freq
-compiled with boostedtc 4.9.2 by @aznrice2k4

*hellsactive:
-Based upon intelliactive
-removed input boost (we have an input boost in the hotplug driver)
-removed sync feature
-removed sampling down factor

Following was added:

-Align timer windows for all CPUs*
It's more advantageous to evaluate all CPUs at same time so that interactive governor gets a complete picture of the load on each CPU at a specific time. It could also reduce number of speed changes made if there are many CPUs controlled by same policy. In addition, waking up all CPUs at same time would allow the cluster to go into a deeper sleep state when it's idle.
-Reset last evaluated jiffy in idle callback*
When CPU has been busy for a long time, last evaluated jiffy will be quite behind because the timer would have been canceled. We don't want to schedule a timer to fire in the past as load will always be 100%. Reset last evaluated jiffy so that timer will be scheduled for thenext window.
-Round up timer_rate to match jiffy*
Timers are scheduled in unit of jiffies. Round up timer_rate so that it matches the actual sampling period.
-Use del_timer/add_timer_on to rearm timers*
Replace mod_timer_pinned() with del_timer(), add_timer_on(). mod_timer_pinned() always adds timer onto current CPU. Interactive governor expects each CPU's timers to be running on the same CPU. If cpufreq_interactive_timer_resched() is called from another CPU, the timer will be armed on the wrong CPU.
Replacing mod_timer_pinned() with del_timer() and add_timer_on() guarantees timers are still run on the right CPU even if another CPU reschedules the timer. This would provide more flexibility for future changes.
-Support variable frequency calculations**
Use a threshold value up to which we are evaluating the current speed weighted by current load against each new choice of speed. Above switch to the original frequency calculation proportional to load relative to the max possible frequency which allows for more dynamic and fair changes.
Default threshold is policy->min which guarantees minimal freqs and energy usage during (offloaded) media playback.
Also, choose the highest frequency below or at target, which generally saves us one freq level.
-Don't scale beyond min if the load is low***
-Thread migration commit***

I've just made some changes on commits to suit my needs.

<!-- Follow: --!>

Official Blog / Google+ community / Laurent Hess aka hellsgod