Silence[sense][Kernel][5.0.2] - Sprint HTC One (M7)

Bad Seed Customs Proudly Presents:
The Silence
What is a kernel?
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
FEATURES
DT2W
BB mod
Cpu governors -conservitive, powersave, performance, lionheart, baddass, and ondemand
IO schedulers - fiops, cfq, sio, zen, vr, deadline, and noop
Sweep2wake -see sysfs entries
Logo2menu-see sysfs entries
Linaro arm topology
Compiled with the latest Linaro 4.7 toolchain - this is usually updated once a month here http://www.linaro.org/downloads/
Linaro -O3 optimized with extra build flags
Thermal control
USB Forced Fast Charge
Code:
CHANGELOG
Release 2/13/15
update to Lollipop
Release-2 (1/20/14)
sched: Reset rq->next_interval before going idle
reduce regulator constraints to allow undervolting to 800
add sysfs vdd
switch do_fsync() to fget_light()
mm: remove swap token code
readahead: make context readahead more conservative
reduce packet delay to try andreduce wakelocks
Release 1 (1/12/14)
reduce l2 cache
and moar changes to sound control
moar changes to sound control
more changes to sound control
update sound control
soundcontrol
update defconfig
sched: reinitialize rq->next_balance when a CPU is hot-added
Make word-at-a-time a truly generic interface
MEM: allow lowmem to be non contiguous and mixed
ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
oc slimbus (thanks poondog)[better audio]
optimized sq root algorithm
lower l2 cache for OC freq
change load average computation in rq stats
manage online cpus
address issue where cpus forget their clock speeds
add CPalmer's thermal driver
add BadAss CPU gov
remove some perflock code
add CPU OC option (coming soon)
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
add vr sio zen schedulers
change clocks once again to better use new step
change clocks once again
change clocks once again
lower l2 cache 1 more freq
lower l2 cache 1 freq
clock adjustment
further boost l2 chache
boost gpu clock (3d)
boost gpu clock
further boost l2 cache
fix race that cause writeback hung
add bb mod from tbalden
boost l2 cache
add dynamic fsync
increase gpu bandwidth
[patch] sched: minimalist select_idle_sibling() bouncing cow syndrome… …
increase read ahead value
update topology driver
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
Fix occasional slow sync(1)
tweak load average
LIB: ARM: use generic strnlen_user and strncpy_from_user
LIB: ARM: use generic strnlen_user and strncpy_from_user
makefile addition
fix possible memmory leak cfg80211
make vfs pressure configurable
sched/nohz: Fix rq->cpu_load calculations some more
sched/nohz: Fix rq->cpu_load[] calculations
sched: Fix nohz_idle_balance()
sched: Change rq->nr_running to unsigned int
sched.fair improve the group logic
Autogroup patch group by current user android UID
patch from caf
Support cpu hotplug in no PM cases
sched: fix init NOHZ_IDLE flag
sched: Improve scalability via 'CPU buddies'
ARM RWSEM algorithm
tweak writeback ratios
optimize slack
allow pipe compiling
ARM: net: JIT compiler for packet filters enabled by default
add some makefile flags
Enable UNALIGNED_ACCESS for the new LZO algorithm to use
update LZO
glibc memcpy and stringcpy
avoid depleting of entropy pool
increase random number generator rate
vfp optimization
add s2w,dt2w with pocket detection and custom config
Thanks
tBalden
Flar2
NIN
NOT RESPONSIBE IF YOU BRICK,DROP,LOSE YOUR DEVICE. FLASH AT YOUR OWN RISK
DOWNLOAD
http://d-h.st/DH61
If you like my work don't hesitate to buy me more coffee
DONATE
My Source per GPL
XDA:DevDB Information
Silence, Kernel for the Sprint HTC One
Contributors
thicklizard
Source Code: https://github.com/thicklizard/GPEweepingangel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: Release 1
Stable Release Date: 2014-01-12
Created 2014-01-13
Last Updated 2015-02-19

Awesome work
Sent from my HTC6500LVW using XDA Premium 4 mobile app

Now my phone is complete
Great work TL

thicklizard said:
Bad Seed Customs Proudly Presents:
The Silence
What is a kernel?
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
FEATURES
DT2W
BB mod
Cpu governors -conservitive, powersave, performance, lionheart, baddass, and ondemand
IO schedulers - fiops, cfq, sio, zen, vr, deadline, and noop
Sweep2wake -see sysfs entries
Logo2menu-see sysfs entries
Linaro arm topology
Compiled with the latest Linaro 4.7 toolchain - this is usually updated once a month here http://www.linaro.org/downloads/
Linaro -O3 optimized with extra build flags
Thermal control
Code:
CHANGELOG
Release 1 (1/12/14)
reduce l2 cache
and moar changes to sound control
moar changes to sound control
more changes to sound control
update sound control
soundcontrol
update defconfig
sched: reinitialize rq->next_balance when a CPU is hot-added
Make word-at-a-time a truly generic interface
MEM: allow lowmem to be non contiguous and mixed
ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
oc slimbus (thanks poondog)[better audio]
optimized sq root algorithm
lower l2 cache for OC freq
change load average computation in rq stats
manage online cpus
address issue where cpus forget their clock speeds
add CPalmer's thermal driver
add BadAss CPU gov
remove some perflock code
add CPU OC option (coming soon)
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
add vr sio zen schedulers
change clocks once again to better use new step
change clocks once again
change clocks once again
lower l2 cache 1 more freq
lower l2 cache 1 freq
clock adjustment
further boost l2 chache
boost gpu clock (3d)
boost gpu clock
further boost l2 cache
fix race that cause writeback hung
add bb mod from tbalden
boost l2 cache
add dynamic fsync
increase gpu bandwidth
[patch] sched: minimalist select_idle_sibling() bouncing cow syndrome… …
increase read ahead value
update topology driver
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
Fix occasional slow sync(1)
tweak load average
LIB: ARM: use generic strnlen_user and strncpy_from_user
LIB: ARM: use generic strnlen_user and strncpy_from_user
makefile addition
fix possible memmory leak cfg80211
make vfs pressure configurable
sched/nohz: Fix rq->cpu_load calculations some more
sched/nohz: Fix rq->cpu_load[] calculations
sched: Fix nohz_idle_balance()
sched: Change rq->nr_running to unsigned int
sched.fair improve the group logic
Autogroup patch group by current user android UID
patch from caf
Support cpu hotplug in no PM cases
sched: fix init NOHZ_IDLE flag
sched: Improve scalability via 'CPU buddies'
ARM RWSEM algorithm
tweak writeback ratios
optimize slack
allow pipe compiling
ARM: net: JIT compiler for packet filters enabled by default
add some makefile flags
Enable UNALIGNED_ACCESS for the new LZO algorithm to use
update LZO
glibc memcpy and stringcpy
avoid depleting of entropy pool
increase random number generator rate
vfp optimization
add s2w,dt2w with pocket detection and custom config
Thanks
tBalden
Flar2
NIN
NOT RESPONSIBE IF YOU BRICK,DROP,LOSE YOUR DEVICE. FLASH AT YOUR OWN RISK
DOWNLOAD
stock frequency
http://d-h.st/yLS
Coming soon
OC Kernel (You will need to use an app like trickstermod that has frequency lock otherwise cpu will default to max. Trickstermod has worked perfectly for this for me)
If you like my work don't hesitate to buy me more coffee
DONATE
My Source per GPL
XDA:DevDB Information
Silence, a Kernel for the Sprint HTC One
Contributors
thicklizard
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: Release 1
Stable Release Date: 2014-01-12
Created 2014-01-13
Last Updated 2014-01-12
Click to expand...
Click to collapse
Working great on RENOVATE 7.0, thanks.

Amazing work, TL!
Sent from my HTCONE using Tapatalk

Solid on my phone rn
Sent from my HTCONE using Tapatalk

Working great here
Sent from my HTCONE using xda app-developers app

Hell yeah TL!
Sent from my GT-N5110 using Tapatalk

Is there a huge difference between badass vs ondemand first time using badass was just curious? Which is better for battery life
Sent from my HTCONE using xda app-developers app

Badass will have better battery life
Sent from my HTCONE

Great work as usual thick!
Sent from my HTCONE using Tapatalk

Thanks for the reply badass actually seems more snappy then ondemand phone is flying
Sent from my HTCONE using xda app-developers app

I also forgot to include in the op. This includes more tcp congestion algorithms. These can be changed easily with trickstermod. Here is a link with info
http://en.m.wikipedia.org/wiki/TCP_congestion-avoidance_algorithm
Sent from my HTCONE

thicklizard said:
I also forgot to include in the op. This includes more tcp congestion algorithms. These can be changed easily with trickstermod. Here is a link with info
http://en.m.wikipedia.org/wiki/TCP_congestion-avoidance_algorithm
Sent from my HTCONE
Click to expand...
Click to collapse
Which tcp control do u suggest tl or just leave it on cubic?
Sent from my HTCONE using XDA Premium 4 mobile app

THADDIUS25 said:
Which tcp control do u suggest tl or just leave it on cubic?
Sent from my HTCONE using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I prefer Westwood
Sent from my HTCONE

I'm experimenting with Vegas so far blazing fast
Sent from my HTCONE using xda app-developers app

Im new to dealing with kernels. I dont really know what to mess with. The only things Ive changed are the TCP Congestion Control and the Govenor to Badass just to test. Is there any other suggestive settings to control?

Just a question. Im new to these kernels and stuff.
Correct me if im wrong. Custom Kernels are better then Stock? How?
What settings should i change esp if i want to have more battery life?

kianjhay03 said:
Just a question. Im new to these kernels and stuff.
Correct me if im wrong. Custom Kernels are better then Stock? How?
What settings should i change esp if i want to have more battery life?
Click to expand...
Click to collapse
It's all personal preference. This kernel will give you many more options than a stock kernel. With different cpu governors better battery life can be achieved. This should offer a better audio experience. Should be smoother while gaming.
Sent from my HTCONE

thicklizard said:
It's all personal preference. This kernel will give you many more options than a stock kernel. With different cpu governors better battery life can be achieved. This should offer a better audio experience. Should be smoother while gaming.
Sent from my HTCONE
Click to expand...
Click to collapse
If its not too much any recommendation? i just want a better battery life and no lags. im not gaming on my phone. Much appreciated! Thank You!

Related

[Q] some question about new kernel for Raider 4G (not in XDA)

# ChangeLog
v1.2
compiled with linaro toolchain 4.7-12.12
[CPU] Adjust voltage value
[THERMAL] Add MSM thermal sensing and limiting
[PATCH] Patching Linux from 3.0.51 to upstream 3.0.56
v1.1
compiled with linaro toolchain 4.7-12.10
[CPU] Support 1.7GHz OC and Change freq table voltage value
[CPU] Adjust min/max voltage value as 75000/130000
[CPU] Add Badass Governor (Support 2 and 3 Phases and GPU_Control)
[GPU] Support Level3 GPU OC
[CMDLINE] Add cmdline : governor, minkhz, maxkhz, maxscroff, gpu, scheduler
[CPU] Fix CPU Alignment
[CPU] Remove perflock hacks from Kconfig
[CONFIG] Set min/max khz and disable perflock
[I/O] tweaked deadline for better performance on android
[CONFIG] Change default I/O scheduler is sio
[CONFIG] Enable Google snappy ZRAM
[MM] Implemented Google snappy compression / decompression
[CONFIG] Enable USB-OTG
[USB-OTG] Take wakelock when VBUS present and add ehset.c
[VFP] Build vfp with neon optimizations
[PATCH] Patching Linux from 3.0.46 to upstream 3.0.51
v1.0
compiled with linaro toolchain 4.7-12.09
Add Sweep2Wake
[PATCH] Patching Linux from 3.0.16 to upstream 3.0.46
[Fix] Fix to compile with linaro gcc 4.6.x & 4.7.x
[GOV]Add Governor: SmartassV2, lazy, ,intellidemand ,Wheatley ,Lionheart ,SavagedZen ,Scary
[I/O]Add I/O Scheduler: BFQ, ,SIO ,VR
[CPU] Add VDD table Interface
[CONFIG] Perform Snapdragon optimizations by adding make params
[CONFIG] Add compile level o2, o3 optimization, set o3 as default
[CPU] Implemented kernel based mpdecision
[MACH] USB Fast Charge v3.1
[GOV] ondemand governor various tweak
[I/O] Update BFQ Scheduler to v4
[MM] Optimize SLUB
[BOARD] Lower down Wi-Fi voltage from 28 ~ 29 to 24 ~ 25
netfilter: xt_log.h: fix warning: value computed is not used
[I/O] bfq: prevent aliased requests from starving I/O
CFS Scheduler tweaks brought over
[I/O] ratio for deadline io, more like noop fifo_batch = 1
[MM] adjust vm ratios
[MM] increase max readahead 1040 and min readhead 32
Tweak Audio Buffers For Beats
Disable GENTLTE_FAIR_SLEEPERS for better performance on Android
Allow Low-wifi Signals
[MM] lowmemkiller add Fugeswap
[CONFIG] Enable SWAP, CISF, NLS_UTF8. NTFS, PPP_SYNC_TTY, PPP_ASYNC and fix CIFS for gcc 4.7.x
[BOARD] Lower flash/flashlight threhold to 5% of battery power (from 15%)
htc battery core fixing htc mistake
lib/sha1: use the git implementation of SHA-1
[DRIVER] cpu/address issue where cpus forget their clock speeds
[CPU] Allow CPU-based alignment handling
# Current KERNEL Settings
Available CPU freq :
192, 384, 432, 486, 540, 594, 648, 702, 756, 810, 864, 918, 972,1026, 1080,
1134, 1188, 1242, 1296, 1350, 1404, 1458, 1512, 1566, 1620, 1674, 1728, (MHz)
Available Governor :
badass (Support 2 and 3-Parse and GPU Control), SavagedZen
wheatley, intellidemand, lazy, smartassV2, interactive, conservative,
userspace, powersave, Lionheart, ondemand, performance
Available I/O Scheduler :
noop, deadline, sio, cfq, bfq, vr
Default max-min clock :
1512000 - 192000
Defalut Governor :
ondemand
Default I/O Scheduler :
sio
Thermal Settings:
LOW :
58-53 / 1350000
MEDIUM :
69-59 / 1296000
HIGH :
76-70 / 918000
Sampling : 1000
look at this
in v1.1 and v1
say support usb OTG and ntfs
it means if i attach a flash with external power. it can be load ?
That's what it looks like! Give it a whirl and let us know! Also, please PM me the link if you'd be so kind.
Aosp or sense?
Sent from my Vivid 4G using Tapatalk 2
i find it in rootzwiki for new korean rom
ICS 4.0.4 - sense 4.1 - with above kernel - (working ril :cyclops
i downloading this, speed is low (20kbit)
i test and if work inform you
can you help me about usb OTG. in above chengelog usb OTG means you can use usb device with external power or not ?
edit: i download it, work fine and nice
i go find usb y cable to test
l0000l said:
i find it in rootzwiki for new korean rom
ICS 4.0.4 - sense 4.1 - with above kernel - (working ril :cyclops
i downloading this, speed is low (20kbit)
i test and if work inform you
can you help me about usb OTG. in above chengelog usb OTG means you can use usb device with external power or not ?
edit: i download it, work fine and nice
i go find usb y cable to test
Click to expand...
Click to collapse
Let us know if the cable works
Sent from my HTC Vivid 4G
ZeRo2o9 said:
Let us know if the cable works
Sent from my HTC Vivid 4G
Click to expand...
Click to collapse
I don't understand some devs now days. Like really. If your gonna be a dev then what ever you make files or what ever that sort should have a time period on how long they can keep it to there selves.... People are just greedy... And the way I see it is that if the Korean devs are not gonna post it on xda then no matter if they created it or not, people should be able to port from it to benefit the community. We shouldnr be thinking for our selfs. I mean yeah they worked there a** off, and its there work but yet you should be decent and think for everyone.
24ky said:
I don't understand some devs now days. Like really. If your gonna be a dev then what ever you make files or what ever that sort should have a time period on how long they can keep it to there selves.... People are just greedy... And the way I see it is that if the Korean devs are not gonna post it on xda then no matter if they created it or not, people should be able to port from it to benefit the community. We shouldnr be thinking for our selfs. I mean yeah they worked there a** off, and its there work but yet you should be decent and think for everyone.
Click to expand...
Click to collapse
It's not the Koreans - they willingly offered up a link via PM. The issue is it includes closed source Venom Tweaks, which they did not obtain permission to port. The venom team (understandably) doesn't want this unofficial port posted. Until the stuff that is venom is removed (which is twisted ALL up in the framework), it won't be released.
Edit: I just reread your post and I may have misunderstood the first time. I think I get what you're saying
i use this and make a usb y cable
http://forum.xda-developers.com/showthread.php?t=1828032
but otg not work for me :crying:
i think this attached file must change.(maybe i'm wrong)
anyone can help me (i don't know how)
edit : this is not. i test but not answer

[KERNEL][14/07] NX-Kernel v1.4.2

STOP! This kernel supports ONLY CM10.1.x, AOKP-4.2.2, PA-4.2.2 ROMs.
It won't work on Samsung Jellybean/ICS, AOSP ICS, CM9 or CM10.
Carbon ROM may be incompatible with NX-Kernel.
✯ ✯ ✯ ✯ ✯ NX - KERNEL ✯ ✯ ✯ ✯ ✯
... because we deserve more ...​
Description:
Welcome folks! NX-Kernel is highly advanced kernel for pure android ROMs. It is under continuous development with new features along with integration of new linux kernel.
NX-Kernel auto-installs NXTweaks app. This app based on STweaks by GokhanMoral. This app is core of this kernel. It will help you to fine-tune and get total-control over your kernel.
Touch-sensitivity, GPU, CPU, Kernel, mDNIe, Charging currents, etc already tweaked and controllable by NXTweaks.
Dynamic Tweaks enabled by CortexBrain will help you to save power and increase performance at the same time! It gives dynamic tweaks based on screen on or off.
Use it to experience it! You can read more features below.
One more thing, I would like everyone to know - Only Kernel is not responsible for your device.
Device configuration, ROM, installed app, usage plays important role!
If you believe kernel is not stable, move on because it's probably you who are unaware how to use kernel.
Features:
✔ Kernel version updated to 3.0.86
✔ Linaro Build Kernel (Much better performance, search on XDA to know more)
✔ Auto-installs kernel tweaking app "NXTweaks" based on STweaks source by GM.
✔ Governors included: HYPER (default-tested), HYDRXQ, Lulzactiveq, Pegausq, SmartAssv2, Adaptive, Conservative, Interactive, Ondemand, Userspace, Powersave, Hotplug, LagFree, Nightmare, Intellidemand
✔ I/O Schedulers included: BFQ, CFQ, NOOP, DeadLine, ROW(default), SIO, ZEN
✔ Overclocked to 1.6GHz (1.4 GHz default, overclocking is optional).
✔ GPU Control interface. Can be overclocked upto 400 MHz!!!
✔ Charge Control Interface. Find it NXTweaks app to increase/decrease charging current.
✔ mDNIe Screen Control Advance Interface
✔ CPU Control Interface
◢ Sound Control Interface - Sound Boost for mic, headphone and more Removed on demand.
✔ Charge Control Interface - Increase/Decrease charging current for USB, AC and Misc
✔ Massive script for kernel/ROM management. It's will work auto and set lots of tweaks: NET tweaks, GPU tweaks, CPU management, Deep Sleep Tuning, Charging states, and more! We call it CortexBrain!
✔ Swappiness is set to 0 in zram-swap script. With ZRam is in action while you run out of memory.
✔ CortexBrain integrated - Gives dynamic tweaks on screen on/off
✔ ZRam Settings on-the-fly
✔ Fully customized RAM-DISK to inherit more optimization
✔ Working FM-Radio with Spirit FM app.
✔ Optionally loadable XBOX controller, USB-to-Serial and many more modules.
✔ Fuel-Gauge Reset
✔ Low Sound fixed. Enjoy more gain to your music and other media.
✔ Frequency adjustable under Performance Control or any relative app.
✔ Battery friendly. Less wakelocks.
✔ Init.d script tweaks: Smart & Fast Zipalign, Database compaction and optimization
✔ UMS and MTP mode can be selected on-the-fly from NXTweaks
✔ No depletion of entropy pool - Increases performance of app loading.
✔ Entropy Tweaks
✔ Philz Touch recovery - Latest
✔ Dyanamic FSync -- Disabled for now
✔ Supports Tegrak 2nd core app for hotplugging.
✔ Ultra KSM from 3.9.y kernel.
✔ Many fixes & upgrades viewable on github source.
Links:
▷ Download Here | http://www.mediafire.com/?0p1do44rqfur5 (Go ahead. Unleash.)
▷ Kernel Source | https://github.com/neobuddy89/NX-Kernel-exynos4
▷ Ramdisk Source | https://github.com/neobuddy89/NX-initramfs
Warning:
◢ In case your device auto-reboots while flashing ANYTHING, you need to reflash it!!
◢ It's your device. It's your responsibility for what you flash. Do not blame us.
Credits:
▷ CyanogenMod Team
▷ Andrei Lux
▷ Temasek
▷ Gokhan Moral
▷ Dorimanx
▷ Voku
You may post anything related kernel. Make sure to mention ROM name, Governor name, IO Scheduler name.
Feature request is served if feasible.
How to obtain optimum battery life?
▷ If you are comparing/complaining battery life on NX, CM, touchwiz kernels, NX is not for you, stay with CM/touchwiz.
▷ NX Kernel is more performance driven and little less battery saver compared to CM Kernel.
▷ This is because we use 16 dynamic frequency steps, high performance governor, and advance features.
▷ In case you overclock CPU or even GPU, you are tend to have less battery life. So don't overclock if you wish battery over performance.
▷ Do not undervolt too much, it starves your device and may have adverse effects like SOD/freeze/soft reboot.
▷ There is a app named 'Battery Widget Reborn', use it and enable Night Mode Power save.
▷ One more app 'Fast Dormancy Toggle for I9300', use it if your network doesn't provide dormancy. Google for more info.
▷ Don't keep monitoring battery every now and then. Treat it good.
▷ Have full battery-charge cycles 2-3 times in a week which means when battery drains below 20%, charge it to 100% without interruption.
▷ Sign out google talk / hangout if you don't use, it drains power.
▷ Wakelocks is another enemy if they come unnecessarily from installed apps. You can monitor with very good app named 'Better Battery Stats', it's paid app.
▷ Use Performance/Extreme Performance profile from NXTweaks only when required, restore default whenever possible.
▷ It is highly recommended to turn off AUTO SYNC option day time and use it only when charging.
▷ Even your touch-screen drains power when screen on. Never use full brightness. Use auto-brightness or low brightness.
If you follow these advice atleast for a week, you will have optimum battery life!
In case you have SOD (Sleep of death) or SOFT Reboot, please check following:
✔ Minimum Frequency should not be less than 200 MHz
✔ You are using stock settings for voltages and haven't undervolted
✔ Default Governor is stable one, recommended to use for good stability
✔ You haven't installed or have activated any apps or scripts which interrupt settings of NXTweaks
✔ Similarly, do not use apps that implements profiles like 'screen off' , 'on call', etc
WiFi Issues? Follow the below steps:
▷ Open WiFi Advanced Options. In region, select any region and then select US. This may not be available on all ROMs.
▷ Open NXTweaks, under Tweaks Tab, tap on "Clear WiFi Lease" button.
▷ Under Charging Currents Tab, tap on "Reset Fuel Gauge"
▷ Reboot in recovery, Fix permissions.
If you still face issue, clean install good compatible AOSP ROM + Gapps, (optionally flash NXKernel), follow above steps.
If issue persists, you may need to get hardware checked.
Topic explaining all basic Governors & I/O Schedulers: Click Here
Default Governor:
Hyper - The Hyper (formerly known as kenobi) is an aggressive smart and smooth, optimized for SMDK4210 board getweakt and, based on the Ondemand, which was getweakt of Arighi and was equipped with several features of Ondemandx suspend imoseyon. (Added by sysfs, the settings suspend_freq and suspend Imoseyon's code) is the behavior of the hyper Ondemand if he is in action, very similar. He also has the Arighi's fast_start deep_sleep and detection features.
Default IO Scheduler:
ROW - ROW is Read Over Right. As name suggests it services more READ requests than WRITE taking care that WRITE requests don't starve. It is most suitable because Android handhelds unlike desktop hardly uses multi-threading and a user seeks more of responsiveness than giving more input.
My Recommendations:
Recommended Governors: HYPER > NeoX > SmartAssv2 > LulzActiveq > Nightmare > Intellidemand > Others
Recommended Schedulers: ROW > ZEN > BFQ > CFQ > SIO > NOOP > Other
NXTweaks gets auto-installed when you flash this kernel.NX-Kernel Changelog:
v1.4.2:
Kernel Linux Mainstream version upgraded to 3.0.86
CortexBrain fixed for freezes but disabled by default. Needs further testing.
New panic values for CortexBrain. Under test.
Reset NXTweaks settings on flash.
Allow 800mV UV. DO NOT REPORT ANY INSTABILITY IF YOU USE THIS.
CPU freq hotplug fixes in driver
Disable power save bias for Hyper by default
Remove non-working Ad-block feature from NXTweaks until fixed
Code fixes for CRON jobs
Enable SELinux Support
GPU Thresholds restored from 1.3.5
v1.4.1:
Kernel Linux Mainstream version upgraded to 3.0.85
ARM topology updates downgraded to fix compatibility issues with some ROMs
v1.4.0:
Stability patches: Revert few suspicious commits from previous versions
Updated Linaro Toolchain to 4.7 GCC 13.06
Retuned GPU Voltages for default profile according to Samsung's source
Retuned GPU Threshold values for default profile
Pulled RAMDISK updates from official CM Kernel
v1.3.9:
This version is Google GCC 4.6 Compiled
Kernel Linux Mainstream version upgraded to 3.0.84
Retuned exynos current values and throttle temperature
Fixed busybox issues
Hyper governor now has affinity for 200 MHz instead of 400MHz
ROW I/O scheduler updated heavily from Android Linux 3.4 Kernel
ARM topology major update and fixes from Android Linux 3.4 Kernel
Compcache service of CM10 ROMs disabled
Minor fixes for stability and performance
Better fixing of corrupt data partition, if needed & detected on boot (merged code in ramdisk)
v1.3.8b:
Enable sound driver used on AOSP Roms
v1.3.8:
Fix Video Recording Regression in 1.3.6 and 1.3.7
Remove Sound Control since its fixes caused video recording regression
Minor fixes (reverts) to restore stability
v1.3.7:
Use Hard Float & Neon Libraries for VFP
Small update for Nightmare governor
Disable Autoplug CPU Core Control by default. It's experimental.
Minor USB config fix
Kernel forward ported fixes [1] [2] [3]
v1.3.6:
Kernel Linux version upgraded to 3.0.83
ARM Topology updates
Modem sensors ported from SMDK4210 (sync with CM)
ZRam Upgrade
CortexBrain complete rewrite
SMP small update
MMC Driver updates and fixes
Add AUTOPLUG option in CPU Control (NXTweaks)
Fix busybox issue with NXKernel
Few forward ported fixes and functionalities
Fixed and re-added Sound Control
v1.3.5:
Kernel Linux version upgraded to 3.0.82
Super cleaned ramdisk - This helps loading of modules
CPU Frequency managing policy upgrades [1] [2]
Added missing and few new functionalities to exynos cpu frequency policy
Updated and enabled Zzmoove governor. Much stable now.
Nightmare governor upgrades
Slightly decrease saturation for master sequence. Master sequence is still WIP.
Major fixes for compile warnings. No more wasted or uninitialized variables.
Added missing CDROM attribute to USB driver
VFP upgrades forward-ported [1][2][3]
New sampling rate for HYPER governor
Minor Fixes for NeoX Governor
v1.3.4:
Kernel Linux version upgraded to 3.0.81
Stability fixes for CortexBrain
Stability fixes for battery drain on boot
Add missing patch to configure OOM on screen on/off via NXTweaks
Hyper Governor: Less greedy on boot
Added new AssWax and SavagedZen Governors from Chasmodo's kernel. Thanks Chas!
Fixed frequency limits of AssWax
Nightmare Governor: Stability fixes
Removed unreliable experimental features of NXTweaks
Updated NXTweaks app for stability and more
Retuning of Master Sequence for mDNIe
Faster freezing of process for low power mode
Increased polling interval for battery
Retuned transition latency (now it's perfect)
Frandom Tweaks Added - Enable it from NXTweaks
Changelog of previous versions in below post. ​
Changelog of Previous versions:
v1.3.3:
Upgrade Linaro Toolchain to latest 13.05
Hyper governor upgrade and fixes
Disable zzmoove, sleepy and abyssplug governors
Added intellidemand and nightmare governors
Added Auto-Disable-Media-Scan tweak (Enable from NXTweaks)
Added GPU-Power-Saver tweak (Enable from NXTweaks)
Decrease sharpness and chroma saturation for Master Sequence in mDNIe
Use UI + Dynamic as default mDNIe. Cyanogenmod mode is too bright.
MMC updates from i9300 update 9
CMA (memory) updates from i9300 update 9
GPU minor updates from i9300 update 9
Wifi Fixes and update
Fixes for Dynamic FSync for data loss (Still disabled)
CortexBrain tweaks retuned
v1.3.2:
Revamped mDNIe advanced controls
Added "Cyanogenmod' scenario to mDNIe
Added "Hook Intercept" which when enabled, you can customize mDNIe color channels
Added "Master Sequence Intercept" in mDNIe which discards all mDNIe profiles/scenario and use its own
Added "CPU Control" interface - You can even tune governor and iosched for deep sleep!
Stability fixes & battery life improvement
Sync with smdk4211 (exynos4) tree of cyanogenmod
New defaults for VM in NXTweaks
ZRam description corrected
More explanation to NXTweaks features by me and Formhault
Please Note: AbyssPlug Governor is under test, in case of any SOD .. change Sleep Governor.
v1.3.1:
Introduced UKSM - Ultra KSM - can be enabled via NXTweaks Memory Control
Fixed External SD Card Mass Storage
Fixed CRON Jobs for some ROMs
mDNIe settings from Exynos4, use mDNIe settings from NXTweaks
Complete redesign and minor fixes for NXTweaks
Added ability to generate debug reports
Memory configuration adapted from Note2/S3 (DMA_CMA)
Attempt to fix recovery reboot
Attempt to fix soft reboot, if any.
Upgraded HYPER and ZZMOOVE governors
Fixes for fuelgauge
Fixed and rewrite features of NXTweaks
v1.3.0:
NX-Kernel fully merged with and compiled from new Exynos4 Tree of codeworkx
Kernel Linux version upgraded to 3.0.80
Ramdisk: Fixes for WiFi toggle, Radio, Module Loading
Frandom is now compiled as module (More usage of this maybe exploited later)
Added missing Samsung J4FS module support to exynos4 merged tree
Replaced broken video driver of exynos4 tree with one from smdk4210
Entropy tweaked and tuned
WiFi wakelock disabled in Suspend mode
Tweaks for WiFi driver - Disable GAN_LITE_NAT_KEEPALIVE_FILTER and allow to change WIFI MAC address
New touchscreen kernel sensitivity tuning
Default touch screen sensitivity in NXTweaks is now 30 (Touch sensitivity is perfectly tuned now!)
Use journal writeback i/o tweak instead of ordered
Little OOM tuning for cortex brain
Minimum GPU voltage allowed 900mV
v1.2.2:
Kernel Linux version upgraded to 3.0.79
Linaro Toolchain updated to GCC 4.7 2013.04
Experimental Tweak to increase touch sensitivity / smoothness (as requested, need feedback)
Fixes for wifi toggle delay
CortexBrain retuned
Added new experimental Ram-Clean on Screen off cortexbrain option
Fixed external module loading and added option to force load
Minor fixes
v1.2.1:
Recovery updated and little fixes
Init binaries GCC 4.6 compiled
Introduce new advanced "Cortex Brain" which gives dynamic tweaks on screen on/off
Introduce CRON Jobs for maintenance
Introduce extra Modules which can be loaded optionally on boot (EDS, XPAD, USBtoSerial, USBNet, etc)
NX Init.d Scripts removed and functionality coded into NXTweaks
Init.d scripts execution can be controlled
ZRam can be turned on/off or increased on-the-fly via NXTweaks
USB Mode - Mass Storage or MTP can be controlled by NXTweaks
Lots of new tweaks and customization
v1.2.0:
GPU Control Interface added
mDNIe Screen Control Interface
Removed Sound Control Interface and changes
Experimental: Allow higher charging currents. Default is good. Dont change if you are unsure.
Attempt fixing soft reboot. NXTweaks app is not open source, so in case of app FC or freeze.. Please reboot.
Reduced logging and ftrace_init removal
Many upstream fixes and tweaks
A test version using CM's New MALI libraries
v1.1.9:
Completed sanitization of Ramdisk - Based on latest CM10.1
WiFi Toggle sluggishness fixed (Tested)
Attempt fixing SpiritFM support (Please Test)
Added Sound Control Interface. (Find it in NXTweaks app)
WiFi driver panic fixed (Thanks Alex!)
Small timeout changes with WiFi
Prep for Screen Control feature for next version
v1.1.8b:
Ramdisk binaries restored to fix wifi driver init. Still little sluggish wifi toggle.Workaround: Screen off and then on.
Complete sanitization in next version
v1.1.8:
Kernel Linux version upgraded to 3.0.77
Added Charge control interface (find it in NXTweaks)
ROW i/o scheduler completely redesigned as per new linux implementation
Deadline i/o scheduler tweaked
Recovery fixed, no auto reboots + new binaries (Needs more testing)
Recoded pre-init and post-init scripts in ramdisk + new binaries
Added mdnie sys interface to fix mdnie sharpness tweak on boot
Options of NXTweaks fixed
Profiles management introduced in NXTweaks (Pre-stage)
Writeback tweak fixed when screen ON
IPv4 Tweaked (backport)
More kernel fixes
v1.1.7:
Kernel Linux version upgraded to 3.0.76
Introduce NXTweaks app (Pre-stage, gets auto-installed)
New recovery
Add new NeoX governor (It's new Pegasusq optimized governor. Test it.)
Reduce mali gpu utilization timeout.
v1.1.6:
Disable Dynamic FSync
Rectify Locking frequencies
v1.1.5:
Attempt fixing recovery to avoid any data loss. This means recovery of v1.1.5.
Fixed alignment trap turning on automatically. It's off now.
Toolchain fixes for SMC architecture and GCC 4.6 compatibility
Added network tweak
Reverted back old voltage table
v1.1.4:
Kernel Linux version upgraded to 3.0.75-RC1
New voltage table. Tested for a day - no freeze or SOD.
Update zzmoove governor. Still under test.
Unaligned memory access for optimization
Corrected LOAD_FREQ for kernel/sched
Snappy Compression Library added
Add Google's Snappy compression support for ZRam
HYDRXQ governor optimized. This may fix lag on heavy apps.
AbyssplugV2 governor fixed for dual core processors. Not tested completely.
v1.1.3:
Kernel Linux version upgraded to 3.0.74
Added VR I/O Scheduler
v1.1.2:
Discard all commits of v1.1.0 & v1.1.1
Overheat Fix
MTP Fix
CWM Recovery updated to 6.0.3.1
v1.1.0 & v1.1.1:
v1.1.1c:
Fix SOD/Freeze - Revert voltage changes'
Revert "Reduce timeout to freeze process when device enters low power mode"
v1.1.1b:
Disabled CLEANCACHE
Disabled Dynamic Fsync
Disabled Namespaces
Disabled journaling tweak.
v1.1.1:
Revert using NEON libraries to fix screen freeze
Revert wifi Ad-hoc mode
Little faster boot for Carbon ROM.
v1.1.0:
Kernel Linux version upgraded to 3.0.73
Recovery version upgraded to 6.0.3.1
New temperature throttle values to fix overheat.
Fix battery temperature
Add 25mV at 1600MHz for stability
Reduce 25mV at 100MHz for power saving
Fixed MTP mode. Delete init.d/enableUMS and reboot to enable MTP.
Add VR IO scheduler
Enable wifi Ad-hoc mode. Not tested.
Fix possible deadlock in Panic mode
Use NEON libraries for VFP. Same is used in CM.
Dynamic File Sync optimizations. [1][2]
Reduce timeout to freeze process when device enters low power mode
Improve cleancache for ZRam
v1.0.x -
v1.0.9:
Fixed WiFi Tethering
Linaro Toolchain updated to GCC 4.7 2013.03
Fixed and enabled ZZMOOVE governor
Add ABYSSPLUG2 and HYDRXQ governors
Attempt to fix partial data loss for some users
v1.0.8:
Attempt to fix MTP [1][2]
Optimize Kernel Sched [1][2]
Add ARM Topology (this adds to overall arm device optimization)
Reposition wakelock destroy call for drivers/input/evdev.c
Fix possible memory leak in mmc
v1.0.7:
Increase GPU lowest frequency from 100 MHz (which was recently introduced by CM) to 134MHz
Introduce 4-step GPU mali dvfs control + Fix a typo
Change initcall in ASV to earlier stage
Properly initialize GPU defaults after ASV initcall commit
LMK Tuning and add it's functionality for screen on/off
VM writeback tuning [1] [2]
Allow max brightness at 255
Attempt to fix Wifi Tethering
v1.0.6:
Update Linux version to 3.0.72 + Compile Fix
Fix several mempolicy leak in tmpfs mount logic
Use 4.61 sec interval for LOAD_FREQ instead of 5 sec for optimal distribution
Update LZO compression
Optimize apply_slack() in timer
Little performance improvement in slub.c from FrancisoFranco
Fix possible mem leak in Slub
Use faster memcopy for String
Fix permissions on exynos-mem
Optimize sched for powersave
Optimize checksum. Reduce one loop.
Enable ZRam, User can disable from init.d. + Cleanup
Do not auto-wipe cache and dalvik cache to avoid data loss.
Add a missing patch for mmc
Fixes for binder in staging. [1][2][3]
Fix wifi power drain on standby
Add hotplug governor (Not tested)
Fix install on latest Asylum
New ramdisk -
=> Set fling velocity and scrolling cache to optimized value.
=> Improve I/O drastically.
=> Enable dmesg, kmsg
Stop spam messages from video driver for kmsg, last_kmsg, demsg
v1.0.5:
Introduce timer slack controller
Dynamic File Sync
Entropy Depletion Prevention - Don't use Seeder app
Modem and Battery wakelocks optimization
Dynamic Read-Ahead
Logger RAM usage reduced
Improve touchscreen sensitity and tune CPU throttle value
CPU Based Alignment Handling
USB configuration drop prevention on cable disconnect
Added optimized ARM RWSEM algorithm
v1.0.4:
Add BFQ and ZEN i/o scheduler
Upgrade ROW i/o scheduler and use it as default
Make deadline i/o scheduler more deadly awesome
Change parameters of SIO i/o scheduler
MTP fixes. Delete init.d\10enableUMS to enable MTP on next boot.
block: Use hashtable implementation for elevator
Staging: android: binder: Fix memory leak on thread/process exit
ramdisk: More code cleaning and automation for MTP
vendor: Use firmware binary from Linux Kernel 3.6
v1.0.3:
UV/OC 100-1600MHz. (Default enabled is 200-1400MHz)
16-step freq stepping in full range.
New CPU idle target residency from AndreiLux's Kernel.
v1.0.2:
NX-Kernel unified ramdisk with CM-AOKP compatibility, network speed optimization, low sound fix and auto system rune on boot.
New governors. HYPER is default.
v1.0.1:
Kernel Linux version upgraded to 3.0.71 + Samsung OSRC fixes
v1.0.0 (Only working for AOKP based ROMs):
Linaro Build of CM10.1 Kernel
​F.A.Q.:
Q. I am getting FC / Performance control not working. What is the solution ?
A. Reboot in recovery. Wipe cache and dalvik cache.
Q. I am getting sleep of death. What do I check ?
A. Adjust minimum frequency to 200 MHz and not lower.
Q. Which is best governor and IO Scheduler?
A. All of us have different choices. There is no thing like best governor or IO Scheduler.
You need to set your personal favorite. I have posted my recommendation in above post.
Q. It takes long time to boot. What is wrong ?
A. Nothing is wrong. Let NX optimize your apps and database.
Q. How to insert a module that's available in /system/lib/modules?
A. Safe to be root. In terminal or adb
su
insmod /lib/modules/<module_name.ko>
You can request your required module, if you want.
Q. How to know which modules are pre-loaded by kernel?
A. Terminal or adb:
lsmod
Q. I want to help dev debug an issue providing a kmsg. How to?
A. After the problem (random reboot/freeze/lockup), do not pull out battery to recover. Just long press power button so that device can reboot. Then connect device to PC, (provided you have setup adb), type
adb pull /proc/last_kmsg
Save the file as .txt and post in the thread along with description of the problem and possible way to reproduce it.
If you can't use adb from pc, just copy last_kmsg file from /proc directory to internal sd, copy it to your PC and post in the thread.​
Unrelated DH-Kernel Changelog, saved for my reference:
DH-Kernel Changelog:
Code:
[B]v2.5 (Only working for AOKP based ROMs):[/B]
[LIST]
[*]ramdisk: Restore original CM10.1 ramdisk
[*]recovery: Restore original CWM Recovery
[/LIST]
[B]v2.4:[/B]
[LIST]
[*]ramdisk: Completely remove journal removal code
[*]ramdisk: Fix OOM protection of init process
[*]defconfig: Disable KSM and AIO
[*]governor: Add SLEEPY governor (not tested)
[*]usb: MTP fixes
[*]// No changes in ROW iosched design for now //
[/LIST]
[B]v2.3:[/B]
[LIST]
[*]ramdisk: Implement safe journal 'ordered' instead of 'writeback'
[*]updater-script: Remove journal script of Stunner
[*]governor: Update ONDEMAND governor with newly added functionalities
[*]input: update driver - too many updates listed on github source
[*]ida: simplified functions for id allocation
[*]tcp: preserve ACK clocking in TSO
[/LIST]
[B]v2.2:[/B]
[LIST]
[*]cpufreq: Export new boost attr, so we can tune it.
[*]usb: gadget: Kang support for 2 luns by default
[*]cpufreq: Make some nodes pollable and send uevent on governor change
[*]cpuidle: new target residency
[*]LMK: Restore old LMK with Autodetect OOM functionality.
[*]mali: 3-step gpu DVFS control
[/LIST]
[B]v2.1-build2:[/B]
[LIST]
[*]ramdisk: Do not clear apps cache on boot, it may give heart-attack to some users.
[/LIST]
[B]v2.1:[/B]
[LIST]
[*]governor: Fix Abyssplug governor. Thanks Alex!
[*]Added Abyssplug governor
[*]updater-script: Remove wiping android secure
[*]block: Add missing functionality to handle urgent requests in ROW iosched. More awesome than ever!
[*]arm/lib: add support for LZ4-compressed kernels
[*]sched: Create sched_select_non_idle_cpu() to give preferred CPU for power saving
[*]timer: hrtimer: Don't check idle_cpu() before calling get_nohz_timer_target()
[*]drivers: mmc: disable CRC
[*]cpufreq: Add cpu utilization statistics to aid decisions made by userspace
[*]governor: MAJOR update for HYPER governor!
[*]Auto-reset fuel gauge on first boot removed. Instead check init.d and delete it's file to reset fuel gauge.
[*]Recovery changed to Philz Touch. All working fine. Thanks PhilZ for the help over PM!
[/LIST]
[B]v2.0:[/B]
[LIST]
[*]Linux Kernel version updated to 3.0.71
[*]Fuel Gauge Auto-Reset on First Boot after flash (contributes to proper battery calibration, [COLOR=Red]may show improper battery value for couple mins[/COLOR])
[*]Permissions Auto-Fix on First Boot after flash (to avoid FCs)
[*]Low-sound of Yamaha chip fixed!
[*]Cleans apps cache and tombstone on boot
[*]Preload partition re-added
[*]Updated Samsung's CMA sources to the memory management changes
[*]sync: fix timeout = 0 wait behavior
[*]rwsem: steal writing sem for better performance
[*]lib/rwsem.c: fix compatibility issues with Linux 3.0.y
[/LIST]
[B]
v1.9:[/B]
[LIST]
[*]ZRam Removed - Cannot be enabled either. (If this is the reason of reboot, it will get fixed in future version)
[*]SWAP Removed.
[/LIST]
[B]v1.8:[/B]
[LIST]
[*]Stop the panic mode. Should fix sleep of deaths. Please report.
[*]OOM protection for init process.
[*]SWAP enabled.(Check with app like Kernel Tuner. [COLOR=Red]To disable SWAP, set vm.swappiness to 0[/COLOR])
[*]Swappiness set to 60% (Default)
[*]Overall improvement of multitasking.
[*]New MALI from Note8.
[*]Fix wifi power drain on standby.
[*]Improve touch screen sensitivity.
[*]Tune CPU throttle values.
[/LIST]
[B]v1.7:[/B]
[LIST]
[*]Remove STweaks which caused freeze and instability since v1.5
[*]Retain some powerful init scripts of STweaks
[*]Add frandom(/dev/frandom) -Fast kernel number generator
[*]modem: reduce wakelocks in modem drivers from 100 to 50
[*]sync: optimize & upgrade (refer github, huge list)
[*]init.d: remove scripts which are no longer needed
[*]fat: eliminate iterations in fat_search_long and __fat_readdir
[*]lib/checksum.c: optimize do_csum a bit
[*]Backport KSM from Linux 3.6.8
[*]Backport AIO from Linux 3.6.x
[*]sched_fair.c: Optimize latency values
[*]logger: Reduced Android Logger RAM usage
[*]slub: zero page to fix boot crashes
[*]Added optimized CRC32 algorithm.
[*]arm/crypto: Add optimized AES and SHA1 routines Add assembler version
[*]mmc: core: Fix possbile memory leak
[*]Add network speed tweak
[*]nohz/sched: delay going tickless when CPU is loaded
[*]Optimise apply_slack() for size and speed
[*]sched: Improve scalability via 'CPU buddies', which withstand random
[*]Add ARM CPU topology
[*]Asynchronous I/O latency to a solid-state disk greatly increased
[*]ext4: prevent kernel panic in case of uninitialized jinode
[*]irq: Set CPU affinity as soon as the irq thread is created
[*]Add Dynamic read-ahead
[/LIST]
[B]v1.6:[/B]
[LIST]
[*]LMK: Stabilization. No more reboot or freeze. In case of freeze, please send me proc/last_kmsg to analyze
[*]STweaks: Lots of non working tweaks removed. Some tweaks added.
[*]usb-gadget: Booting from g_file_storage in cdrom mode
[*]cpufreq: Retain only online cpus in managed_policy->cpus
[*]ARM: Fix negative idle stats for offline cpu
[*]Revert "drivers: Add BLN mod (WIP)"
[*]Staging: android: binder: Add binder buffers to kmemleak
[*]block,elevator: use new hashtable implementation
[*]PM: Prevent runtime suspend during system resume
[*]Allow CPU Based Alignment Handling
[*]input: evdev: Move wake_lock_destroy call
[*]sysfs-helpers: Allow negative values for array store
[*]Backport ZRAM from Linux 3.3.x
[*]staging: Add Snappy compression support to zram (alt)
[*]zram: Simplify zram disk resizing interface
[*]zram: Specify default disksize via menuconfig (in bytes)
[*]fully ported ZRAM from Linux 3.3.x
[*]Optimize ZRAM
[*]android: logger: enforce GID and CAP check on log flush
[*]android: Update logger to android-3.4
[*]drivers: Add Snappy Compression/Decompression
[*]lib/lzo: Rename lzo1x_decompress.c to lzo1x_decompress_safe.c
[*]lib/lzo: Update LZO compression to current upstream version
[*]lib/lzo: Update LZO compression for unaligned access
[*]ARM: 7583/1: decompressor: Enable unaligned memory access for v6
[*]Enable UNALIGNED_ACCESS for the new LZO algorithm to use.
[*]lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
[*]Force the kernel to follow the UNALIGNED code path.
[*]kernel: gtod: vsyscall
[/LIST]
[B]v1.5b:[/B]
[LIST]
[*]No changes. Clean rebuild of v1.5 to check if freezes for some user still persist.
[/LIST]
[B]v1.5:[/B]
[LIST]
[*]Add STweaks support and lots of customization (Beta -- Please do not report non-working tweaks repeatedly)
[*]New modules for STweaks
[*]Enable ZRam from Stweaks
[*]Kernel updated to linux version 3.0.7.0
[*]hotplug: Add support for 2nd Core app
[*]fs/dyn_sync_cntrl: dynamic sync control
[*]mach-exynos: Don't compile unused 4x12 objects on 4210
[*]sched: Add missing call to calc_load_exit_idle()
[*]Introduce timer slack controller
[*]sched/nohz: Rewrite, fix and add more accurate load-avg computation
[*]scheduler: compute time-average nr_running per run-queue
[*]sched: Ensure cpu_power periodic update
[*]LMK: Add config option to auto update OOM
[/LIST]
[B]v1.4:[/B]
[LIST]
[*]Default scheduler is ROW.
[*]Revert update on BFQ sched. Fixes Random Reboot. Please test this sched further.
[*]Complete rewrite of voltage table. No more extra heat. More stable now.
[*]CWM Recovery updated to 6.0.3.0
[*]ACPI / processor: prevent cpu from becoming online (fix)
[*]LMK: tuning to more defaults. to kill MORE. (Give me more RAM?)
[*]staging: android: binder: Allow using highmem for binder buffers
[*]staging: android: Fix three checkpatch issues in binder.c
[/LIST]
[B]v1.3:[/B]
[LIST]
[*]Full rewrite CPU freq code
[*]CPUfreq driver updated
[*]Implemented 16 steps un CPUfreq!!
[*]200MHz - 1400MHz now default range
[*]Fixed Kernel Version unknown error!
[/LIST]
[B]v1.2:[/B]
[LIST]
[*]Implement working CWM recovery
[*]Implement standalone git to build faster
[*]Network and IO tweaks included inside kernel init.
[/LIST]
[B]v1.1:[/B]
[LIST]
[*]Linaro GCC 4.7.3 Build (I think this 1st Note kernel with this GCC, so you need to test every aspects like signal, wifi, any RAM leak, etc)
[*]TWRP Recovery (since this recovery is compatible with 4.7.3 GCC.) - Temporary
[*]Staging: android: binder: Fix memory leak on thread/process exit
[*]Added optimized ARM RWSEM algorithm and enabled
[*]zram: Consider low pages in the lowmemorykiller
[*]zram: Enabled by init.d script - Temporary - will be enabled by kernel itself
[*]bcmdhd: reenable IPv6, disable multicast in suspend - Sync with CM Kernel
[*]bcmdhd: disable GAN_LITE_NAT_KEEPALIVE_FILTER - Sync with CM Kernel
[*]loopdev: fix a deadlock
[*]fimc: merge fix
[*]slub: fix a possible memory leak
[*]kernel/sys.c: fix stack memory content leak via UNAME26
[*]lockdep: fix oops in processing workqueue
[*]iosched: CFQ fixes and BFQ update to v6
[*]defconfig: Remove sound codecs which are useless
[/LIST]
[B]v1:[/B]
Initial Release: CM-Enhanced Kernel from Stunner
Will have to wait for Tw !!
neobuddy89 said:
And last reserved ..
Click to expand...
Click to collapse
Will wait for the Tw release bro ..... Hope it ll be out soon
Re: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
Nice one @Neo
the release of any new kernel is a time for rejoicing for any xda community. hope this one also covers a long journey :good:
Running the kernel on (unofficial) Mad Cow Rom. First impression: Good!
Great to have a AOSP-Kernel with Philz-Recovery! :good:
Small issue: If you select Misc nandroid settings in Backup and Restore, it's not working. Backup and Restore Menue appears again.
trahzebuck said:
Running the kernel on (unofficial) Mad Cow Rom. First impression: Good!
Great to have a AOSP-Kernel with Philz-Recovery! :good:
Small issue: If you select Misc nandroid settings in Backup and Restore, it's not working. Backup and Restore Menue appears again.
Click to expand...
Click to collapse
That's because PhilZ recovery is not fully open source.
We will switch to better one.
neobuddy89 said:
...
Warning:
It's your device. It's your responsibility for what you flash. Do not blame us.
DO NOT flash over forbidden kernel as that kernel has incompatible/unstable/non-tested init.d scripts.
Do not discuss forbidden kernels over here. Hail open-source!
Click to expand...
Click to collapse
Thanks Neo.
I know it's uncommon to read OP, but I like your humor: The combination of warning two and three. somehow paradox. why are warning about something which you dislike to discuss. Sorry, might be OT.
trahzebuck said:
Thanks Neo.
I know it's uncommon to read OP, but I like your humor: The combination of warning two and three. somehow paradox. why are warning about something which you dislike to discuss. Sorry, might be OT.
Click to expand...
Click to collapse
Lol. Just wanted to let people know init.d tweaks of *forbidden* may create problem. Period.
Re: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
neobuddy89 said:
Lol. Just wanted to let people know init.d tweaks of *forbidden* may create problem. Period.
Click to expand...
Click to collapse
That means you have been fiddling around with it. . Anyway need to stop some off topic.
Please keep it updated. We need some Fire from this Dragon.
flashed/running it now,smooth no probs:good:..thnx
Excellent Kernel
I have been running the kernel for a little over an hour now and it is excellent, super smooth and responsive.
I like the name DragonHeart.......... makes the kernel sound very powerful and dependable.:good:
Overclocked too, awesome.:good:
The only changes I have made are:
100MHZ and 200MHZ voltages to 900 mV
Governor to SmartassV2
I wiped Dalvik and Cache before flashing the kernel.
@Neobuddy - Do you have those wipes built into the install script???
I.E. Do I need to wipe dalvik and cache before install???
Thanks for the excellent kernel.
Re: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
Flashed. First 10 minute impression is.. Fantastic! Smooth! Didnt changed any value. Just the governor to smartassv2 and scheduler to still bfq which i the default. Will come back after couple of days and see how it goes. Thanks so much!
Sent from my GT-N7000 using xda premium
flashed well.
booting is taking too long.There is something like "phone process" not working shown as an error message after each boot.
performance control force closing if voltage settings are changed and set to applied at boot.
On latest stunner ROM
Re: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
Happening to me as well
Sent from my GT-N7000 using xda premium
Re: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
mikey0105 said:
Happening to me as well
Sent from my GT-N7000 using xda premium
Click to expand...
Click to collapse
anilisanil said:
flashed well.
booting is taking too long.There is something like "phone process" not working shown as an error message after each boot.
performance control force closing if voltage settings are changed and set to applied at boot.
On latest stunner ROM
Click to expand...
Click to collapse
Just wipe cache and dalvik cache from recovery and reboot.
R: [KERNEL][3.0.69][4.2.2 - CM/PA/AOKP] DH-Kernel v1 [16/03]
anilisanil said:
performance control force closing if voltage settings are changed and set to applied at boot.
On latest stunner ROM
Click to expand...
Click to collapse
That should be a bug in performance control app. I noticed it when I used aokp rom based, so I searched on net and I found that it should be an app bug. Just use any other app, like voltage control
Sent from my GT-N7000 using xda premium

[Kernel]{GPE4.4}{SENSE5.5 4.4.2}Weeping_Angel

Bad Seed Customs Proudly Presents:
Weeping Angel
What is a kernel?
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
FEATURES
DT2W
BB mod
Cpu governors -conservitive, powersave, performance, lionheart, baddass, Wheatley, smartmax, and ondemand
IO schedulers - fiops, cfq, sio, zen, vr, deadline, and noop
Sweep2wake -see sysfs entries
Logo2menu-see sysfs entries
Linaro arm topology
Compiled with the latest Linaro 4.7 toolchain - this is usually updated once a month here http://www.linaro.org/downloads/
Linaro -O3 optimized with extra build flags
Thermal control
Code:
CHANGELOG
2/16/14 sense kernel
adjust smartmax
change some voltages
networking options
add wheatley cpu gov
add smartmax cpu govs
fix compass and update config
remove some debugging
Initialize cpufreq driver early at boot
add dance dance cpu governor
add usb forced fast charge
blink buttons off by default
adjust gpu clock
sched, x86: Remove broken power estimation
vfp neon optimizations from linaro
sched: Reset rq->next_interval before going idle
reduce regulator constraints to allow undervolting to 800
add sysfs vdd
mm: remove swap token code
readahead: make context readahead more conservative
reduce packet delay to try andreduce wakelocks
sched: reinitialize rq->next_balance when a CPU is hot-added
Make word-at-a-time a truly generic interface
MEM: allow lowmem to be non contiguous and mixed
ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
oc slimbus (thanks poondog)
1/4/2014
optimized sq root algorithm
lower l2 cache for OC freq
change load average computation in rq stats
manage online cpus
address issue where cpus forget their clock speeds
add CPalmer's thermal driver
add BadAss CPU gov
remove some perflock code
add CPU OC option
lib/lzo: huge LZO decompression speedup on ARM by using unaligned access
add vr sio zen schedulers
change clocks once again to better use new step
lower l2 cache
clock adjustment
further boost l2 chache
boost gpu clock (3d)
boost l2 cache
fix race that cause writeback hang
Initial release
update defconfig
bb mod from tbalden
add dynamic fsync
boost l2 cache
increase gpu bandwidth
[patch] sched: minimalist select_idle_sibling() bouncing cow syndrome… …
increase read ahead value
tweak ksm
update topology driver
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
Fix occasional slow sync(1)
msm: kgsl: Align ION buffer mappings from userspace to 4k
switch do_fsync() to fget_light()
tweak loadaverage
LIB: ARM: use generic strnlen_user and strncpy_from_user
LIB: ARM: use generic strnlen_user and strncpy_from_user
makefile addition
fix possible memmory leak cfg80211
make vfs pressure configurable
sched/nohz: Fix rq->cpu_load calculations some more
sched/nohz: Fix rq->cpu_load[] calculations
sched: Fix nohz_idle_balance()
sched: Change rq->nr_running to unsigned int
sched.fair improve the group logic
Autogroup patch group by current user android UID
patch from caf
Support cpu hotplug in no PM cases
sched: fix init NOHZ_IDLE flag
sched: Improve scalability via 'CPU buddies'
ARM RWSEM algorithm
tweak writeback ratios
optimize slack
allow pipe compiling
ARM: net: JIT compiler for packet filters enabled by default
some makefile flags
Enable UNALIGNED_ACCESS for the new LZO algorithm to use
update LZO
glibc memcpy and stringcpy
avoid depleting of entropy pool
increase random number generator rate
vfp optimization
increase dt2w sensitivity
reduce time to enter deep sleep
mm.backingdev tweak
boost volume
disable gentle fair sleepers for better performance on android
set LOAD_FREQ to (4*HZ+61)
enable arch power
optimize slub
increase io performance
add fiops io scheduler
add lionheart cpu gov
enable systemwide mounting
add s2w,dt2w with pocket detection and custom config
initial commit from NIN
Thanks
tBalden
Flar2
NIN
NOT RESPONSIBE IF YOU BRICK,DROP,LOSE YOUR DEVICE. FLASH AT YOUR OWN RISK
DOWNLOAD GPE Kernels
stock frequency
http://d-h.st/f2h
OC Kernel (You will need to use an app like trickstermod that has frequency lock otherwise cpu will default to max. Trickstermod has worked perfectly for this for me)
http://d-h.st/u2T
Download Sense Kernels
stock frequency
http://d-h.st/qDK
OC cpu
http://d-h.st/MmI
If you like my work don't hesitate to buy me more coffee
DONATE
My Source per GPL
Lezzzz goooooo first post
Sent from my HTCONE using Tapatalk
Flashed on gruesome wolfs GPE. So far so good!
Sent from my HTCONE using Tapatalk
Vacation or not.. It's going to get installed
Sent from my HTC One using Tapatalk
Nice thanks TW
Works perfect so far on GW GPE thanks Thicklizard
Sent from my HTC One using Tapatalk
Runs nice on Nocturnal GE, thanks. Any chance of CPU and GPU overclocking?
vcumsk said:
Runs nice on Nocturnal GE, thanks. Any chance of CPU and GPU overclocking?
Click to expand...
Click to collapse
Maybe in the future.
Sent from my HTCONE
Yes..!!...
Thank you sir. Another awesome kernel
Awesome to see a new kernel! And another great on as well! Thanks for the work!
Sent from my HTCONE using Tapatalk
Running gw rom and this is working great.. Great job
Sent from my HTC One using Tapatalk
Thanks TL
Sent from my HTCONE using Tapatalk
OK this is probably going to be a really dumb question but how do I enable sw2w and dt2w?
Sent from my HTCONE using Tapatalk
SuperiorEVOlution18 said:
OK this is probably going to be a really dumb question but how do I enable sw2w and dt2w?
Sent from my HTCONE using Tapatalk
Click to expand...
Click to collapse
Should be enabled by default. Otherwise you can enable in trickster mod
Sent from my HTCONE
TL this works perfect. Thanks! I was giving up hope in my One because there was nothing new to play with. Perfect timing.
Sent from my HTCONE using Tapatalk
thicklizard said:
Should be enabled by default. Otherwise you can enable in trickster mod
Sent from my HTCONE
Click to expand...
Click to collapse
Ah thanks. Weird it isn't set up by default, I'll check through TM and see. Maybe I had a bad flash. Thanks TK!
Edit: Well it must have been a goofy flash. Under the about tab in settings it was showing TKs kernel but in trickster it was still stock. Weird but I reflashed and re wiped my caches and its all working as it should awesome stuff!
Sent from my HTCONE using Tapatalk
Does it have full USB otg support?
Bseagull said:
Does it have full USB otg support?
Click to expand...
Click to collapse
Does the stock one have support?
Sent from my HTCONE
thicklizard said:
Does the stock one have support?
Sent from my HTCONE
Click to expand...
Click to collapse
I believe so...
Bseagull said:
I believe so...
Click to expand...
Click to collapse
Then it should. I haven't personally tested it yet though to verify
Sent from my HTCONE

[KERNEL][TW/LP][13.10.15][SM-T800][SM-T805] IronKernel V2.5 STweaks

Hey guys, I'm back with a new KERNEL for both Variants of the Tab S 10.5 (T800 and T805)!
Some guys probably know me from the IronRom . I decided myselfe to create a custom kernel for our really great Tab s 10.5, I'm getting better and better at this stuff, I don't thought that
It is basically the normal kernel with some modifications for better performance and hopefully also batterylife. It is for the stock kitkat (4.4.2) touchwiz and not for cyanogenmod or something else.
I excuse all devs here visiting my github page, it is such a mess (with the commits)! I know it, but I'm doing this the first time, so hopefully you will forgive me.
The kernel is pretty stable, I just call it a beta version, because I can't test the T800 version, so if with thisone also all works great -> stable
IF YOU FOLLOW MY STEPS BELOW, YOU WILL MAY LOSE YOUR WARRANTY, KNOX WILL DISPLAY 0x1! I'M NOT RESPONSIBLE FOR ANY DAMAGED DEVICE!
You can try to use the kernel adiutor app, or just the preinstalled sTweaks, but not both at the same time! This will cause problems.
Notice, V2.0 and onwards is only for TW lollipop and not for kitkat anymore!!
Features of my Kernel::​- Built with latest 5.2 Toolchain compiled by myself!!
- Latest Kernel version 3.4.109, includes all updates from linux mainstream, patched it form 3.4.39 up to 3.4.109 (was a lot of work)
- Choose between different CPU governors: Interactive (default), Powersave, Performance, Userspace, Conservative, Intellidemand, Intelliactive, Ondemand, Adaptive, Abyssplug, AbyssplugV2, Badass, DanceDance, ZZmove, Nightmare, Wheatley, Lionheart, Darkness, PegasusQ and Intellimm
- Built with latest ramdisk sources from samsung
- Kernelsource from T805XXU1BOG2
- Underclock to 200MHz and Overclock to 2.0GHz
- GPU works from 100MHz to 733MHz (default)
- I/O schedulers: ROW (Default), cfq, No-op, Deadline, Test, BFQ, FIOPS, SIO, VR, ZEN, FIFO and SIOplus
- Readahead can be set
- UKSM (Ultar Kernel Samepage Merging)
- Gentlefairsleeper and ARCH power
- Android Logger
- data and cache f2fs support!
- Init.d Support
- Busybox support
- Full STweaks support
- Charging Control
- Cpufreq voltcontrol
- ZRam and Swap
- Allow ADB-Insecure
- Low Memory Kill
- TCP (Network) control: Cubic (default), Reno, Bic, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, LP, Yeah and Illinois
- SeLinux is set to permissive
- Compiled as small as it could be (just around 6MB)
Download:​In the second post
Googy Max STweaks​
Bugs/Problems:​-sTweaks can't enable the right GPU over and underclock freqency
-Some other stweaks stuff, you will see
-Didn't tried the voltage table​
Instructions:​
If you want to install the Kernel, follow this:
1. Install a custom recovery for your tablet, like this one here: TWRP Recovery
2. Follow the instructions on the page above, until you get a working recovery
3. Download the Kernel from below and copy it to your external SD Card
4. Reboot to your recovery by pressing volume up, home button and power button at the same time.
5. Install zip, and select the kernel
6. Wipe cache and dalvik cache (recommand)
7. Reboot
Support:​If you like my work, please hit a thanks down on my posts. A thanks is enough!:highfive: If you really really really really really like my work, you can donate something to me, but it is not necessary. I created a paypal account, just in case, someone would give me a small donation. :good:
As I said, you don't have to give me something, but this keeps me motivated to built better roms and keep updating everything. It's your choice, and I'm very thankfull for every donation! No matter how big it is! Thank you so much for supporting me, cheers and have a nice day :fingers-crossed:​
Donators for the Kernel:​- @Hookmt Thank you very much for your support giving to me! I really love that and it also wasn't the first time you donate something to me! Thank you so much, I really really really appreciat that mate. Transaction number: 42P214019W495221S
Credits/Thanks:​- Samsung for sources
- @Christopher83 for the compiler
- @UpInTheAir for the work he already did in his own kernel (could use some of his commits on github (opensource) and see what he did when I didn't know what I did wrong). He also inspired me to work on my own stuff and kernel, thank you very much!
- @googy_anas, without him, I would not have a working kernel here, he did so much for me and also for his own kernel! He
let me use everything he already did, I got so much stuff from his page and included it in my kernel. I'm so thankfull for all the support he gave to me! I know a thank you isn't enough, but I wanted to write it here.
- @googy_anas (again this great man!) and @kryten2k35 thank you so much for let me using your stweaks app! Great work you have done on thatone!
- @faux123 for all the great stuff he did for the kernels
- @Yank555
If you want to take my work and need it somewhere, or do other things with it, please ask me first for the permission. Otherwise you are not allowed to take it! Thank you !
XDA:DevDB Information
Stock Based Kernel for Tab S 10.5, Kernel for the Samsung Galaxy Tab S
Contributors
Tkkg1994, @googy_anas
Source Code: https://github.com/Tkkg1994/IronKernel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: V2.5
Stable Release Date: 2015-10-13
Current Beta Version: 1.0
Beta Release Date: 2015-02-19
Created 2015-02-20
Last Updated 2015-10-12
Changelog:
Kitkat
IronKernel Beta V1.0 on 20.02.2015:
Initial release!
Ironkernel V1.1 26.02.2015:
-Temporarly removed Intelli-Plug
-Added voltcontroll for CPU
-Added Stweaks support and Stweaks app (all credits and stuff goes to @googy_anas and @Kryten2k35
-Hell lot of improvements
-Init.d support and busybox support
-GPU overclock to 733MHz
-CPU overclock to 2.1GHz (sorry, I couldn't get it stable )
-for more what I had done, visit here: Commits IronKernel
-Added fast charge support
IronKernel V1.2 01.03.2015:
- Built with latest toolchain (2015.02) by christopher83
- Use frandom from now
- Enable dynamic page writeback with earlysuspend
- Better battery charging control (kernel and stweaks)
- Auto install the right sTweaks version
- Reduce overestimating rq->avg_idle
- Optimize find_busiest_queue()
- Some CPUfreq optimizations
- Dynamic sync control with earlysuspend support
- Lowmemorykiller: implement task's adj rbtree
- Check free memory when tasks switch to background
- Dynamic FSync
- SOO Much more but I don't remember all
- After flashing the kernel, it will be successfull, but then show an error (becaus of mounting partition) don't worry, just reboot. Just ignore it
Changelog V1.3.5 08.03.15:
- Prerelease of V1.3 was on the ironrom
- Script auto-removes all knox containors/apps
- cpufreq: Retain only online cpus in managed_policy->cpus
- cpufreq: make the "scaling_cur_freq" sysfs entry pollable
- cpufreq: Make the "scaling_governor" sysfs node pollable
- cpufreq: Save and restore min and max frequencies
- fix some missing stuff with default governor
- cpufreq: Notify governors when cpus are hot-[un]plugged
- Updated nightmare and zzmoove governors
- net: ipv6: Add a sysctl to make optimistic addresses useful candidates
- fs/proc/task_mmu.c: add user-space support for resetting mm
- net: ipv6: allow choosing optimistic addresses with use_optimistic
- sched/idle: Avoid spurious wakeup IPIs
- cpufreq: Return directly in __cpufreq_get if policy is NULL
- new relation between governors
- ARM: 8226/1: cacheflush: get rid of restarting block
Changelog V1.4 23.03.15:
- It is simply to much to write everything here.. what I did
- Wolfson Control for the sound on our Tab S
- Added voltage control (doesen't work 100%)
- sched: Add an rq migration call-back to sched_class
- sched: Account for blocked load waking back up …
- sched: Normalize tg load contributions against runnable time
- sched: Refactor update_shares_cpu() -> update_blocked_avgs()
- sched/fair: Set se->vruntime directly in place_entity()
- sched: provide per cpu-cgroup option to notify on migrations
- sched: Make sure to not re-read variables after validation
- sched: Add WAKEUP_PREEMPTION feature flag, on by default
And this goes on for like 2 or 3 pages lol So the changelog is tooooooo long.
Lollipop
Changelog V2.0 10.04.15:
- Full lollipop compatible! (not with kitkat anymore!)
- Support CIFS
- Overclock to 2.0 GHz (other will be back soon)
- Include all features of all previous releases! Such as stweask, overclocked gpu etc.
- Based on latest samsung opensource T800XXU1BOCC
Was a lot of work to port all to Lollipop
If you got problems with sTweaks showing "loaded", but nothing happen, go to a root explorer, navigate to system/xbin, copy Busybox and past it in /sbin direction!
Changelog V2.1 16.05.15:
- Fix stweaks problems
- Voltage is still NOT working
- add tripndroid scheduler
- add row scheduler
- add and enable UKSM (ultra kernel samepage merging)
- update ramdisk to latest versions
- f2fs
- update linux to 3.4.107
- more stuff I may forgot
Changelog V2.2 08.07.15:
- Update to latest linux mainstream (3.4.108)
- Updated ramdisk source to OE3
- New source patches from official kernel opensource center (samsung)
- this does only work on the newer bases, as BOE3, the old ones will get a bootloop!
Changelog V2.2.5 16.07.15:
- Fixed "slow" charging (Thanks to AndreiLux and UpInTheAir!)
- Incrased sound so it will be a louder by default
- Some other small ramdisk fixes
Changelog V2.3 08.09.15:
- Kernel Rebased on latest OG2 kernel source
- Fix some heating issues that where reported
- Ramdisk update to OG2
- Fully support f2fs in /data and /cache
- Build with latest 4.9.4 toolchain
Changelog V2.4 05.10.15:
- Update to 5.2 toolchain compiled by myself!
- updated to 3.4.109 linux
- ftrace: Make all inline tags also include notrace
- compiler-gcc4.h: correct verion check for __compiletime_error
- compiler.h: add __visible
- compiler{,-gcc4}.h, bug.h: Remove duplicate macros
- some more optimisations concerning compiler
- msm: cpufreq: Only apply driver limits for scaling_min/max_freq writes
- drivers: cpufreq: Send a uevent when governor changes
- cpufreq: Save user policy min/max instead of policy min/max during hotplug
- cpufreq: Fix broken uevents for cpufreq governor and cpu devices
- cpufreq: Always allow update of user policy
- drivers: cpufreq: Upstream optimizations
- cpufreq: Export user_policy min/max
- cpufreq: Add policy notifiers
- cpufreq: Simplify cpufreq_add_dev()
- some more cpufreq things that I made
- cpufreq_stats: do not remove sysfs files if frequency table is not present
- sched/numa: Rewrite the CONFIG_NUMA sched domain support
- sched/numa: Fix the new NUMA topology bits
- sched/numa: Don't scale the imbalance
- sched/debug: Fix printing large integers on 32-bit platforms
- sched: Remove stale power aware scheduling remnants and dysfunctional knobs
- f2fs: update to latest version
- tima debug log disabled
- uksm: disabled by default
Changelog V2.5 13.10.15:
- enabled tima debug again
- fixed some Random reboots people had
- added pegasusq cpugovernor
- arm/crypto: Add optimized AES and SHA1 routines
- added cifs, nfs, exportfs, cdrom, all ramdisk support (joystick too)
- ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
- ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
- ARM: 8119/1: crypto: sha1: add ARM NEON implementation
- ARM: 8120/1: crypto: sha512: add ARM NEON implementation
- a lot of other crypto optimisations (like 10 patches)
- cpufreq: Move get_cpu_idle_time() to cpufreq.c
- workqueue: set delayed_work->timer function on initialization
- workqueue: don't use WQ_HIGHPRI for unbound workqueues
- workqueue: factor out worker_pool from global_cwq
- workqueue: use @pool instead of @gcwq or @Cpu where applicable
- workqueue: separate out worker_pool flags
- workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()
- workqueue: reimplement WQ_HIGHPRI using a separate worker_pool
- hashtable: introduce a small and naive hashtable
- workqueue: use new hashtable implementation
- workqueue: drop @bind from create_worker()
- much more workqueue updates, to see them all, please visit here: Github Kernel Updates
Governors and I/O Scheduler:
Original Thread: Governor Explained, all credits go to @stempox
1: OnDemand
2: OndemandX
3: Performance
4: Powersave
5: Conservative
6: Userspace
7: Min Max
8: Interactive
9: InteractiveX
10: Smartass
11: SmartassV2
12: Scary
13: Lagfree
14: Smoothass
15: Brazilianwax
16: SavagedZen
17: Lazy
18: Lionheart
19: LionheartX
20: Intellidemand
21: Hotplug
22: BadAss
23: Wheatley
24: Lulzactive
25: Pegasusq/Pegasusd
26: hotplugx
27: AbissPlug
28: MSM DCVS
29: IntelliActive
30: Adaptive
31: Nightmare
32: ZZmove
1: OnDemand Governor:
This governor has a hair trigger for boosting clockspeed to the maximum speed set by the user. If the CPU load placed by the user abates, the OnDemand governor will slowly step back down through the kernel's frequency steppings until it settles at the lowest possible frequency, or the user executes another task to demand a ramp.
OnDemand has excellent interface fluidity because of its high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand is commonly chosen by smartphone manufacturers because it is well-tested, reliable, and virtually guarantees the smoothest possible performance for the phone. This is so because users are vastly more likely to ***** about performance than they are the few hours of extra battery life another governor could have granted them.
This final fact is important to know before you read about the Interactive governor: OnDemand scales its clockspeed in a work queue context. In other words, once the task that triggered the clockspeed ramp is finished, OnDemand will attempt to move the clockspeed back to minimum. If the user executes another task that triggers OnDemand's ramp, the clockspeed will bounce from minimum to maximum. This can happen especially frequently if the user is multi-tasking. This, too, has negative implications for battery life.
2: OndemandX:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3: Performance Governor:
This locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task, such as syncing email, and returns the CPU to the extremely efficient low-power state. This still requires extensive testing, and a kernel that properly implements a given CPU's C-states (low power states).
4: Powersave Governor:
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.
5:Conservative Governor:
This biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.
The Conservative Governor is also frequently described as a "slow OnDemand," if that helps to give you a more complete picture of its functionality.
6: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency. This governor is more common amongst servers or desktop PCs where an application (like a power profile app) needs privileges to set the CPU clockspeed.
7: Min Max
well this governor makes use of only min & maximum frequency based on workload... no intermediate frequencies are used.
8: Interactive Governor:
Much like the OnDemand governor, the Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. This is where the similarities end. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.
Unlike OnDemand, which you'll recall scales clockspeed in the context of a work queue, Interactive scales the clockspeed over the course of a timer set arbitrarily by the kernel developer. In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. This can eliminate the frequency bouncing discussed in the OnDemand section. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. This is another pro-battery life benefit of Interactive.
However, because Interactive is permitted to spend more time at maximum frequency than OnDemand (for device performance reasons), the battery-saving benefits discussed above are effectively negated. Long story short, Interactive offers better performance than OnDemand (some say the best performance of any governor) and negligibly different battery life.
Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.
9: InteractiveX Governor:
Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.
10: Smartass
Is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"
11: SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
12: Scary
A new governor wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.
13: Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
14: Smoothass:
The same as the Smartass “governor” But MUCH more aggressive & across the board this one has a better battery life that is about a third better than stock KERNEL
15: Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery
16: SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
17: Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
18: Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source.
The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
19: LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
20: Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
21: Hotplug Governor:
The Hotplug governor performs very similarly to the OnDemand governor, with the added benefit of being more precise about how it steps down through the kernel's frequency table as the governor measures the user's CPU load. However, the Hotplug governor's defining feature is its ability to turn unused CPU cores off during periods of low CPU utilization. This is known as "hotplugging."
22: BadAss Governor:
Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 918Mhz and therefore stay cool and will use less power. To trigger a frequency increase, the system must run a bit @ 918Mhz with high load, then the frequency is bumped to 1188Mhz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)
Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1188Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.
23: Wheatley:
Building on the classic 'ondemand' governor is implemented Wheatley governor. The governor has two additional parameters:
target_residency - The minimum average residency in µs which is considered acceptable for a proper efficient usage of the C4 state. Default is 10000 = 10ms.
allowed_misses - The number sampling intervals in a row the average residency is allowed to be lower than target_residency before the governor reduces the frequency. This ensures that the governor is not too aggressive in scaling down the frequency and reduces it just because some background process was temporarily causing a larger number of wakeups. The default is 5.
Wheatley works as planned and does not hinder the proper C4 usage for task where the C4 can be used properly .
For internet browsing the time spend in C4 has increased by 10% points and the average residency has increased by about 1ms. I guess these differences are mostly due to the different browsing behaviour (I spend the last time more multi-tabbing). But at least we can say that Wheatley does not interfere with the proper use of the C4 state during 'light' tasks. For music playback with screen off the time spend in C4 is practically unchanged, however the average residency is reduced from around 30ms to around 18ms, but this is still more than acceptable.
So the results show that Wheatley works as intended and ensures that the C4 state is used whenever the task allows a proper efficient usage of the C4 state. For more demanding tasks which cause a large number of wakeups and prevent the efficient usage of the C4 state, the governor resorts to the next best power saving mechanism and scales down the frequency. So with the new highly-flexible Wheatley governor one can have the best of both worlds.
Obviously, this governor is only available on multi-core devices.
24: Lulzactive:
Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
25: Pegasusq/Pegasusd
The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging.
Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).
To ensure that each process has its fair share of resources, each running for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.
26: hotplugx
It 'a Hotplug modified and optimized for the suspension in off-screen
27: AbissPlug
It 'a Governor derived hotplug, it works the same way, but with the changes in savings for a better battery.
28: MSM DCVS
a very efficient and wide range of Dynamic Clock and
Voltage Scaling (DCVS) which addresses usage models from
active standby to mid and high level processing requirements.
A Krait CPU can smoothly scale from low power, low
leakage mode to blazingly fast performance.
Believe it's a governor that is mfg'd by qualcomm to utilize new on chip features.
MSM is the prefix for the SOC (MSM8960) and DCVS is Dynamic Clock and Voltage Scaling. Makes sense, MSM-DCVS
29: IntelliActive
Based off Google's Interactive governor with the following enhancements:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to max freq
3. Checks for offline cpus and short circuits some unnecessary checks to improve code execution paths
30: Adaptive
This driver adds a dynamic cpufreq policy governor
designed for latency-sensitive workloads and also for demanding
performance.
This governor attempts to reduce the latency of clock
increases so that the system is more responsive to
interactive workloads in loweset steady-state but to
to reduce power consumption in middle operation level level up
will be done in step by step to prohibit system from going to
max operation level.
31: Nightmare
A PegasusQ modified, less aggressive and more stable. A good compromise between performance and battery.
In addition to the SoD is a prevention because it usually does not hotplug.
32: ZZmove
ZZmove Governor optimized for low power consumption with the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. It has three settings: battery saver, balanced and performance. In addition to a performance boost, there is also the governor zzmove optimized.
I/O Scheduler: Thread:I/O Scheduler explained
The Scheduler is an algorithm that, given a set of requests for access to a resource, establishing a temporal order for the execution of such requests, favoring those that meet certain criteria in order to optimize access to that resource.
The difference between the various scheduler is the focus on certain criteria rather than on others.
The choice of a given scheduler does not produce visible changes so as to the choice of the governor, but still provides some improvements.
As usual schedulers are personally tested to find one that best suits your needs.
Deadline
It aims to provide a deadline, a deadline for all requests in order to avoid undesirable phenomena such as the "starvation" or the eternal waiting for some requests that occurs when one or more background processes are left indefinitely in the queue the ready, because there is always at least one of the highest priority ready process.
V (r)
The next request is performed according to the distance from the last request. In the network running good opinions about this scheduler.
No-op
Push all requests in a single queue simply by their arrival order, grouping together those contiguous.
SIO
E 'the scheduler simpler, does not make any type of sort, is intended only for the purpose of obtaining a low-latency, ie to reduce the amount of time that elapses between the instant at which the request is generated and that in which the request is satisfied.
CFQ
Order requests of different processes in queues for each queue type and assigns a specific interval of time whose duration depends on the priorities assigned to processes. Can be considered the Ondemand the scheduler, the scheduler is in fact more balanced, doing its job in an honest manner.
BFQ
It 's based on CFQ but, instead of the intervals of time, assigns a part of the bandwidth of the disc to each process running in a proportional manner.
Anticipatory
Order requests based on criteria predictive, that puts the demands paused for a short period of time in anticipation that more of this to come to aggregate them.
ADAPTIVE ANTICIPATORY SCHEDULER
For the anticipatory scheduler, we scale up the anticipation timeout (antic expire) using the latency scaling factor over time. When the virtual disk latencies are low a small scaling of the timeout is sucient to prevent deceptive idleness, whereas when the latencies are high a larger scaling of the timeout value may be required to achieve the same. Note that such dynamic setting of the timeout value ensures that we attain a good trade-o between throughput (lost due to idling) and deceptive idleness mitigation. Setting a high value for the scaling factor (increasing idling time) only happens when the disk service latencies themselves are higher. This may not necessarily cause a signicant loss in throughput, because submitting a request from another process instead of idling is not going to improve throughput if the virtual disk itself does not get any faster than it is at the current period. A higher anticipation timeout might also be capable of absorbing process scheduling eects inside the VM. The results for the adaptive anticipatory scheduler are shown in Figure 2. The read time with our modied implementation (third bar in the dierent scheduler combinations) shows that it is possible to mitigate the eects of deceptive idleness by adapting the timeout. An interesting related observation is that the level to which the improve- ment is possible varies for dierent Domain-0 schedulers; noop - 39%, anticipatory - 67% and cfq - 36%. This again points to the fact that the I/O scheduler used in Domain-0 is important for the VM's ability in enforcing I/O scheduling guarantees. Dierent Domain-0 I/O schedulers likely have a dierent service latency footprint inside the VMs, contributing to dierent levels of improvement.
ROW
Row stands for READ Over WRITE which is the main requests dispatch policy of this algorithm. The ROW IO scheduler was developed with the mobile devices needs in mind. In mobile devices we favor user experience upon everything else, thus we want to give READ IO requests as much priority as possible. In mobile devices we won't have as much parallel threads as on desktops. Usually it's a single thread or at most 2 simultaneous working threads for read & write. Favoring READ requests over WRITEs decreases the READ latency greatly.
The main idea of the ROW scheduling policy is: If there are READ requests in pipe - dispatch them but don't starve the WRITE requests too much. Bellow you'll find a small comparison of ROW to existing schedulers. The test that was run for these measurements is parallel read and write.
FIOS
Flash-based solid-state drives (SSDs) have the potential to eliminate the I/O bottlenecks in data-intensive applications However the large performance discrepancy between Flash reads and writes introduces challenges for fair resource usage. Further, existing fair queuing and quanta-based I/O schedulers poorly manage the I/O anticipation for Flash I/O fairness and efficiency. Some also suppress the I/O parallelism which causes substantial performance degradation on Flash. This paper develops FIOS, a new Flash I/O scheduler that attains fairness and high efficiency at the same time. FIOS employs a fair I/O time-slice management with mechanisms for read preference, parallelism, and fairness-oriented I/O anticipation. Evaluation demonstrates that FIOS achieves substantially better fairness and efficiency compared to the Linux CFQ scheduler, the SFQ(D) fair queuing scheduler, and the Argon quanta-based scheduler on several Flash-based storage devices (including a CompactFlash card in a low-power wimpy node). In particular, FIOS reduces the worst-case slowdown bya factor of 2.3 or more when the read-only SPECweb workload runs together with the write-intensive TPC
Sweet! In terms of battery life, did it improve for you? You made one of the best TW roms and now this great job!
DUHAsianSKILLZ said:
Sweet! In terms of battery life, did it improve for you? You made one of the best TW roms and now this great job!
Click to expand...
Click to collapse
Thank you! I think we have less devs here in Tab S section, so I have to do something here
I couldn't test the batterylife till now, I was testing whole 2 weeks to get the kernel working (got holidays) So I will report you back!
Intelli-Plug speeks for better batterylife, it shuts down 3 cores if they are not needed (screen off = only 1 core working with 200Mhz or something)
Tkkg1994 said:
Thank you! I think we have less devs here in Tab S section, so I have to do something here
I couldn't test the batterylife till now, I was testing whole 2 weeks to get the kernel working (got holidays) So I will report you back!
Intelli-Plug speeks for better batterylife, it shuts down 3 cores if they are not needed (screen off = only 1 core working with 200Mhz or something)
Click to expand...
Click to collapse
Thanks! Ill downgrade tommrow or so back to kitkat and try xnote rom. I can try your kernel when I do that.
DUHAsianSKILLZ said:
Thanks! Ill downgrade tommrow or so back to kitkat and try xnote rom. I can try your kernel when I do that.
Click to expand...
Click to collapse
Always a pleasure to have you as a user!
Not the ironrom
Wrong thread
Mokum020 said:
Thank you for your great work (again)!
Your kernel is running perfect here on T805 with X-Note.
would love to be able to try 2.1/2.2Ghz, 2.1Ghz is no problem for my Tab S with SkyHigh.
View attachment 3174370View attachment 3174371
Click to expand...
Click to collapse
I always make kind of a "stresstest" for the CPU freq. I set min freq to 2.1GHz and max freq to 2.1GHz. Than see what happen. I couldn't get it stable enough for daily use, but if I can, I will enable 2.1GHz for sure
Confirmed working on the T800 with xnote rom.
DUHAsianSKILLZ said:
Confirmed working on the T800 with xnote rom.
Click to expand...
Click to collapse
Thank you for testing
I added a description of governors and I/O schedulers above
To install this with Ironrom, should I do anything with Synapse first to either return settings to default or uninstall? Or should I reflash IronRom, leaving out Synapse in Aroma and then flash the new kernel? I plan on trying Kernel Auditor.
Also, will you be adding this kernel to the aroma options soon (or are you waiting for more testing to come in)?
Hookmt said:
To install this with Ironrom, should I do anything with Synapse first to either return settings to default or uninstall? Or should I reflash IronRom, leaving out Synapse in Aroma and then flash the new kernel? I plan on trying Kernel Auditor.
Also, will you be adding this kernel to the aroma options soon (or are you waiting for more testing to come in)?
Click to expand...
Click to collapse
The kernel doesn' support synapse. You can just uninstall it if you like to and than install your kernel auditor.
Yes it will come to aroma soon, I'm waiting for samsung to release a new base for T800
And yes, testing is always welcome
Can you include some tips for let's say performance settings, battery settings, both battery and performance settings etc. I'm still testing a few things too, but can't figure out the best battery settings in faux.
DUHAsianSKILLZ said:
Can you include some tips for let's say performance settings, battery settings, both battery and performance settings etc. I'm still testing a few things too, but can't figure out the best battery settings in faux.
Click to expand...
Click to collapse
Intelli-plug, KSM enabled, Governor... I would say intellimm is good for battery but a bit slow. Interactive with intelliplug is nice
With Stweaks Support does the Kernel support BLN (blinking Soft Keys)? God, this would be awesome!!
If not, could you create a Custom Kernel with this Feature?
haselchen said:
With Stweaks Support does the Kernel support BLN (blinking Soft Keys)? God, this would be awesome!!
If not, could you create a Custom Kernel with this Feature?
Click to expand...
Click to collapse
If you would have read correctly, you will see that I'm currently adding sTweaks support. And it don't supports it now, but seems like a good idea!
Please realize this idea
Tkkg1994, this is what I call a very promising start.
Detailed walkthrough, FAQ style, and a very interesting feature rich kernel... I'm on CM12 right now, but already eager to try this in the coming days with IronRom, of course.
A Big Thanks from the other side of the world... Porto, Portugal.
Tkkg1994 said:
Intelli-plug, KSM enabled, Governor... I would say intellimm is good for battery but a bit slow. Interactive with intelliplug is nice
Click to expand...
Click to collapse
IntellIplug is nice but sometimes you cant turn the tablet on when it's enabled. I even set the screen off frequency to something above 200mhz. I had to force reboot a couple times. Did you managed to get it work? I even tryed all the profiles including balanced etc and also changing the governer. For now I'll keep it off but battery seems good so far!

[KERNEL][TW/LP][13.10.15][SM-T700][SM-T705] IronKernel V2.5 STweaks

Hey guys, I'm back with a new KERNEL for both Variants of the Tab S 8.4 (T700 and T705)!
Some guys probably know me from the IronRom . I decided myselfe to create a custom kernel for our really great Tab s 8.4, I'm getting better and better at this stuff, I don't thought that
It is basically the normal kernel with some modifications for better performance and hopefully also batterylife. It is for the stock kitkat (4.4.2) touchwiz and not for cyanogenmod or something else.
I excuse all devs here visiting my github page, it is such a mess (with the commits)! I know it, but I'm doing this the first time, so hopefully you will forgive me.
The kernel is pretty stable, I just call it a beta version, because I can't test the T700 and T705 version, so if with thisone also all works great -> stable
IF YOU FOLLOW MY STEPS BELOW, YOU WILL MAY LOSE YOUR WARRANTY, KNOX WILL DISPLAY 0x1! I'M NOT RESPONSIBLE FOR ANY DAMAGED DEVICE!
You can try to use the kernel adiutor app, or just the preinstalled sTweaks, but not both at the same time! This will cause problems.
Features of my Kernel::​- Built with latest Linaro Toolchain 4.9.3 made by christopher83
- Latest Kernel version 3.4.109, includes all important linux patches, patched it form 3.4.39 up to 3.4.109 (was a lot of work)
- Choose between different CPU governors: Interactive (default), Powersave, Performance, Userspace, Conservative, Intellidemand, Intelliactive, Ondemand, Adaptive, Abyssplug, AbyssplugV2, Badass, DanceDance, ZZmove, Nightmare, Wheatley, Lionheart, Darkness, PegasusQ and Intellimm
- Built with latest ramdisk sources from samsung
- Kernelsource from T805XXU1BOG2
- Underclock to 200MHz and Overclock to 2.0GHz
- GPU works from 100MHz to 733MHz (default)
- I/O schedulers: ROW (Default), CFQ, No-op, Deadline, Test, BFQ, FIOPS, SIO, VR, ZEN, FIFO and SIOplus
- Readahead can be set
- KSM (Kernel Samepage Merging)
- Gentlefairsleeper and ARCH power
- Android Logger
- Init.d Support
- data and cache f2fs support!
- Busybox support
- Full STweaks support
- Charging Control
- Cpufreq voltcontrol
- ZRam and Swap
- Allow ADB-Insecure
- Low Memory Kill
- TCP (Network) control: Cubic (default), Reno, Bic, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, LP, Yeah and Illinois
- SeLinux is set to permissive
- Compiled as small as it could be (just around 6MB)
Download:​In the second post
Googy-Max STweaks​
Bugs/Problems:​-sTweaks can't enable the right GPU over and underclock freqency
-Some other stweaks stuff, you will see
-Didn't tried the voltage table​
Instructions:​
If you want to install the Kernel, follow this:
1. Install a custom recovery for your tablet, like this one here: TWRP Recovery
2. Follow the instructions on the page above, until you get a working recovery
3. Download the Kernel from below and copy it to your external SD Card
4. Reboot to your recovery by pressing volume up, home button and power button at the same time.
5. Install zip, and select the kernel
6. Wipe cache and dalvik cache (recommand)
7. Reboot
Support:​If you like my work, please hit a thanks down on my posts. A thanks is enough!:highfive: If you really really really really really like my work, you can donate something to me, but it is not necessary. I created a paypal account, just in case, someone would give me a small donation. :good:
As I said, you don't have to give me something, but this keeps me motivated to built better roms and keep updating everything. It's your choice, and I'm very thankfull for every donation! No matter how big it is! Thank you so much for supporting me, cheers and have a nice day :fingers-crossed:​
Donators for the Kernel:​
Credits/Thanks:​- Samsung for sources
- @Christopher83 for the compiler
- @UpInTheAir for the work he already did in his own kernel (could use some of his commits on github (opensource) and see what he did when I didn't know what I did wrong). He also inspired me to work on my own stuff and kernel, thank you very much!
- @googy_anas, without him, I would not have a working kernel here, he did so much for me and also for his own kernel! He
let me use everything he already did, I got so much stuff from his page and included it in my kernel. I'm so thankfull for all the support he gave to me! I know a thank you isn't enough, but I wanted to write it here.
- @googy_anas (again ) and @kryten2k35 for the great stweaks app and that I can use your modification in the app (I don't edited it) Thank you so much!
- @faux123 for all the great stuff he did for the kernels
- @Yank555
- @AndreiLux
- @Halaszk87
If you want to take my work and need it somewhere, or do other things with it, please ask me first for the permission. Otherwise you are not allowed to take it! Thank you !
XDA:DevDB Information
Stock Based Kernel for Tab S 8.4, Kernel for the Samsung Galaxy Tab S
Contributors
Tkkg1994, @googy_anas
Source Code: https://github.com/Tkkg1994/IronKernel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: V2.5
Stable Release Date: 2015-10-13
Current Beta Version: 1.0
Beta Release Date: 2015-02-20
Created 2015-02-20
Last Updated 2015-10-12
Changelog:
Kitkat
Ironkernel Beta V1.0 20.02.2015:
- Initial Release!
Ironkernel V1.1 26.02.2015:
-Temporarly removed Intelli-Plug
-Added voltcontroll for CPU
-Added Stweaks support and Stweaks app (all credits and stuff goes to @googy_anas and @Kryten2k35
-Hell lot of improvements
-Init.d support and busybox support
-GPU overclock to 733MHz
-CPU overclock to 2.1GHz (sorry, I couldn't get it stable )
-Fast charge control
-for more what I had done, visit here: Commits IronKernel
IronKernel V1.2 01.03.2015:
- Built with latest toolchain (2015.02) by christopher83
- Use frandom from now
- Enable dynamic page writeback with earlysuspend
- Better battery charging control (kernel and stweaks)
- Auto install the right sTweaks version
- Reduce overestimating rq->avg_idle
- Optimize find_busiest_queue()
- Some CPUfreq optimizations
- Dynamic sync control with earlysuspend support
- Lowmemorykiller: implement task's adj rbtree
- Check free memory when tasks switch to background
- Dynamic FSync
- SOO Much more but I don't remember all
- After flashing the kernel, it will be successfull, but then show an error (becaus of mounting partition) don't worry, just reboot. Just ignore it
Changelog V1.3.5 08.03.15:
- Prerelease of V1.3 was on the ironrom
- Script auto-removes all knox containors/apps
- cpufreq: Retain only online cpus in managed_policy->cpus
- cpufreq: make the "scaling_cur_freq" sysfs entry pollable
- cpufreq: Make the "scaling_governor" sysfs node pollable
- cpufreq: Save and restore min and max frequencies
- fix some missing stuff with default governor
- cpufreq: Notify governors when cpus are hot-[un]plugged
- Updated nightmare and zzmoove governors
- net: ipv6: Add a sysctl to make optimistic addresses useful candidates
- fs/proc/task_mmu.c: add user-space support for resetting mm
- net: ipv6: allow choosing optimistic addresses with use_optimistic
- sched/idle: Avoid spurious wakeup IPIs
- cpufreq: Return directly in __cpufreq_get if policy is NULL
- new relation between governors
- ARM: 8226/1: cacheflush: get rid of restarting block
Changelog V1.4 23.03.15:
- It is simply to much to write everything here.. what I did
- Wolfson Control for the sound on our Tab S
- Added voltage control (doesen't work 100%)
- sched: Add an rq migration call-back to sched_class
- sched: Account for blocked load waking back up …
- sched: Normalize tg load contributions against runnable time
- sched: Refactor update_shares_cpu() -> update_blocked_avgs()
- sched/fair: Set se->vruntime directly in place_entity()
- sched: provide per cpu-cgroup option to notify on migrations
- sched: Make sure to not re-read variables after validation
- sched: Add WAKEUP_PREEMPTION feature flag, on by default
And this goes on for like 2 or 3 pages lol So the changelog is tooooooo long.
Lollipop
Changelog V2.0 08.07.15:
- @Richcar confirmed that it works (trust him )
- updated to linux 3.4.108 mainstream
- f2fs update
- add tripndroid scheduler
- add row scheduler
- add and enable UKSM (ultra kernel samepage merging)
- update ramdisk to latest versions
- more things I may forgot
- ONLY for touchwiz lollipop! You MUST have a EO3 base or higher (your rom)
Changelog V2.0.5 16.07.15:
- Fixed "slow" charging (Thanks to AndreiLux and UpInTheAir!)
- Incrased sound so it will be a louder by default
- Some other small ramdisk fixes
- Update to OF1 and OF2 ramdisk
- You have to be on latest samsung based roms (as OEx or OFx) otherwise not booting!
Changelog V2.5 13.10.15:
- Merged latest OG2 source, adapted by OE9 source from T705, fully rebased kernel!
- Update to 5.2 toolchain compiled by myself!
- this kernel is now up-to-date with T800/T805 kernel!
- updated to 3.4.109 linux
- ftrace: Make all inline tags also include notrace
- compiler-gcc4.h: correct verion check for __compiletime_error
- compiler.h: add __visible
- compiler{,-gcc4}.h, bug.h: Remove duplicate macros
- some more optimisations concerning compiler
- msm: cpufreq: Only apply driver limits for scaling_min/max_freq writes
- drivers: cpufreq: Send a uevent when governor changes
- cpufreq: Save user policy min/max instead of policy min/max during hotplug
- cpufreq: Fix broken uevents for cpufreq governor and cpu devices
- cpufreq: Always allow update of user policy
- drivers: cpufreq: Upstream optimizations
- cpufreq: Export user_policy min/max
- cpufreq: Add policy notifiers
- cpufreq: Simplify cpufreq_add_dev()
- some more cpufreq things that I made
- cpufreq_stats: do not remove sysfs files if frequency table is not present
- sched/numa: Rewrite the CONFIG_NUMA sched domain support
- sched/numa: Fix the new NUMA topology bits
- sched/numa: Don't scale the imbalance
- sched/debug: Fix printing large integers on 32-bit platforms
- sched: Remove stale power aware scheduling remnants and dysfunctional knobs
- f2fs: update to latest version
- uksm: disabled by default
- fixed some Random reboots people had
- added pegasusq cpugovernor
- arm/crypto: Add optimized AES and SHA1 routines
- added cifs, nfs, exportfs, cdrom, all ramdisk support (joystick too)
- ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
- ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
- ARM: 8119/1: crypto: sha1: add ARM NEON implementation
- ARM: 8120/1: crypto: sha512: add ARM NEON implementation
- a lot of other crypto optimisations (like 10 patches)
- cpufreq: Move get_cpu_idle_time() to cpufreq.c
- workqueue: set delayed_work->timer function on initialization
- workqueue: don't use WQ_HIGHPRI for unbound workqueues
- workqueue: factor out worker_pool from global_cwq
- workqueue: use @pool instead of @gcwq or @Cpu where applicable
- workqueue: separate out worker_pool flags
- workqueue: introduce NR_WORKER_POOLS and for_each_worker_pool()
- workqueue: reimplement WQ_HIGHPRI using a separate worker_pool
- hashtable: introduce a small and naive hashtable
- workqueue: use new hashtable implementation
- workqueue: drop @bind from create_worker()
- much more workqueue updates, to see them all, please visit here: Github Kernel Updates
Governors and I/O Scheduler:
Original Thread: Governor Explained, all credits go to @stempox
1: OnDemand
2: OndemandX
3: Performance
4: Powersave
5: Conservative
6: Userspace
7: Min Max
8: Interactive
9: InteractiveX
10: Smartass
11: SmartassV2
12: Scary
13: Lagfree
14: Smoothass
15: Brazilianwax
16: SavagedZen
17: Lazy
18: Lionheart
19: LionheartX
20: Intellidemand
21: Hotplug
22: BadAss
23: Wheatley
24: Lulzactive
25: Pegasusq/Pegasusd
26: hotplugx
27: AbissPlug
28: MSM DCVS
29: IntelliActive
30: Adaptive
31: Nightmare
32: ZZmove
1: OnDemand Governor:
This governor has a hair trigger for boosting clockspeed to the maximum speed set by the user. If the CPU load placed by the user abates, the OnDemand governor will slowly step back down through the kernel's frequency steppings until it settles at the lowest possible frequency, or the user executes another task to demand a ramp.
OnDemand has excellent interface fluidity because of its high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand is commonly chosen by smartphone manufacturers because it is well-tested, reliable, and virtually guarantees the smoothest possible performance for the phone. This is so because users are vastly more likely to ***** about performance than they are the few hours of extra battery life another governor could have granted them.
This final fact is important to know before you read about the Interactive governor: OnDemand scales its clockspeed in a work queue context. In other words, once the task that triggered the clockspeed ramp is finished, OnDemand will attempt to move the clockspeed back to minimum. If the user executes another task that triggers OnDemand's ramp, the clockspeed will bounce from minimum to maximum. This can happen especially frequently if the user is multi-tasking. This, too, has negative implications for battery life.
2: OndemandX:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3: Performance Governor:
This locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task, such as syncing email, and returns the CPU to the extremely efficient low-power state. This still requires extensive testing, and a kernel that properly implements a given CPU's C-states (low power states).
4: Powersave Governor:
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.
5:Conservative Governor:
This biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.
The Conservative Governor is also frequently described as a "slow OnDemand," if that helps to give you a more complete picture of its functionality.
6: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency. This governor is more common amongst servers or desktop PCs where an application (like a power profile app) needs privileges to set the CPU clockspeed.
7: Min Max
well this governor makes use of only min & maximum frequency based on workload... no intermediate frequencies are used.
8: Interactive Governor:
Much like the OnDemand governor, the Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. This is where the similarities end. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.
Unlike OnDemand, which you'll recall scales clockspeed in the context of a work queue, Interactive scales the clockspeed over the course of a timer set arbitrarily by the kernel developer. In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. This can eliminate the frequency bouncing discussed in the OnDemand section. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. This is another pro-battery life benefit of Interactive.
However, because Interactive is permitted to spend more time at maximum frequency than OnDemand (for device performance reasons), the battery-saving benefits discussed above are effectively negated. Long story short, Interactive offers better performance than OnDemand (some say the best performance of any governor) and negligibly different battery life.
Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.
9: InteractiveX Governor:
Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.
10: Smartass
Is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"
11: SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
12: Scary
A new governor wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.
13: Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
14: Smoothass:
The same as the Smartass “governor” But MUCH more aggressive & across the board this one has a better battery life that is about a third better than stock KERNEL
15: Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery
16: SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
17: Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
18: Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source.
The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
19: LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
20: Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
21: Hotplug Governor:
The Hotplug governor performs very similarly to the OnDemand governor, with the added benefit of being more precise about how it steps down through the kernel's frequency table as the governor measures the user's CPU load. However, the Hotplug governor's defining feature is its ability to turn unused CPU cores off during periods of low CPU utilization. This is known as "hotplugging."
22: BadAss Governor:
Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 918Mhz and therefore stay cool and will use less power. To trigger a frequency increase, the system must run a bit @ 918Mhz with high load, then the frequency is bumped to 1188Mhz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)
Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1188Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.
23: Wheatley:
Building on the classic 'ondemand' governor is implemented Wheatley governor. The governor has two additional parameters:
target_residency - The minimum average residency in µs which is considered acceptable for a proper efficient usage of the C4 state. Default is 10000 = 10ms.
allowed_misses - The number sampling intervals in a row the average residency is allowed to be lower than target_residency before the governor reduces the frequency. This ensures that the governor is not too aggressive in scaling down the frequency and reduces it just because some background process was temporarily causing a larger number of wakeups. The default is 5.
Wheatley works as planned and does not hinder the proper C4 usage for task where the C4 can be used properly .
For internet browsing the time spend in C4 has increased by 10% points and the average residency has increased by about 1ms. I guess these differences are mostly due to the different browsing behaviour (I spend the last time more multi-tabbing). But at least we can say that Wheatley does not interfere with the proper use of the C4 state during 'light' tasks. For music playback with screen off the time spend in C4 is practically unchanged, however the average residency is reduced from around 30ms to around 18ms, but this is still more than acceptable.
So the results show that Wheatley works as intended and ensures that the C4 state is used whenever the task allows a proper efficient usage of the C4 state. For more demanding tasks which cause a large number of wakeups and prevent the efficient usage of the C4 state, the governor resorts to the next best power saving mechanism and scales down the frequency. So with the new highly-flexible Wheatley governor one can have the best of both worlds.
Obviously, this governor is only available on multi-core devices.
24: Lulzactive:
Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
25: Pegasusq/Pegasusd
The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging.
Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).
To ensure that each process has its fair share of resources, each running for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.
26: hotplugx
It 'a Hotplug modified and optimized for the suspension in off-screen
27: AbissPlug
It 'a Governor derived hotplug, it works the same way, but with the changes in savings for a better battery.
28: MSM DCVS
a very efficient and wide range of Dynamic Clock and
Voltage Scaling (DCVS) which addresses usage models from
active standby to mid and high level processing requirements.
A Krait CPU can smoothly scale from low power, low
leakage mode to blazingly fast performance.
Believe it's a governor that is mfg'd by qualcomm to utilize new on chip features.
MSM is the prefix for the SOC (MSM8960) and DCVS is Dynamic Clock and Voltage Scaling. Makes sense, MSM-DCVS
29: IntelliActive
Based off Google's Interactive governor with the following enhancements:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to max freq
3. Checks for offline cpus and short circuits some unnecessary checks to improve code execution paths
30: Adaptive
This driver adds a dynamic cpufreq policy governor
designed for latency-sensitive workloads and also for demanding
performance.
This governor attempts to reduce the latency of clock
increases so that the system is more responsive to
interactive workloads in loweset steady-state but to
to reduce power consumption in middle operation level level up
will be done in step by step to prohibit system from going to
max operation level.
31: Nightmare
A PegasusQ modified, less aggressive and more stable. A good compromise between performance and battery.
In addition to the SoD is a prevention because it usually does not hotplug.
32: ZZmove
ZZmove Governor optimized for low power consumption with the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. It has three settings: battery saver, balanced and performance. In addition to a performance boost, there is also the governor zzmove optimized.
I/O Scheduler: Thread:I/O Scheduler explained
The Scheduler is an algorithm that, given a set of requests for access to a resource, establishing a temporal order for the execution of such requests, favoring those that meet certain criteria in order to optimize access to that resource.
The difference between the various scheduler is the focus on certain criteria rather than on others.
The choice of a given scheduler does not produce visible changes so as to the choice of the governor, but still provides some improvements.
As usual schedulers are personally tested to find one that best suits your needs.
Deadline
It aims to provide a deadline, a deadline for all requests in order to avoid undesirable phenomena such as the "starvation" or the eternal waiting for some requests that occurs when one or more background processes are left indefinitely in the queue the ready, because there is always at least one of the highest priority ready process.
V (r)
The next request is performed according to the distance from the last request. In the network running good opinions about this scheduler.
No-op
Push all requests in a single queue simply by their arrival order, grouping together those contiguous.
SIO
E 'the scheduler simpler, does not make any type of sort, is intended only for the purpose of obtaining a low-latency, ie to reduce the amount of time that elapses between the instant at which the request is generated and that in which the request is satisfied.
CFQ
Order requests of different processes in queues for each queue type and assigns a specific interval of time whose duration depends on the priorities assigned to processes. Can be considered the Ondemand the scheduler, the scheduler is in fact more balanced, doing its job in an honest manner.
BFQ
It 's based on CFQ but, instead of the intervals of time, assigns a part of the bandwidth of the disc to each process running in a proportional manner.
Anticipatory
Order requests based on criteria predictive, that puts the demands paused for a short period of time in anticipation that more of this to come to aggregate them.
ADAPTIVE ANTICIPATORY SCHEDULER
For the anticipatory scheduler, we scale up the anticipation timeout (antic expire) using the latency scaling factor over time. When the virtual disk latencies are low a small scaling of the timeout is sucient to prevent deceptive idleness, whereas when the latencies are high a larger scaling of the timeout value may be required to achieve the same. Note that such dynamic setting of the timeout value ensures that we attain a good trade-o between throughput (lost due to idling) and deceptive idleness mitigation. Setting a high value for the scaling factor (increasing idling time) only happens when the disk service latencies themselves are higher. This may not necessarily cause a signicant loss in throughput, because submitting a request from another process instead of idling is not going to improve throughput if the virtual disk itself does not get any faster than it is at the current period. A higher anticipation timeout might also be capable of absorbing process scheduling eects inside the VM. The results for the adaptive anticipatory scheduler are shown in Figure 2. The read time with our modied implementation (third bar in the dierent scheduler combinations) shows that it is possible to mitigate the eects of deceptive idleness by adapting the timeout. An interesting related observation is that the level to which the improve- ment is possible varies for dierent Domain-0 schedulers; noop - 39%, anticipatory - 67% and cfq - 36%. This again points to the fact that the I/O scheduler used in Domain-0 is important for the VM's ability in enforcing I/O scheduling guarantees. Dierent Domain-0 I/O schedulers likely have a dierent service latency footprint inside the VMs, contributing to dierent levels of improvement.
ROW
Row stands for READ Over WRITE which is the main requests dispatch policy of this algorithm. The ROW IO scheduler was developed with the mobile devices needs in mind. In mobile devices we favor user experience upon everything else, thus we want to give READ IO requests as much priority as possible. In mobile devices we won't have as much parallel threads as on desktops. Usually it's a single thread or at most 2 simultaneous working threads for read & write. Favoring READ requests over WRITEs decreases the READ latency greatly.
The main idea of the ROW scheduling policy is: If there are READ requests in pipe - dispatch them but don't starve the WRITE requests too much. Bellow you'll find a small comparison of ROW to existing schedulers. The test that was run for these measurements is parallel read and write.
FIOS
Flash-based solid-state drives (SSDs) have the potential to eliminate the I/O bottlenecks in data-intensive applications However the large performance discrepancy between Flash reads and writes introduces challenges for fair resource usage. Further, existing fair queuing and quanta-based I/O schedulers poorly manage the I/O anticipation for Flash I/O fairness and efficiency. Some also suppress the I/O parallelism which causes substantial performance degradation on Flash. This paper develops FIOS, a new Flash I/O scheduler that attains fairness and high efficiency at the same time. FIOS employs a fair I/O time-slice management with mechanisms for read preference, parallelism, and fairness-oriented I/O anticipation. Evaluation demonstrates that FIOS achieves substantially better fairness and efficiency compared to the Linux CFQ scheduler, the SFQ(D) fair queuing scheduler, and the Argon quanta-based scheduler on several Flash-based storage devices (including a CompactFlash card in a low-power wimpy node). In particular, FIOS reduces the worst-case slowdown bya factor of 2.3 or more when the read-only SPECweb workload runs together with the write-intensive TPC
Can't wait to try this out on my t700
You might want to amend your OP. If you study the source code a little more and try understand things. You'll find there are no (actual) A7 100 MHz. A7 cores freq are doubled 100-650 (become 200-1300) MHz. A15 cores 800-1900+. Samsung have done it this way for IKS to work easily.
Some CPU control apps will just read the table but not able to differentiate between the A7 and A15 cores, and just display what's read from the frequency table.
You've made a good start, but 99% over those governors aren't suitable and/or optimized for Exynos. A "shotgun" approach isn't always the best way, but hey, this is your toy.
UpInTheAir said:
You might want to amend your OP. If you study the source code a little more and try understand things. You'll find there are no (actual) A7 100 MHz. A7 cores freq are doubled 100-650 (become 200-1300) MHz. A15 cores 800-1900+. Samsung have done it this way for IKS to work easily.
Some CPU control apps will just read the table but not able to differentiate between the A7 and A15 cores, and just display what's read from the frequency table.
You've made a good start, but 99% over those governors aren't suitable and/or optimized for Exynos. A "shotgun" approach isn't always the best way, but hey, this is your toy.
Click to expand...
Click to collapse
Now I understand that a little bit more. Because I added first a 100MHz support and added all stuff to get it work and than, it displayed me 50MHz and I thought, what the heck is going wrong here?
So I removed it again. Thank you for helping out here.
Suitable are they, but optimized not at the moment. You know, otherwise I wont have work left
And that's also why I call it a beta version at the moment.
Tkkg1994 said:
Now I understand that a little bit more. Because I added first a 100MHz support and added all stuff to get it work and than, it displayed me 50MHz and I thought, what the heck is going wrong here?
So I removed it again. Thank you for helping out here.
Suitable are they, but optimized not at the moment. You know, otherwise I wont have work left
And that's also why I call it a beta version at the moment.
Click to expand...
Click to collapse
No, a lot are not suitable, as they are written for krait SoC (4 main cores), just like intelli-plug etc. I found they were more of a hassle and eroded kernel stability, hence I never committed the changes for release. You might find otherwise, so no harm to try. Can be fun, and also a headache too
Snapdragon 810 will be using big.LITTLE architecture same as Exynos, so hopefully faux will port some of his work over. Although it will be HMP, maybe we can adapt to our IKS kernel.
UpInTheAir said:
No, a lot are not suitable, as they are written for krait SoC (4 main cores), just like intelli-plug etc. I found they were more of a hassle and eroded kernel stability, hence I never committed the changes for release. You might find otherwise, so no harm to try. Can be fun, and also a headache too
Snapdragon 810 will be using big.LITTLE architecture same as Exynos, so hopefully faux will port some of his work over. Although it will be HMP, maybe we can adapt to our IKS kernel.
Click to expand...
Click to collapse
Nobody says that we can't port it to 8 cores you know, it is a lot of work for sure, but not impossible.
I barely had problems with the governors, more with intelliplug.
But I think it is good that we don't have the same opinion.
Otherwise we would have 2 similar kernels here.
Tkkg1994 said:
Nobody says that we can't port it to 8 cores you know, it is a lot of work for sure, but not impossible.
I barely had problems with the governors, more with intelliplug.
But I think it is good that we don't have the same opinion.
Otherwise we would have 2 similar kernels here.
Click to expand...
Click to collapse
I don't think you understand me yet. We use IKS and 4 cores at once big.LITTLE . NOT HMP (all cores running). If you study the governors and what exactly the frequency/cores are actually doing in real time, you will find out and learn from it ... Just because something compiles and are able to switch between variables, does not make it compatible.
I never said or implied that anything was impossible, but you need to re-write (not adapt) a lot of code. In effect, create a "new" governor. This is fact, not my opinion
Best of luck with your project, keep at it !
UpInTheAir said:
I don't think you understand me yet. We use IKS and 4 cores at once big.LITTLE . NOT HMP (all cores running). If you study the governors and what exactly the frequency/cores are actually doing in real time, you will find out and learn from it ... Just because something compiles and are able to switch between variables, does not make it compatible.
I never said or implied that anything was impossible, but you need to re-write (not adapt) a lot of code. In effect, create a "new" governor. This is fact, not my opinion
Best of luck with your project, keep at it !
Click to expand...
Click to collapse
I read the wiki article
I think our Exynos5 5420 use HMP and can use all cores together if it uses it?
I was talking about the intelli-plug stuff not the governors. I hope samsung will release a S6 with exynos (only) and than we will get more support.
If you want to talk with me (and yes I like to) than PM?
Tkkg1994 said:
I read the wiki article
I think our Exynos5 5420 use HMP and can use all cores together if it uses it?
I was talking about the intelli-plug stuff not the governors. I hope samsung will release a S6 with exynos (only) and than we will get more support.
If you want to talk with me (and yes I like to) than PM?
Click to expand...
Click to collapse
Keep reading and learning Particularly what IKS is and does. Please don't take this the wrong way, this is relevant and you really need to learn how the basics of our 5420 kernel actually work.
There have been test HMP for Exynos 5420, BUT, no Android powered Exynos 5420 is ever capable of HMP. AndreiLux has explained why in various posts.
HMP kernels (such as I'm using with my Note Edge Skyhigh kernel) is completely different, but some things might be adapted with little work.
I just don't have the time to answer or clarify every single question (I don't pretend to always know), even by PM. It's just a matter of reading, learning, and trial by many errors.
UpInTheAir said:
Keep reading and learning Particularly what IKS is and does. Please don't take this the wrong way, this is relevant and you really need to learn how the basics of our 5420 kernel actually work.
There have been test HMP for Exynos 5420, BUT, no Android powered Exynos 5420 is ever capable of HMP. AndreiLux has explained why in various posts.
HMP kernels (such as I'm using with my Note Edge Skyhigh kernel) is completely different, but some things might be adapted with little work.
I just don't have the time to answer or clarify every single question (I don't pretend to always know), even by PM. It's just a matter of reading, learning, and trial by many errors.
Click to expand...
Click to collapse
I'm doing this the first time, so hopefully you and the others will understand that. I hope you can excuse me I have to learn many things I know that.
See you soon!
Changelog V1.1:
-Temporarly removed Intelli-Plug
-Added voltcontroll for CPU
-Added Stweaks support and Stweaks app (all credits and stuff goes to @googy_anas and @Kryten2k35
-Hell lot of improvements
-GPU overclock to 733MHz
-CPU overclock to 2.1GHz (sorry, I couldn't get it stable )
-for more what I had done, visit here: Commits IronKernel
Tkkg1994 said:
-Temporarly removed Intelli-Plug
-Added voltcontroll for CPU
-Added Stweaks support and Stweaks app (all credits and stuff goes to @googy_anas and @Kryten2k35
-Hell lot of improvements
-GPU overclock to 733MHz
-CPU overclock to 2.1GHz (sorry, I couldn't get it stable )
-for more what I had done, visit here: Commits IronKernel
Click to expand...
Click to collapse
Kernel update is awesome I love the GPU OC seems stable also went to 2GHZ CPU OC no issues I would go to 2.1GHZ but I think it may get unstable
TAPATALKED WITH MY XPE R IA Z
My Z3 app Ports to all devices
danny19901 said:
Kernel update is awesome I love the GPU OC seems stable also went to 2GHZ CPU OC no issues I would go to 2.1GHZ but I think it may get unstable
TAPATALKED WITH MY XPE R IA Z
My Z3 app Ports to all devices
Click to expand...
Click to collapse
Better let it at 2.0 GHz. Best for stability! Great you enjoy it
danny19901 said:
Kernel update is awesome I love the GPU OC seems stable also went to 2GHZ CPU OC no issues I would go to 2.1GHZ but I think it may get unstable
TAPATALKED WITH MY XPE R IA Z
My Z3 app Ports to all devices
Click to expand...
Click to collapse
N/A
fishdrop said:
N/A
Click to expand...
Click to collapse
Just putting N/A doesn't help much if you need help or something
New changelog:
IronKernel V1.2 01.03.2015:
- Built with latest toolchain (2015.02) by christopher83
- Use frandom from now
- Enable dynamic page writeback with earlysuspend
- Better battery charging control (kernel and stweaks)
- Auto install the right sTweaks version
- Reduce overestimating rq->avg_idle
- Optimize find_busiest_queue()
- Some CPUfreq optimizations
- Dynamic sync control with earlysuspend support
- Lowmemorykiller: implement task's adj rbtree
- Check free memory when tasks switch to background
- Dynamic FSync
- SOO Much more but I don't remember all
- After flashing the kernel, it will be successfull, but then show an error (becaus of mounting partition) don't worry, just reboot. Just ignore it
THANKYOU !!! Why is it that most other developers can't use common sense and say right up front that their work will kill Knox.
hillg001 said:
THANKYOU !!! Why is it that most other developers can't use common sense and say right up front that their work will kill Knox.
Click to expand...
Click to collapse
This won't actually trip Knox counter...
By installing a custom recovery (pre-requisite to install kernel.zip) will already trip the counter, and not within the scope of most Developers concern. Wouldn't the user already have tripped the counter prior to flashing the kernel? Think about it. .. Having the warning in OP doesn't hurt though

Categories

Resources