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 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.
- 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
- Setting alucard hotplug along with certain other governors at boot via kernel adiutor etc can cause a reboot after setting is applied. So be certain to set the "delay" time in kernel adiutor or similar to 10 seconds or more,so if you have this you are able to cancel and change after a reboot.
- There is a chance of some settings being reset after flashing the kernel (quick setting,sound,statusbar etc.) This is rather insignificant and all settings that have been changed can be set back in minutes.
I HIGHLY recommend that you do a full backup before flashing this kernel. I am not responsible if you lose any or all of your data.
1.Download "Spookcity_Kernel-N"
2.Place the zip onto your phones storage
3.Reboot into recovery (Volume-Up + Home + Power button)
4.Select install
5.Flash the downloaded kernel
6.Go back a few times in TWRP Select wipe -> Advanced wipe and wipe Dalvik/Art cache and the cache partition.
If you do not do this you are very likely to experience strange issues.You have been warned.Do not report problems if you did not do this.
7.Reboot
Code:
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
Code:
[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]
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
HTML:
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
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
Last edited: