[Galaxy S5 Mini Original Android Development] spookcity138:
/*
* 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 kernel
* before flashing it! YOU are choosing to make these modifications, DO NOT
* point the finger at me for messing up your device.
* this kernel is only for the S5 mini SM-G8OOF/M/Y (Exynos) Do Not Flash this on any other device!
*/

19-10-2017 * Updated to v6.0 * Changes are in red or can be seen at the bottom of this post in the changelog: I am always applying patches to hopefully improve the kernel,so check out the "Patches and tweaks applied" section for a better view of the changes as well.

Notes​

ALWAYS read the "Known Issues" section before flashing. I will add issues I have noticed or have been told about. Some may be VERY important. If you fail to do this and experience an issue that is listed I can not help you!

SELinux is set to permissive in this kernel. You can change this to enforcing at boot if you wish via an app like Kernel Adiutor-Mod

About voltage control: Setting frequencies that are unstable are going to cause lockups,freezes and reboots. This is NOT a fault in the kernel. My suggestion is to move the voltages up or down slowly (+/- 25) until you find some stable voltages that you're happy with.

Enough people were having problems with the 1.6ghz overclocked version that I've decided to release a non overclocked (1.5ghz) build as well. I would recommend trying the 1.6ghz and only if you experience a bootloop or instability then use the 1.5ghz version. I will not keep older versions of the 1.5ghz build up. Only the latest.

Having troubles deciding on a CPU governor or an I/O scheduler? Here is an amazing guide. All credits to Saber. Be sure to hit the thanks button. He obviously put a lot of time into that.

Features

Based on the latest Samsung kernel sources

Built an updated Sqlite3 (from version 3.9.2 -> 3.19.3 that will be pushed along with the kernel install (you can verify this by running "sqlite3 --version" in a terminal emulator before the new kernel install and then again after)

Compiled with self-built (ct-ng) UBERTC 8.0

Patched Linux to latest 3.4.113

Used anykernel2

Unlocked CPU frequencies: 200MHZ and 300MHZ

GPU overclocked to 600MHZ

CPU Overclocked to 1.6GHZ

CPU voltage control ( Max voltage =1500mV. Min voltage =600mV)

DriveDroid support (add sysfs entry for cdrom to LUNs)

Implemented zen-tune v4.5

Added CPU boost driver

Added PIE net scheduler

Added support for USB keyboards (You need This app)

Reduced vm_swappiness from 60 to 20

Added I/O scheduler switcher by sultanxda (changes the I/O scheduler for a specified request queue to Noop when the screen turns off in order to improve power consumption while the screen is off)

Added Fsync on/off

Added dynamic fsync

Added Dynamic management of dirty page writebacks (allows to have two different intervals for dirty page writebacks and to dynamically manage them when the system has been resumed (it's active) or when has been suspended - Not adjustable via Grarak's Kernel Adiutor app)

Proc: much faster /proc/vmstat

Full CIFS support ( Modules will be pushed with kernel install )

Introduced new flag WQ_POWER_EFFICIENT for power oriented workqueues ( Allows for power saving if selected in Kernel Adiutor ETC. )

Added /dev/frandom support ( It is yet to be implemented properly yet however )

Properly enabled faux123's powersuspend v2.5

Fading LED's

Enabled graphite

Enabled AIO

Readahead set to 512 (from 128 default)

Reverted "Enabled arch power" (There will be a switch to enable/disable this in the next build)

Many build flags for optimization

Added optimization flags for the GPU

Many more features being worked on and coming soon

Added CPU governors

- nightmare

- wheatley

- zzmoove

- dancedance

- darkness

- hyper

- lionheart

- ondemandplus

- bioshock

- pegasusq

- smartmax

- alucard (by alucard24)

- bluactive

- intelliactive (by faux123)

- intellidemand

Added CPU hotplug governors

- alucard hotplug (by alucard24)

- intelliplug hotplug (by faux123)

- thunderplug hotplug (by varun.chitre15)

- MSM Sleeper hotplug

- autoSMP hotplug

Added IO schedulers

- fiops

- sio

- zen

- fifo

- tripndroid

- bfq-v7r8

Added many TCP congestions

- reno

- vegas

- westwood and more

- Added the rest of the TCP congestions

- Westwood is now default TCP

Patches and tweaks applied include:

- Updated ARM topology and added cpu_power driver

- Input: Improve the events-per-packet estimate

- block/partitions: optimize memory allocation in check_partition()

- block: bfq-iosched: tuning for SSD (thanks to anarkia1976)

- cpufreq: Move get_cpu_idle_time() to cpufreq.c (This is important for CPU governors to work better/more efficiently with our kernel version-3.4)

- Fixed all the CPU governors to work properly with the Move get_cpu_idle_time

- cpufreq: Introduce new relation for freq selection (It selects the frequency with the minimum euclidean distance to target. In case of equal distance between 2 frequencies, it will select the greater frequency)

- cpufreq: conservative: Set MIN_LATENCY_MULTIPLIER to 20

- cpufreq-ondemand-Set-MIN_LATENCY_MULTIPLIER-to-20

- cpuidle-Get-typical-recent-sleep-interval

- cpufreq: Persist cpufreq time in state data across hotplug

- implement-LoUIS-API-for-cache-maintenance-operations

- ARM-kernel-update-cpu_disable-to-use-cache-LoUIS-maintenance API

- update-v7_setup-to-the-new-LoUIS-cache-main

- USB-gadget Optimize-tx-path-for-better-performance

- af_unix: speedup /proc/net/unix

- net/socket.c: fix: warning: 'sock/sock1/sock2' may be used uninitialized in this function

- fs/proc/array.c: make safe access to group_leader

- lib/memcopy: use glibc version (the kernel's memcpy and memmove is very inefficient. But the glibc

version is quite fast, in some cases it is 10 times faster than the kernel version)

- lib/string: use glibc version (same as above)

- lib/int_sqrt.c: optimize square root algorithm

- readahead: make context readahead more conservative

- sched-Fix-select_idle_sibling-bouncing-cow-syndrome

- sched-Implement-smarter-wake-affine-logic

- sched-Micro-optimize-the-smart-wake-affine-logic

- sched: Reduce overestimating rq->avg_idle

- power: make sync on suspend optional

- tcp: tweaked for speed

- writeback-fix-occasional-slow-sync

- writeback-fix-writeback-cache-thrashing

- wireless - bcmdhd - reduce scan dwell time to reduce power usage

- bcmdhd reduce wakelocks

- mutex-Queue-mutex-spinners-with-MCS-lock-to-reduce-cc

- mutex-Make-more-scalable-by-doing-less-atomic-operations

- ARM-use-generic-unaligned.h

- Kconfig-enabled-unaligned-capability-for-ARM

- decompressor-Enabled-unaligned-memory-access

- Optimized-ARM-RWSEM-algorithm

- ARM: Fixed negative idle stats for offline cpu

- disabled debugfs[/COLOR]

- mm: remove noisy remainder of the scan_unevictable interface

CONFIG_HZ=100 (reverted commit)

- Plus many more - Check my git repo for full details.

Sources

Known Issues

Installation

Feedback can also be posted[URL="https://github.com/Spookcity/ROMS-G800F/issues/12"]-------> Here[/URL]
Test builds will be released [URL="https://github.com/Spookcity/ROMS-G800F/issues/22"]-------> Here[/URL]

Download the latest build

Download older version

[URL="https://www.androidfilehost.com/?fid=745425885120759188"]Version 5.0[/URL]
[URL="https://www.androidfilehost.com/?fid=889764386195920916"]Version 4.0[/URL]
[URL="https://www.androidfilehost.com/?fid=673368273298972709"]Version 3.0[/URL]
[URL="https://www.androidfilehost.com/?fid=889764386195913162"]Version 2.0[/URL]
[URL="https://www.androidfilehost.com/?fid=889764386195911617"]Version 1.0[/URL]

Huge credit and many thanks to:

Hennymcc,Ayke,Psyafter,mirhciulica,ctxZ,DjSteve,CurtisMJ,osm0sis,Archidroid,Chet Kener,andip71,faux123,flar2,ZaneZam,anarkia1976,AndreiLux,Yank,Francisco Franco,Sultanxda,varun.chitre15

Big thanks for testing and giving feedback:

Oleggluk,StanleyNL,Mikahlo,Guntzog

and any others as I'm sure I am forgetting people.

CHANGELOG

01-09-2017 - Released Version 6.0

- Added MSM Sleeper hotplug
- Reduced vm_swappiness from 60 to 20
- Added intellidemand governor
- Added autoSMP hotplug
- Added CPU boost driver
- Proc: much faster /proc/vmstat
- Cpufreq: Persist cpufreq time in state data across hotplug
- Reverted "enable arch power"
- mm: remove noisy remainder of the scan_unevictable interface
- net/socket.c: fix: warning: 'sock/sock1/sock2' may be used uninitialized in this function

01-09-2017 - Released Version 5.0

- Removed ROW I/O scheduler
- Added I/O scheduler switcher by sultanxda
- Added PIE net scheduler
- Added support for USB keyboards
- Properly enabled faux123's powersuspend v2.5
- Added dynamic fsync
- Added optimization flags for the GPU
- Enabled AIO
- Reverted a couple of HZ related commits
- Added intelliactive governor
- Added intelliplug hotplug driver
- Added thunderplug hotplug driver
- Added Dynamic management of dirty page writebacks
- Fixed voltage control on 1500MHZ version
- Fixed alucard governor
- Fixed ondemandplus governor
- Fixed bluactive governor
- ib/int_sqrt.c: optimize square root algorithm
- af_unix: speedup /proc/net/unix
- wireless - bcmdhd - reduce scan dwell time to reduce power usage
- bcmdhd reduce wakelocks
- readahead: make context readahead more conservative
- block/partitions: optimize memory allocation in check_partition()
- power: make sync on suspend optional
- block: bfq-iosched: tuning for SSD

05-08-2017 - Released Version 4.0

- Added 1.5GHZ version
- Added voltage control
- DriveDroid support
- Implemented zen-tune v4.5
- Full CIFS support
- Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
- Added Fsync on/off
- Added ROW I/O sheduler
- Added BFQ-v7r8 I/O scheduler for 3.4 kernel
- Added Blu_active CPU governor
- block: disabled add_random
- tweaked build flags
- many workqueue related patches
- tcp: tweaked for speed
- CONFIG_HZ=300
- fs/proc/array.c: make safe access to group_leader
- disabled debugfs

19-07-2017 - Released Version 3.0

-GPU overclocked to 600MHZ
-Updated Sqlite3 to version 3.19.3 from 06-08-2017
Added CPU governors
-bioshock
-pegasusq
-smartmax
-alucard
-alucard hotplug
-Added the rest of the TCP congestions
-cpufreq: Move get_cpu_idle_time() to cpufreq.c
-Fixed all the CPU governors to work properly with the Move get_cpu_idle_time
-Added /dev/frandom support
-cpufreq: Introduce new relation for freq selection
-lib/memcopy: use glibc version
-lib/string: use glibc version
-
03-07-2017 - Released Version 2.0

-GPU overclocked to 533MHZ
Added CPU governors
-dancedance
-darkness
-hyper
-lionheart
-ondemandplus
Added IO schedulers
-fifo
-tripndroid
Added many TCP congestions
-reno
-vegas
-westwood
-etc.

26-06-2017 - Fix "unsupported device" when flashing in TWRP 3.1.1.0

23-06-2017 - Initial release

Enjoy!

XDA:DevDB Information

[KERNEL] [G800F/M/Y] Spookcity_Kernel-N (For all 7.x custom ROMS), Kernel for the Samsung Galaxy S5 Mini

Contributors

spookcity138

Kernel Special Features:

Version Information

Status: Beta

Created 2017-06-23

Last Updated 2017-10-19