[Kernel][7/25/12][Beta 13] KozmiKKernel [Sweep2Wake][OC][Fully Customizable] - HTC Vivid, Raider, Velocity

KozmiKKernel​​
Features:
Sweep2Wake - Coded and Produced by the great Showp1984
Fast Charge - chad0988
TUN
CIFS
Fully customizable via aroma install, no longer need a cpu manager!
Adjustable Voltage Tables (750000 to 1450000) Be careful if you adjust!
Lagfree Governor
Badass Governor - Coded and Produced by the great Showp1984
Overclocked GPU 2D and 3D Core - Only in Beta 7 and some lower builds
Added VR, SIO, and BFQ I/O Schedulers in addition to the standard NOOP,CFQ,and DEADLINE.
Faqs:
mpdecision and thermald
Check out Bricked Kernel. The second post has a good read about the mpdecision and thermald that is now built into the kernel courtesy of showp1984.
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 2-5 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.
Please remember: Due to it's nature, this is not a benchmark governor. It is meant as a governor that gives you a smooth experience while saving battery, lots of it. " - As quoted from Showp1984's Bricked Kernel Thread
Sweep2Wake
No long do you need to use your power button to wake your phone. To wake your phone sweep your finger from the home button to the search button. Likewise to put your phone to sleep, sweep your finger from the search button to the home button.
Fast Charging
Starting in Beta 6 fast charging is now an option. To enable it all you need to do is run the following in adb shell, in a terminal on your phone, or in the terminal in System Tuner:
Code:
echo "1" /sys/kernel/fast_charge/force_fast_charge
Likewise to should you wish to disable it you can run:
Code:
echo "0" /sys/kernel/fast_charge/force_fast_charge
Release Candates will have an optional download that does not have Sweep2Wake for those that do not want it.
Should be compatible with any rooted ICS sense rom.
You can use System Tuner voltage tables.
As with anything you flash to your phone there is always a risk. You are taking responsibility into your own hands when you flash this. It works perfectly on my phone but your hardware may not be able to withstand overclocking. It should work fine but don't complain if it breaks your phone.
If you decide that this kernel isn't quite for you yet you can always revert to the stock kernel
Release Candidate Downloads (Stable):
RC 2
RC 1
RC 1 with Sweep2Wake
RC 1 - S-Off
RC 1 with Sweep2Wake - S-Off
Beta Downloads:
Beta 13
Stockish Downloads:
Stockish
Installation:
I am no longer supporting phones that are not S-Off. Get S-Off now Then just flash zip in recovery and select your options!
If your phone does not have S-Off, there are some older versions of my rom in the downloads that are built into the boot.img and may be flashed via fastboot. Don't ask which ones can be done with this method. You need flash the boot.img contained within using fastboot from your bootloader:
Code:
fastboot flash boot boot.img
CPU Frequency / Voltage Table:
Code:
192000: 800000
384000: 825000
432000: 850000
486000: 850000
540000: 875000
594000: 875000
648000: 900000
702000: 900000
756000: 925000
810000: 950000
864000: 975000
918000: 975000
972000: 1000000
1026000: 1000000
1080000: 1025000
1134000: 1025000
1188000: 1050000
1242000: 1075000
1296000: 1100000
1350000: 1125000
1404000: 1150000
1458000: 1150000
1512000: 1175000
1566000: 1200000
1620000: 1225000
1674000: 1250000
1728000: 1275000
1782000: 1300000
Change Log:
Beta 13
Stockish
Credits:
klquicksall
Virtuous Dev Team
showp1984
Faux123
Chad0989
LeeDroid
Rafyvitto
HTCDev
Github:
My Source
Sweep2Wake Video
Benchmark:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

Git Commit Log:
For commit log past Beta 6 see commit/change log that's displayed when installing the kernel
0369c93 was Tim Nelson, 5 minutes ago, message: Updating Defconfig to Beta 6
b8ecd31 was Chad Froebel, 6 minutes ago, message: Adding fast charging option
1adee41 was showp1984, 6 days ago, message: msm: cpufreq: badass: Fix store_powe
5187265 was Krishna Vanka, 2 weeks ago, message: msm: cpufreq: ondemand: Fix sto
72c4c83 was showp1984, 6 days ago, message: Patching Linux 3.0.29 to upstream 3.
d58d090 was showp1984, 6 days ago, message: Patching Linux 3.0.28 to upstream 3.
c23e860 was Tim Nelson, 4 days ago, message: Reverting smi pmem size back to sto
d5d8f68 was Synergy Dev, 7 days ago, message: double kernel smi pmem size
a2ae29b was Synergy Dev, 7 days ago, message: increase initial pmem allocation s
dba95c2 was showp1984, 9 days ago, message: genlock: don't spam our log. Thx.
57c1c9e was showp1984, 9 days ago, message: badass: fix coding typo, thx to copy
37d0e54 was showp1984, 9 days ago, message: badass: gpucontrol: expose threshold
ba4e108 was showp1984, 9 days ago, message: badass: gpucontrol: use gpu clear th
1ac064a was showp1984, 10 days ago, message: badass: replace defines with proper
ee5079e was showp1984, 10 days ago, message: badass: add sysfs interface for thr
b979578 was showp1984, 10 days ago, message: badass: make default setting more p
21b991a was showp1984, 10 days ago, message: badass: add clear thresholds to avo
2e33f27 was showp1984, 11 days ago, message: badass: decrease gpu counter more r
593c92d was Tim Nelson, 8 days ago, message: Adding config for RC1
aae56fe was showp1984, 9 days ago, message: Fixing Led files to match Sweep2Wake
f2ad536 was Ken, 11 days ago, message: more showp sweep to wake tweaks
c90da40 was Ken, 11 days ago, message: change sweeptowake unlock position
5994330 was showp1984, 3 weeks ago, message: sweep2wake: always set suspend=1, r:
0369c93 was Tim Nelson, 5 minutes ago, message: Updating Defconfig to Beta 6
b8ecd31 was Chad Froebel, 6 minutes ago, message: Adding fast charging option
1adee41 was showp1984, 6 days ago, message: msm: cpufreq: badass: Fix store_powersave_bias to account for sync' CPUs.
5187265 was Krishna Vanka, 2 weeks ago, message: msm: cpufreq: ondemand: Fix store_powersave_bias to account for sync' CPUs.
72c4c83 was showp1984, 6 days ago, message: Patching Linux 3.0.29 to upstream 3.0.30
d58d090 was showp1984, 6 days ago, message: Patching Linux 3.0.28 to upstream 3.0.29
c23e860 was Tim Nelson, 4 days ago, message: Reverting smi pmem size back to stock
d5d8f68 was Synergy Dev, 7 days ago, message: double kernel smi pmem size
a2ae29b was Synergy Dev, 7 days ago, message: increase initial pmem allocation size
dba95c2 was showp1984, 9 days ago, message: genlock: don't spam our log. Thx.
57c1c9e was showp1984, 9 days ago, message: badass: fix coding typo, thx to copy and paste
37d0e54 was showp1984, 9 days ago, message: badass: gpucontrol: expose thresholds to sysfs
ba4e108 was showp1984, 9 days ago, message: badass: gpucontrol: use gpu clear thresholds + minor cleanup
1ac064a was showp1984, 10 days ago, message: badass: replace defines with properties, remove obsolete BADASS_ from defines
ee5079e was showp1984, 10 days ago, message: badass: add sysfs interface for thresholds
b979578 was showp1984, 10 days ago, message: badass: make default setting more performance oriented
21b991a was showp1984, 10 days ago, message: badass: add clear thresholds to avoid jumping through frequencies too much
2e33f27 was showp1984, 11 days ago, message: badass: decrease gpu counter more rapidly if it is hitting the limit
593c92d was Tim Nelson, 8 days ago, message: Adding config for RC1
aae56fe was showp1984, 9 days ago, message: Fixing Led files to match Sweep2Wake
f2ad536 was Ken, 11 days ago, message: more showp sweep to wake tweaks
c90da40 was Ken, 11 days ago, message: change sweeptowake unlock position
5994330 was showp1984, 3 weeks ago, message: sweep2wake: always set suspend=1, reset baseline
978fa2e was showp1984, 3 weeks ago, message: sweep2wake: Only reset the baseline if the screen is suspended, fix for old touchcontroller hwrev
035925a was Tim Nelson, 12 days ago, message: Reverting regulator voltages back to stock
14c5da6 was showp1984, 13 days ago, message: badass: redesign gpubusy bypass/gpu control
ba3ad79 was showp1984, 13 days ago, message: badass: add gpucontrol / gpubusy bypass
bf4e10c was showp1984, 13 days ago, message: badass: Kconfig help fix
bf6c51c was showp1984, 13 days ago, message: badass: make values configurable at the top
6048519 was showp1984, 13 days ago, message: badass: change default frequency for 2phase/3phase
d45ab90 was showp1984, 13 days ago, message: badass: drop back to idle faster
e6800f2 was showp1984, 13 days ago, message: badass: fix 2phase/3phase for different clock speeds than defaults
8f9b162 was showp1984, 13 days ago, message: badass: Kconfig: fixup naming
12f1336 was showp1984, 13 days ago, message: badass: fixup setting initial 2phase freq
71401cf was showp1984, 13 days ago, message: badass: don't jump through phases too quickly
63f49f1 was showp1984, 13 days ago, message: badass: make 2/3 phase frequencies configurable in the config
b9c73ab was showp1984, 13 days ago, message: badass: tweak 2-phase and add 3-phase
aa05181 was showp1984, 13 days ago, message: badass: allow-bypass depends on 2 phase
7db9dad was showp1984, 13 days ago, message: badass: 3-phase depends on 2-phase
1989df3 was showp1984, 13 days ago, message: badass: add 3-phase properties and functions
7437456 was showp1984, 13 days ago, message: ondemand: remove perflock hacks from Kconfig
b317334 was showp1984, 2 weeks ago, message: cpufreq: initial badass commit
a1b66ee was showp1984, 2 weeks ago, message: cpufreq: Makefile: compile badass if chosen
415ddfa was showp1984, 2 weeks ago, message: cpufreq: Kconfig: add badass lowbat-powersave & phase bypass
18eb827 was showp1984, 2 weeks ago, message: cpufreq: Kconfig: add badass 2&3-phase and GPU control
c52a505 was showp1984, 2 weeks ago, message: cpufreq: Kconfig: add badass
49bdca2 was Miguel Boton, 2 years, 6 months ago, message: Add support for previous kernel versions
2119df4 was Miguel Boton, 2 years, 6 months ago, message: LIFO I/O scheduler v1.0
4d05989 was Tim Nelson, 13 days ago, message: Adjusting vdd regulator constraints to match those of htc-pyramid (i.e. slightly higher constraints now) might be dangerous but have not seen any ill effect at all though.
d9b6a99 was Tim Nelson, 13 days ago, message: Adjusting SDCC3 Extranal card vdd sleep current up to 10 mA from 2mA
65d5ab2 was Miguel Boton, 13 days ago, message: Add support for previous kernel versions [Miguel Boton]
a0d3062 was Dominic Duklas, 2 years ago, message: include linux/slab.h to fix missing kfree
1968304 was Miguel Boton, 2 years, 4 months ago, message: Improve Kconfig help text.
8aa0d2f was Miguel Boton, 2 years, 4 months ago, message: Fix commentary.
b0a6e78 was Miguel Boton, 2 years, 4 months ago, message: Simple I/O scheduler v0.2
6765d72 was Miguel Boton, 2 years, 4 months ago, message: Simple I/O scheduler v0.1
ae49f94 was Tim Nelson, 2 weeks ago, message: Unimplemented" inlining failed in call to soc_restart: fixed with /*inline*/
e8f0f4e was Tim Nelson, 2 weeks ago, message: changing min voltage frequency and modifying cpu table to single table rather the slow norm fast
b7d3437 was showp1984, 3 weeks ago, message: Patching Linux 3.0.27 to upstream 3.0.28
bd5ac03 was showp1984, 3 weeks ago, message: Patching Linux 3.0.26 to upstream 3.0.27
fe77f4f was Tim Nelson, 5 weeks ago, message: adding bfq i/o scheduling
b96e242 was Ken, 5 weeks ago, message: add V(R) I/O scheduler
1a047fb was Tim Nelson, 2 weeks ago, message: adding sweep2wake (showp1984)
0d63b68 was Ken, 3 weeks ago, message: adding sweep2wake (showp1984)
2e41723 was showp1984, 5 weeks ago, message: cpufreq: set safe default min/max speeds from the config
82645c5 was showp1984, 5 weeks ago, message: msm: kgsl: augment GPUOC config variable
b843185 was showp1984, 5 weeks ago, message: msm: kgsl: convert sg allocation back to kmalloc
e8b80d2 was showp1984, 5 weeks ago, message: Patching Linux 3.0.25 to upstream 3.0.26
360a6bb was showp1984, 5 weeks ago, message: include: linux: filter.h: fix missing rcupdate.h include
00c5d86 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Add supporting code for 2d dcvs
8d07eaa was Benjamin Herrenschmidt, 5 months ago, message: powerpc/pmac: Fix SMP kernels on pre-core99 UP machines
f905f3e was Stanislaw Gruszka, 8 weeks ago, message: iwl3945: fix possible il->txq NULL pointer dereference in delayed works
c6008f2 was RongQing.Li, 7 weeks ago, message: ipv6: Don't dev_hold(dev) in ip6_mc_find_dev_rcu.
5056475 was Eric Dumazet, 8 weeks ago, message: tcp: fix syncookie regression
c486eb7 was Anton Blanchard, 8 weeks ago, message: perf tools: Incorrect use of snprintf results in SEGV
d21b039 was Anton Blanchard, 7 weeks ago, message: afs: Remote abort can cause BUG in rxrpc code
bbe98b0 was Anton Blanchard, 7 weeks ago, message: afs: Read of file returns EBADMSG
a6b7586 was Ryusuke Konishi, 7 weeks ago, message: nilfs2: fix NULL pointer dereference in nilfs_load_super_block()
bf1d168 was Siddartha Mohanadoss, 3 months ago, message: thermal: msm8960_tsens: Read TSENS temperature
859b42d was Siddartha Mohanadoss, 4 months ago, message: thermal: tsens: Add tsens notify callback
828213b was Siddartha Mohanadoss, 5 months ago, message: thermal: msm8960_tsens: Fix reading the correct sensor4 address
e19a047 was Siddartha Mohanadoss, 6 months ago, message: tsens: msm8960: Split write ordering for TSENS Enable
88dd9f6 was Siddartha Mohanadoss, 6 months ago, message: thermal: tsens8960: Fix setting initial return value
d6106fe was Siddartha Mohanadoss, 7 months ago, message: thermal: tsens: Use Calibration offset data from QFPROM
ec3b089 was Siddartha Mohanadoss, 7 months ago, message: thermal: tsens: Add support for MDM9615
023e544 was Siddartha Mohanadoss, 7 months ago, message: thermal: msm8960: Check for SOC version
9b753dd was Siddartha Mohanadoss, 8 months ago, message: thermal: tsens: Add platform information for 9615
4d16b64 was Siddartha Mohanadoss, 6 weeks ago, message: thermal: msm: Update TSENS for 8960_V2
039b19a was faux123, 6 weeks ago, message: drivers/usb/misc: add ehset.c for OTG operations
043e3d2 was Todd Poynor, 5 weeks ago, message: [PATCH] usb: otg: Temporarily grab wakelock on charger and disconnect events
454af3f was Todd Poynor, 6 weeks ago, message: USB: OTG: Take wakelock when VBUS present
ba498f8 was Stephen Boyd, 3 months ago, message: msm: msm_xo: Set the correct bits for XO_CORE on 8660
295c794 was Karthik Parsha, 3 months ago, message: msm: pm-8x60: Add clock debug to idle code path.
84599e6 was Mahesh Sivasubramanian, 6 weeks ago, message: msm: pm-8x60: Move hotplug related code out of pm code.
7dd3c2b was Sathish Ambley, 6 weeks ago, message: msm: hotplug: Support cpu hotplug in no PM cases
e07fb01 was Taniya Das, 6 weeks ago, message: msm: cpufreq: Check cpufreq_frequency_table NULL
87c8556 was Todd Poynor, 6 weeks ago, message: cpufreq: interactive governor: default 20ms timer
389fe6a was Todd Poynor, 6 weeks ago, message: power: cpufreq interactive governor: use default sample time 20ms
a629fec was Todd Poynor, 6 weeks ago, message: cpufreq: interactive governor: default timer 10ms, maxspeed load 95%
89ed68a was Axel Haslam, 7 months ago, message: cpufreq: interactive: fix possible Division by zero.
8e26789 was Anitha Anand, 4 months ago, message: cpufreq : Fix crash input event handler on governor switch
2d462a3 was Praveen Chidambaram, 3 months ago, message: msm_thermal: Remove error messages from log when core is offline
1c41f15 was Eugene Seah, 8 weeks ago, message: thermal: Fix hotplug race condition leading to memory corruption.
e69b61d was Praveen Chidambaram, 6 weeks ago, message: msm: thermal: Add MSM thermal sensing and limiting
67876f2 was Michael J Wang, 6 weeks ago, message: scheduler: minor improvement to pick_next_highest_task_rt
bf245cd was Oluwafemi Adeyemi, 6 weeks ago, message: mmc: msm_sdcc: Power down slots after reboot
c5cda5f was Padmanabhan Komanduru, 6 weeks ago, message: hdmi_msm: Power down PHY register during suspend
924a1c4 was David Ng, 6 weeks ago, message: cpufreq: Extend ondemand powersave_bias for negative range
de1cd37 was Ranjhith Kalisamy, 6 weeks ago, message: msm: kgsl: disable irq when adreno device is stopped
246a502 was Jeff Boody, 6 weeks ago, message: msm: kgsl: convert sg allocation to vmalloc
2f2dea0 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Make sure SLUMBER is the requested state
ef301f5 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Clarify the circumstances to enable SLUMBER state
0169e12 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Be explicit about what states may access hw
b3b695c was Lynus Vaz, 6 weeks ago, message: msm: Config option to enable idle stats device
d368c75 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: only poke once during adreno_idle
02ec730 was Tarun Karra, 6 weeks ago, message: msm: kgsl: Modify only the pending idle timer in ISR.
bdbbead was Tarun Karra, 6 weeks ago, message: msm: kgsl: flush device workqueue before stop
3a625c7 was Lynus Vaz, 6 weeks ago, message: msm: IDLE_TIMER wakes up waiting processes
c56c5a2 was Lynus Vaz, 6 weeks ago, message: msm: kgsl: Collect a sample only if GPU is active
319bc18 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: call device->irqctrl from start/stop
2418886 was Lynus Vaz, 6 weeks ago, message: msm: kgsl: Power scale policy needs at least three power levels.
b34a506 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Don't wake core to check if it is idle.
186a420 was Jordan Crouse, 6 weeks ago, message: msm: kgsl: Move the GPU register lists to a common location
7e46e1a was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Do not ramp to turbo if the screen is off.
2e882f4 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: add power tracepoints
ab59015 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: power state cleanup
8b63611 was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Eventually transition to SLUMBER
70e1aa7 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: in postmortem, log powerstate before changing it
1be3484 was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: adreno_isidle shouldn't BUG()
b43915b was Jeremy Gebben, 6 weeks ago, message: msm: kgsl: fix infinite loop in adreno_find_region()
b07f53d was Lucille Sylvester, 6 weeks ago, message: msm: kgsl: Allow device attributes to be re-created
ddab58f was Mircea Gherzan, 6 weeks ago, message: ARM: net: JIT compiler for packet filters
2c52396 was Ashwin Chaugule, 6 weeks ago, message: Optimized ARM RWSEM algorithm
12488e1 was Miao Xie, 6 weeks ago, message: lib/string: use glibc version
2d08e7b was Miao Xie, 6 weeks ago, message: lib/memcopy: use glibc version
2613f85 was showp1984, 5 weeks ago, message: msm: kgsl: correct amount of scaling steps
e005710 was Jordan Crouse, 5 weeks ago, message: base: genlock: Remove genlock_release_lock and associated ioctl
be5dd4f was Ezekeel, 6 weeks ago, message: governor: Added CPUfreq governor 'lazy'
1bfbcc0 was Russell King, 6 weeks ago, message: ARM: entry: no need to increase preempt count for IRQ handlers
30d3e9b was Steven Rostedt, 6 weeks ago, message: sched: Remove unlikely() from ttwu_post_activation
967d321 was Steven Rostedt, 6 weeks ago, message: sched: Remove unlikely() from rt_policy() in sched.c
6985884 was Steven Rostedt, 6 weeks ago, message: sched: Change pick_next_task_rt from unlikely to likely
d7043c3 was Yong Zhang, 6 weeks ago, message: sched: Cleanup pre_schedule_rt
65622f4 was LeeDrOiD, 6 weeks ago, message: Add LagFree CPU Governor
77a670f was faux123, 10 weeks ago, message: sched: disable GENTLTE_FAIR_SLEEPERS for better performance on Android
cb9564a was LeeDrOiD, 6 weeks ago, message: Make vfs_cache_pressure configurable
321d9a4 was showp1984, 5 weeks ago, message: msm: kgsl: add GPUOC config variable
926ba00 was showp1984, 5 weeks ago, message: msm: deactivate notification led timeout
eb7b222 was showp1984, 5 weeks ago, message: kgsl: eliminate not used scaling steps
95bbdd6 was showp1984, 5 weeks ago, message: Revert "kgsl: increase max allowed power levels"
c7c4969 was showp1984, 5 weeks ago, message: kgsl: 2D: increase bandwidth to avoid bottlenecking the gpu
a2655db was showp1984, 5 weeks ago, message: kgsl: 3D: increase bandwidth to avoid bottlenecking the gpu
cb2b76f was showp1984, 6 weeks ago, message: netfilter: xt_log.h: fix warning: value computed is not used
73d7661 was showp1984, 5 months ago, message: makefile: vectorize for quadword registers GCC does not support vectorization with varying vector sizes. By default, it vectorizes for doubleword registers only.
d8739ea was showp1984, 6 weeks ago, message: cpufreq: ondemand: Tweak settings
2369e55 was showp1984, 6 weeks ago, message: kgsl: 2D: add new highest scaling step
a720c73 was showp1984, 6 weeks ago, message: kgsl: increase 2D Fmax to fit new 2D maxclock
84a401d was showp1984, 6 weeks ago, message: kgsl: 2D: change lower scaling step back to default
d19a2d0 was showp1984, 6 weeks ago, message: kgsl: 3D: update iofractions
16f1606 was showp1984, 6 weeks ago, message: kgsl: add 2 new 3D scaling steps (266/300)
56f4679 was showp1984, 6 weeks ago, message: kgsl: increase max allowed power levels
a517953 was showp1984, 6 weeks ago, message: kgsl: add new 266.667Mhz 2D clock
89e623c was showp1984, 6 weeks ago, message: kgsl: add new 300Mhz 3D clock
53a6633 was showp1984, 6 weeks ago, message: HACK cpufreq: set cpuinfo_max_freq to the scaling_max_freq
d2defe2 was showp1984, 6 weeks ago, message: reverting back to stock cy8c_tma_ts.c
3bcb81d was showp1984, 6 weeks ago, message: input: cy8c_tma_ts: fix samefilter
a320444 was SebastianFM, 6 weeks ago, message: Fixed cpufreq
14e2b58 was TripNRaVeR, 6 weeks ago, message: vfp: compile with neon
e1aa793 was Virtuous Dev Team, 6 weeks ago, message: drivers: video: fbmem: override refresh rate for Sense 4
16f0a9f was showp1984, 4 months ago, message: gitignore: updating ignored files
e3481c6 was Mandeep Singh Baines, 7 months ago, message: lib/sha1: use the git implementation of SHA-1 For ChromiumOS, we use SHA-1 to verify the integrity of the root filesystem. The speed of the kernel sha-1 implementation has a major
ff0081a was showp1984, 6 weeks ago, message: Patching to upstream 3.0.16#HTC > 3.0.25
5f6c1ee was showp1984, 6 weeks ago, message: Makefile: Hide -Wunitialized warnings for now
27ad151 was showp1984, 6 weeks ago, message: kernel/Makefile: Don't use highest optimization level on workqueue.c
66b3a01 was showp1984, 6 weeks ago, message: htc-battery-core: Fixing once again... (srsly htc? That was already there in 2.6.x)
c6a89d6 was showp1984, 6 weeks ago, message: mach-msm: dal: fix uninitialized variables
88b729f was showp1984, 6 weeks ago, message: mach-msm: fix 'unimplemented: inlining failed in call to 'notify_modem_cache_flush_done''
9287898 was showp1984, 6 months ago, message: -O3 compilation fixups
62e6696 was showp1984, 6 months ago, message: Makefile: Optimizing build-options for linaro arm: mach-msm: corrected assembler fail if compiling in thumb2 mode
10ce6d1 was showp1984, 8 months ago, message: Makefile: Added Snapdragon optimizations
afe9054 was showp1984, 3 months ago, message: Makefile: adding config variable for Os/O2/O3 compilation
3bfafe3 was jdkoreclipse, 11 months ago, message: include: mm: increase readahead buffer
8a1449f was jdkoreclipse, 7 months ago, message: mm: adjust vm ratios
f3196a3 was showp1984, 6 weeks ago, message: kgsl: OC 2D core to 228.571Mhz
78699d1 was showp1984, 6 weeks ago, message: kgsl: OC 3D core to 320Mhz
66378c2 was showp1984, 6 weeks ago, message: acpu: fixing fails from me =/ (sleepy kitty)
882aad7 was showp1984, 6 weeks ago, message: mach-msm: acpuclock: Added Global CPU Voltage table used for adjusting voltage table
24100f1 was showp1984, 6 weeks ago, message: drivers: cpufreq: address issue where cpus forget their clock speeds
daa67f1 was showp1984, 6 weeks ago, message: msm: cpufreq: set safe default min and max speeds
56dd310 was showp1984, 6 weeks ago, message: acpu: Don't ramp cpus up to max clk, use a safe clock instead
9105f60 was showp1984, 6 weeks ago, message: acpu: fix typo
67ee7a4 was showp1984, 6 weeks ago, message: acpu: add l2 boost
26c5be5 was showp1984, 6 weeks ago, message: acpu: increase voltages to fit configuration
1e9ef32 was showp1984, 6 weeks ago, message: acpu: remove efuse specific cpu string
fcd4331 was showp1984, 6 weeks ago, message: acpu: lower l2 voltage
b954228 was showp1984, 6 weeks ago, message: avs: also change avs limits
fa2accb was showp1984, 6 weeks ago, message: board-pyra: Adjust min/max voltage settings
af52902 was showp1984, 6 weeks ago, message: acpu: allow oc up to 1914mhz
00197d5 was showp1984, 6 weeks ago, message: acpu: cleanup (remove efuse, 1,5ghz for all)
e2bef9d was showp1984, 6 weeks ago, message: acpu: create new variable and adjust nr of freq
388acbf was showp1984, 4 months ago, message: kernel: return_address: hiding warning (TODO)
1babee5 was showp1984, 6 weeks ago, message: fix warning: statement with no effect #2
f211c4a was showp1984, 6 weeks ago, message: net / netfilter: remove annoying 'comparison will always be true' warning
a9e839b was showp1984, 6 weeks ago, message: fix warning: statement with no effect
81d5127 was showp1984, 6 weeks ago, message: arm: mm: fixing 'offset.un' may be used uninitialized in this function
acf0116 was James Sullins, 3 months ago, message: fix GCC version check (>=4.5.2) for arch_extension use
0558f22 was James Sullins, 3 months ago, message: rework gcc version check for '.arch_extension sec'
f731417 was showp1984, 3 months ago, message: scm: only use '.arch_extension sec' if the compiler is newer than gcc4.4 This fixes broken pre gcc4.6 compilation.
aeb0da9 was showp1984, 4 months ago, message: mach-msm: add .arch_extension sec\n to scm.c
cf2a895 was Tim Nelson, 2 weeks ago, message: holiday-ics-crc-3.0.16-1739124

Thanks a lot kozmikkick, been following this on Twitter just haven't had the time to test. Great job on the first tweaked Vivid ICS kernel. This fixes animations on Sense 4.0?

cruzin_cruzing said:
Thanks a lot kozmikkick, been following this on Twitter just haven't had the time to test. Great job on the first tweaked Vivid ICS kernel. This fixes animations on Sense 4.0?
Click to expand...
Click to collapse
Your welcome Yes this includes the animation fix for Sense 4.0.

kozmikkick said:
Your welcome Yes this includes the animation fix for Sense 4.0.
Click to expand...
Click to collapse
You have sense 4.0?
Sent from my GT-I9100 using Tapatalk

mrakifa said:
You have sense 4.0?
Click to expand...
Click to collapse
I have a sense 4 port that boots up but as of right now I don't have ril working so its absolutely useless. However once I'm able to fix ril or someone gets ril or a full sense 4.0 port running on our phone this kernel will work for it.

This is feels amazing on rafyvitto's Sense 4.0 test, can't wait for fully working build.

I can post a zip of just the modules and the kernel zImage if people don't want to use the boot.img/ramdisk I've included

I keep getting reboots. I flashed it over WC Illuminati rom

Crimson Ghoul said:
I keep getting reboots. I flashed it over WC Illuminati rom
Click to expand...
Click to collapse
I'm using his Rom as well. What are you using to control CPU? I'm using setcpu with no issues.
I did delete the overclock script that was in /etc/init.d
Sent from my HTC PH39100 using xda premium

kozmikkick said:
I'm using his Rom as well. What are you using to control CPU? I'm using setcpu with no issues.
I did delete the overclock script that was in /etc/init.d
Sent from my HTC PH39100 using xda premium
Click to expand...
Click to collapse
The exact name of the script I deleted is: 99OVERCLOCK
this may be conflicting with the kernel.
Sent from my HTC PH39100 using xda premium

kozmikkick said:
I'm using his Rom as well. What are you using to control CPU? I'm using setcpu with no issues.
I did delete the overclock script that was in /etc/init.d
Sent from my HTC PH39100 using xda premium
Click to expand...
Click to collapse
No overclock at all. and i am using setcpu.. its still on the original clock settings

shouldnt conflict at all setting it higher with said programs overrides this,some chips in these phones will not run higher than 1512,some run like scalded dogs...thats the [email protected] this cpu,overclocking gpu can cause issues also...been there done that...lol...just some friendly advice

kozmikkick said:
I'm using his Rom as well. What are you using to control CPU? I'm using setcpu with no issues.
I did delete the overclock script that was in /etc/init.d
Sent from my HTC PH39100 using xda premium
Click to expand...
Click to collapse
exactly, im actually messing with this kernel right now as i type this. Before i go too much further is there any recommendations to changing the voltage tables or is running stock voltage recommended for stability?
*i should edit this - in the early days of OC my last phone was pretty much like WC said above, a crapshoot to try to find the right voltages - after awhile we found a good combo for the GPU OC as well that provided a better stability and basically that some phones needed to be undervolted VERY low to provide better stability. This is a beta after all so im treating this like the early days again and just stabing around to see what works

Wild Child said:
shouldnt conflict at all setting it higher with said programs overrides this,some chips in these phones will not run higher than 1512,some run like scalded dogs...thats the [email protected] this cpu,overclocking gpu can cause issues also...been there done that...lol...just some friendly advice
Click to expand...
Click to collapse
Very true WC.
Crimson, not sure what would cause your issue if you're keeping it at the default speed with no tuner install. It might be bad silicon as WC implied or it might be that this kernel needs to have a CPU tuner install with profiles set.
I'll try and look into it tomorrow night.
Sent from my HTC PH39100 using xda premium

Also be very cautious with adjusting voltages,to low and youll get reboots,to high youll get a fried chip....

Wild Child said:
Also be very cautious with adjusting voltages,to low and youll get reboots,to high youll get a fried chip....
Click to expand...
Click to collapse
My head explodes like a thousand suns! Nah just kidding, this is why i always try to Undervolt first. Im actually running Pretty well with a bit of UV right now at 1728 but im running the stability test app for about an hour with 30 minutes plugged in and 30 minutes unplug and if im clean ill post my results/settings

you doing a good job

alright, the phone stablelized.. awesome kernel. thanks a lot man

Crimson Ghoul said:
alright, the phone stablelized.. awesome kernel. thanks a lot man
Click to expand...
Click to collapse
What did you do to fix your issue?
Sent from my HTC PH39100 using xda premium

Related

[CM7/MIUI Kernel][AUG21]CM7-ETaNa v2.6.32.59

Kernel 2.6.32.y (long term release)
Based on the lge-kernel-star made by the CM team, with many cherry picked patches from the faux123, the vorkkernel upstream, the main lg streamline and another developer forum.
Update 2012.08.21:
5e9c876 Proportional Rate Reduction for TCP.
3267866 tcp: Make undo_ssthresh arg to tcp_undo_cwr() a bool.
764c1af tcp: avoid cwnd moderation in undo
c3905be tcp: fix RTT for quick packets in congestion control
c4a03ed tcp: undo_retrans counter fixes
e3a6932 TCP: fix a bug that triggers large number of TCP RST by mistake
b6023ed TCP: Fix setting of snd_ssthresh in tcp_mtu_probe_success
9c6ccbd tcp: fix TSO FACK loss marking in tcp_mark_head_lost
62fec35 lib/lzo: Update LZO compression to current upstream version
11c4e7b lib/lzo: Rename lzo1x_decompress.c to lzo1x_decompress_safe.c
66b6560 arm/crypto: Add optimized AES and SHA1 routines
b1d0d53 block/deadline: tweaked for better performance on android (cherry picked from commit f5910d6f7844f661d9189f9558efa316c9d24f32)
cc7f103 star_bl.c: restore to the v20q version to avoid auto brightness issues
2c70638 Change compiler
6ba1ec6 Update defconfig
3fccb06 Update star battery charger driver
902f7fc Add support for lite battery driver
Older changelogs:
Update 2012.07.24:
8e4bfaf Update build flags
95b328f Update LGE drivers
9b594e5 Revert to the cm7 wireless driver
35c27da Add Vibrator Control
def9bd9 Revert: JRCU
1a46eaa Update defconfig
a61545e5 Revert to the original cm7 nvrm_dtt_degrees values
2949611 Update scripts
9e36f5f This should enable NOATIME and NODIRATIME as default. (cherry picked from commit cc36b5c61dad24f1e7d3f92b92079082bd053e17)
d4771e0 tegra: optimize udelay and msleep.
bbe6221 Add NvOs usleep, usleep_interupptible and msleep_interruptible calls. (cherry picked from commit 2f026c8fed6ca9af6b70b7f5d89207626366606e)
6775cd3 timer: Added usleep[_range][_interruptible] timer
007305c Stay a bit longer a clock (cherry picked from commit 554a6bfa61a890e5ec1df9f676438f8ce0d4fed2)
938a02b Minor thermal adjust
69f9b50 Optimize cpu1 handling
87eac16 Increase SDRAM frequency a little
cc897f6 arch/arm/mach-tegra/cpuidle.c: revert race condition fix
85bb3b3 Update star battery driver
6e51045 Update defconfig
520dab6 Fajarep backlight values
bb077d7 Revert "star powersupply/battery: code fix up from v21y source drop"
c710f7d Cleanup
b0baf40 Update defconfig
c21a0c9 Fix compilation error
616333c Add predefined OC levels
b5743c0 Add OTF code
9b15d4a Update defconfig
965fe46 Update SIO scheduler
b371820 Fix compilation errors
8ce1732 [HACK] copy the warmboot information to the original reserved_buffer area before shutdown
08b8b2d star: clean up reboot code
6ffc20d star: make the ram_console not depend on the carveout size
6ef1775 Cleanup
84bc652 fix build errors using gcc-4.7
6fc777c Cleanup
b5e4325 Remove old OTF code
7fb5018 sys_sync(): remove the use of sys_sync() to resolve lock up issues
7be9425 mach-tegra: disable PLL before stopping DVFS Daemon (cherry picked from commit b21b93276b48faa0b7582398c25fab48042fd6dc)
4d541cc star_bl: change polling from 2 to 3 seconds (cherry picked from commit f438f29d0702d13f6892c2ca24c35292555709fa)
3329048 mach-tegra: replace msleep() calls with msleep_interruptible()
7fd46a6 driver/star: general optimization by using msleep_interruptible calls
4c61cc9 pmu/max8907: be nice to cpu and use msleep_interruptible for long waits (cherry picked from commit ac8af21373f44933d48ca56dd06a7f34d6ee26e9)
cfbd1a4 nvrm: fix nvrm_user SOD take 2 (cherry picked from commit c794377cf340c13f67e2fedef0752b14a8f90d4c)
a4c91f5 nvrm: fix nvrm_user compilation warnings (cherry picked from commit 3aada3f3032be246bc33af14ff9e77df088e004c)
9be0a47 nvrm_user.c: Updates from the p990 v10e drop. Fixes BSOD while charging (cherry picked from commit 268dca72019806f5d0e504cbf62de3cdf4741921)
12e69b1 tegra: cpufreq/nvrm: add screen off freq limiter and offlining of 2nd core
7dbdb61 drivers/star/sensor: v21L code fix up (cherry picked from commit 6d8feb057df5f11f11e32e94e1448ddb4c70831e)
da825c2 OVERCLOCK: adjust voltage table and frequency table
cff4cb0 mach-tegra: cpufreq - add CPUFREQ table support
2a54e27 kernel/power: suspend fix minor formatting issue (cherry picked from commit 416fef1e4ce8e766ac5d5fa4497bf434eef23559)
4fbf8a4 ARM: use generic strnlen_user and strncpy_from_user functions
91e2bbd kernel: Move REPEAT_BYTE definition into linux/kernel.h
4946b9a lib: Fix generic strnlen_user for 32-bit big-endian machines
db88510 lib: add generic strnlen_user() function
6f51e6e word-at-a-time: make the interfaces truly generic
99db0a6 lib: Sparc's strncpy_from_user is generic enough, move under lib/
259adad AP_SUSPEND_STATUS: code fix up from v21 source drop (cherry picked from commit 4bdbd0624ea8b2152c159bfe8ade886a9328071b)
31bd7f4 video: tegra host nvhost syncpt fix up from v21 source drop (cherry picked from commit 00dc8e4b05582190bca085ad7335c99a9d7d6dde)
c06f5bd restart/watchdog: code fix up from v21 source drop (cherry picked from commit 1e3fe14a98cad98666c6120182d1da90c4083806)
c35daee star powersupply/battery: code fix up from v21y source drop (cherry picked from commit 8e4d03e5c727200c3fab8b6ff83c8acd18642f39)
04b22a7 sys_sync: fix sys_sync lock up issue from v21y source drop (cherry picked from commit d6f63471b4acd822414a5e73e867f363add16ae6)
3b1b40c mmc/host: Check SDIO clock for Wi-Fi from v21y source drop (cherry picked from commit c6a1205e20e97d70d0869dbbd7029baf1e1b787b)
306d670 star/headset_det: add wakelock for headset_det from v21y source drop (cherry picked from commit 97440abda1dad90efebdd7dac85285abc0e78e3a)
fef794d start_bl: change polling time from 1 sec to 2 sec from v21y source drop (cherry picked from commit 74512acf4f02c0e2049cc0839f0ce90455dbf479)
db4d3b5 mach-tegra/suspend: AVP suspend code fixup from v21y source drop (cherry picked from commit 4fed337131ad1f57854d1a84f9e88b420158264d)
3934ae7 tegra2 clocks: APB peripheral clock fixup from v21y source drop (cherry picked from commit dde3a126cafe81911d4326ca82a3e557714a8583)
f206422 board-nvodm: hynix memory patch from v21y source drop (cherry picked from commit 661da28ba2fba1c908849089303c717bc3ac7660)
7e7ca2f serial: tegra_hsuart - increase from 2k*8 to 2k*16 from v21y source drop (cherry picked from commit f6a8abe19956833dabfff3f99cc31502428a5150)
8604e8d video: tegra-fb disable addr change via sysfs interface
a92fa6f kernel/printk: disable console_suspend_enabled from v21y source (cherry picked from commit f6b23dd121f152c1330b589fc801711ff97a4c08)
2119065 wifi: add wifi code fixup from v21y GB source release (cherry picked from commit 71def7390e2488abe71ef980d2832ed2fa34a147)
c57c2ef Revert "ARM: vfp: flush thread hwstate before restoring context from sigframe"
8854501 net/filter: SKF_AD_RXHASH filter is not supported by LGE implementation (cherry picked from commit 1e337d3517d05783eb3e1d9b36ac44b8ffe6ce02)
e85ca49 ARM/NET/BPF JIT: disable BPF_S_ANC_PROTOCOL for .32 kernel
e0740f0 net: filter: move forward declarations to avoid compile warnings
aba2429 net: filter: Just In Time compiler for x86-64
a4b752e filter: constify sk_run_filter()
55b0e64 filter: add SKF_AD_RXHASH and SKF_AD_CPU
c798a73 filter: optimize sk_run_filter
0ee5c7e net: move definitions of BPF_S_
to net/core/filter.c
983b499 net: optimize Berkeley Packet Filter (BPF) processing
7f46b75 net: Socket filter ancilliary data access for skb->dev->type
f8d29e8 filter: Add SKF_AD_QUEUE instruction
74c0f02 pkt_sched: ingress socket filter by mark
53fe5e3 Revert "nohz: Remove ts->inidle checks before restarting the tick"
0a76403 lib: introduce common method to convert hex digits
57f1099 ARM: 5889/1: Add atomic64 routines for ARMv6k and above.
52d09c3 (temp) Update build scripts
Update 2012.04.02:
Various minor bugfix and cleanup
Improve Lite battery driver
Revert back to the original CM7 wifi driver (i prefer the stability)
OTF cleanup and minor adjustment
Fix ext2/3 fs mount issue on some devices (link2sd, move2sd, etc.. is working fine now)
Compiled with Linaro gcc 4.5
Update 2012.03.28
- Request: Built in NFS client support, NTFS filesystem module
- Request: Full IP6tables support
- Request: davfs2 native kernel support (you need a webdav client to use it!)
- Disable battery life extender (its not needed on our device)
Update 2012.03.27
- Minor ramhack fix
- Various kernel updates backported from 2.6.34.x (all safe)
- EXT4 kernel module updated, using ext4 module for ext2/3 filesystem too.
- Improved sound quality (c) Spica
- Updated SIO IO scheduler to the latest version (2012)
- Less debug in kernel, less flood in logcat
- ACPI backported from kernel 2.6.34.x (chance to help avoid the remain BSOD)
- Removed beats audio (its just a hoax/placebo, not working)
Update 2012.03.20
- Minor fix, what can be possible help to avoid charging BSOD
- etana.conf now supported predefined ramhack size: ramhack=value (example: ramhack=48) only accept 32,48,64,80,96 example file
Update 2012.03.19
- Updated to OTF toolkit final, changelog found in here
- Linux updated to 2.6.32.59
- Fixed cpu second core activation bug
- Introduce Lite battery driver, provide a good battery life without the funky readings issue.
Update 2012.03.11
- Add Ramhack OTF support
Update 2012.03.08
- Kernel is updated to 2.6.32.58
- AVP freq can be adjusted with the OTF (HP kernel tweaker app cant be handle this, until i dont get the sources of that app) its can be controlled via this file: /data/spica/avpfreq (example: echo 240000 > /data/spica/avpfreq), or with the Etana tweaker app. AVP freq auto adjusted with the powersave levels and the nitro.
- GPU freq max limit extended to 400000 (HP kernel tweaker app can be adjust to max 350000, i need thoose sources to extend to 400000) GPU freq also auto adjusted with the powersave levels and the nitro.
- Battery lifetime extender support. Its an automatized softare mechanism, what can be prevent the battery overcharge. It will be handy if you have cheap/refactored battery/charger. Its not mean the battery charge hold up longer, its extend the battery lifetime.
- Default IO scheduler is changed to SIO
- Default LMK level is changed to optimum
- CPU overvolt by default for the better stability (the minimum undervolt levels intact)
- Kernel is compiled with the Linaro 4.5.3 compiler (thx Spica for the tip). its gave as a better compatibility/stability.
Update 2012.03.05
- Fix every powersave and nitro options issues
Update 2012.03.02
- Full support for Spica OTF
- Optional Beats Audio mod, disabled by default, only installed if you change the installer config file (etana.conf)
Update 2012.02.29
- Fixed endcall BSOD (i hope)
- BCM4329: disabled Fast sleep mode (this can be caused previously the wifi issue)
Updates 2012.02.27
- Separated build for the max overclock 1216Mhz and the 1408Mhz
- Separated build for the DebauchedSloth (aka DS) battery driver. This provide a much better battery life however produce funky battery readings
- The tweak init script now support Dalvik-Cache garbage clean and SQLite database defrag at boot
- Powersaver 3G settings thx for Zeppelinrox, this can be adjustable in the future versions via the new kernel install file (etana.conf)
- Separated config file for the kernel installer, place it in the root of the sdcard, comment in/out any line what is needed or unneded (called etana.conf)
- The init script auto handle the different overclock profiles, just set the voltage levels in the tweakaio.conf like before, all frequency defined, however not all used, based on the OC profile
Updates 2012.02.22
- terminal crash problem fixed
- v20q logging method in ts0710 driver
- Use the v20q MUIC driver
- Remove 1408Mhz, add back 655Mhz, powersave is more important
- Merge some part of the swiftextreme kernel
- Add support for the timer slack cgroup
- Fix build flags what is possibly broken some apps (droidwall working again)
Updates 2012.02.20
- Add support for allow mmapped anonymous memory to be uninitialized
- net: wireless: bcm4329: Prevent working thread to run during suspend
- If user space is waiting for a syncpt value higher than max, nvhost_wait_timeout() panics the kernel. This panic is based on the assumption that nobody should wait for sync points higher than indicated by a submit from user space.
- arm: tegra: power: fix LP2 scheduling in atomic
- cpufreq: stats: snap freq to next lower freq when not in table
- net: ppp: Reduce GFP_ATOMIC memory usage
- arm: tegra: power: fix lp0 resume failure
- ARM: improve compilers ability to optimize page tables
- Replace CPU step 389Mhz with 324Mhz, and adjust a voltages a bit
Updates 2012.02.18
- Fix compass delay problem
- Revert back to the CM7 touch screen driver (ICS driver dont work well)
- Revert some buggy v20q patch
Updates 2012.02.17.
- Using Fajarep (thx for him!) values in the backlight levels and the cpu1 activation threshold from the swiftextreme kernel for more powersave
- Kernel is compiled with O3 optimization flags
- Adjust some values for better stability
- Tweak init script now support the CPU undervolt, you can adjust the CPU voltages in the tweakaio.conf file
Updates 2012.02.16.
- Reboot is now working with every ramhack, fix merged from the CM9 kernel
- Wireless: Use low power mode PM_FAST instead of PM_MAX. A bit higher power consumption, but increases stability of wireless connection.
- Merge some patch from the ICS kernel (only what is not interfered with the android 2.3.x)
- Bash installer support, no need to install bash manually
Updates 2012.02.15.
- Add back ramzswap module, used zram as default
- Follow the main 2.6.32.y kernel source
- Kernel updated to 2.6.32.57
- Revert lowering EMC voltage for safety reason
- wireless :bcm4329: disable sdio interrupts before wifi reset to avoid supurious client interrupt during stop process
- Tweak init script and parameters are separated, no need to modify the main tweak init script.
Updates 2012.02.13.
- Fix cache cleaning process, now work with TouchCWM too
- Lowering GPU freq and EMC voltage
- Adjust the second core management a bit
- Readd import dvs updates for SPI, merged from v20q (confirmed work, thx for Eungbo)
- tegra pinmux: reduce logging
- cpuidle: add missing race condition fix
- Supress spi_register_board_info error logging
- ts0710: cleanup and logging fix
- star_powerkey: fix LP1 powerkey skip issue
- cpwatcher: reduce logging noise
- Follow the main CM7 changes
Updates 2012.02.08.
- CPUfreq driver add SMP support
- Fix invalid GPIO configuration, ported from v20q
- Tegra watchdog patch, ported from the v20q
- Nividia patch for SurfaceFlinger patch from v20q
- APB bus support, ported from v20q
- Adjust AVP/GPU/SDRAM freq
- Revert tegra: Import dvs updates for SPI from p999s v21e (its not good for our O2X)
- Revert nvrm_user.c: Updates from the p990 v10e drop called: Charging BSOD fix (not work)
- reduce logging noise
- Battery friendly cpu1 management (sysctl management of the second core soon)
- Voltage adjustment (hopefully the last)
Updates 2012.02.06.
- Follow faux123 git
- Using the old wifi driver
- 389Mhz available again
- Little voltage/core adjustment
- TouchLED brightness maximum value lowered to 200
- Adjust AVP/GPU/SDRAM freq
Updates 2012.02.04.
- Fix issue: CM7 cpu settings menu not working
- Adjust CPU1 management a little
- Using the v20q wifi driver
- Optimize the kernel installer, now the text is fit in the new touch CWM
Updates 2012.02.03.
- #3: Fix issue: screen brightness is reset to default level after a screen unlock
- #2: Remove bravia engine from the installer (wait for the proper Gallery3D apk by owain)
- #2: Merge updates from the v20q kernel
- #2: Follow CM7 changes
- New Freq/Voltage table for the CPU (double check setcpu/cpumaster/etc. profiles!)
- Adjust second core management
- Updated battery charger driver
- Default low voltage is 780mV, max is 1250mV
Updates 2012.01.30.
- Non star drivers pulled from the cm7
- Updated PowerKey and BackLight driver from the v20o
- New Freq/Voltage table for the CPU
- Adjust CPU dedicated low level voltage corner to 770mV
- Default low voltage is 790mV, max is 1250mV
- Disabling autogroup scheduler (its not necessary for our phones)
Updates 2012.01.27.
- Take close to the CM7, add new patch sets from the v20l-v20o_beta
- Readd memory compaction and auto group scheduler
- Lowest voltage is 790mV, highest is 1200mV
updates 2012.01.23.
- Fix Issue: Brightness level force changed back to the default level after a screen lock/unlcok.
updates 2012.01.22.
- Updated almost everything from the LGE v20l kernel, including tegra specific files, star drivers, and more..
- Updated Broadcom Wireless driver, ported from the SU660 kernel
- Using the default LGE output voltages (try to avoid any BSOD out)
updates 2012.01.18.
- initramfs: revert to the old compression method
- compcache disabled by default (you can enable in the /system/etc/init.d/90tweakaio file changing COMPCACHE="off" to COMPCACHE="on") please make sure that you are disable the compcache option in the cm performance menu, in that case zram module dont even load.
updates 2012.01.17.
- f71989e207: PM / Sleep: Fix race between CPU hotplug and freezer
- 9741d973f8: firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
- aef3cb6ca5: offb: Fix setting of the pseudo-palette for >8bpp
- 0a3a07f15b: offb: Fix bug in calculating requested vram size
- 358e307557: asix: new device id
- 12e758904f: reiserfs: Fix quota mount option parsing
- 77915669ba: reiserfs: Force inode evictions before umount to avoid crash
- 7c78b92eec: USB: update documentation for usbmon
- 151053ab5e: drivers/usb/class/cdc-acm.c: clear dangling pointer
- e8afc51e81: USB: isight: fix kernel bug when loading firmware
- 3e830aefda: usb: usb-storage doesn't support dynamic id currently, the patch disabled this
- 94385b3ed4: USB: add quirk for another camer
- 0630cde299: USB: omninet: fix write_room
- 276e8d0584: USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c
- 3bb5811b0b: asix: fix infinite loop in rx_fixup()
- f71989e207: PM / Sleep: Fix race between CPU hotplug and freezer
- f09bb6a7bf: SCSI: scsi_dh: check queuedata pointer before proceeding further
- 9ee3e4ab17: xfs: validate acl count
- 3c7af5a9c7: xfs: fix acl count validation in xfs_acl_from_disk()
- f2ab2a127d: Update Linux version to 2.6.32.54
- Update zram driver and compiled as module (backporting from the kernel 3.x)
- Update gyroscope driver (ported from the LG streamline) (better sample rate) (if you playing with racer game a lot, you will be pleased with this )
- Update AIO tweak file, compcache part logged to a new log file (if you have problem with the compcache, send me the /cache/compcache.log file)
updates 2012.01.13.
- Revert zcache/cleancache to avoid compatibility problem
- Remove the old ramzswap, used zram instead
- Fix voltage levels that not jump more than 100mV
updates 2012.01.12.
- Fix LGE board definitions (avoid boot problems on some devices)
- Minor voltage adjustment
- Revert ISL29018 regulator patch (its not working fine)
- Retry page fault when blocking on disk transfer patch
updates before 2012.01.12.
- modify some parameters, try to avoid conflict with other kernel developers (...)
- Update BFQ IO Scheduler to v3r1 and set to the default IO Scheduler
- Enable the group IO scheduling and optimized for high io workload (ported from the SU660 kernel)
- Update SIO IO Scheduler
- Add V/r IO Scheduler
- Update ZRAM staging driver
- Zcache/Cleancache backporting from kernel v3.x
- Enable regulator for ISL29018
- Update memory compaction (backported)
- ARMio: fix namespace conflicts
- improve SWP emulation enable (merged from the nv-tegra git)
- Patch: nVidia SPI patch for the SPI transaction stability (merged from the nv-tegra git)
- Fix bravia engine build.prop tweak, thx for hackworks!
- Reduce compcache default size to 50Mb (because the zcache not needed higher)
- Raise the force drop cache interval to 8 hour (because the zcache dropping cache manually not needed anymore, at least not so frequently)
- build.prop tweak fine tune: merged some values from V6 supercharger (note: V6 supercharger use the vfs_cache_pressure higher than 100!)
updates before 2012.01.11.
- Kernel updated to 2.6.32.53
- sched: fair sleepers for timer and interactive
- ath9k: Fix kernel panic in AR2427 in AP mode
- cfq-iosched: fix cfq_cic_link() race confition
- hung_task: fix false positive during vfork
- mmci: Fixup error handling for dma
- MXC PWM: should active during DOZE_WAIT_DBG mode
- SCSI: mpt2sas_scsih_smart_predicted_fault uses GFP_KERNEL in interrupt
- fix: vfs_read_cache_page should use gfp argument rather than GFP_KERNEL
- watchdog_hpwdt: Changes to handle NX secure bit in 32bit path
- battery: minor fix: battery readings using a more precise calculation method
updates before 2012.01.09.
- revert force set the screen off freq
- staging: added support for traditional ramzswap support
- cpufreq: stats: Do not account for idle time when tracking time_in_state
- crypto: SHA1 routine optimized to do word accesses rather than byte accesses, and to avoid unnecessary copies into the context array
- crypto: added CRC32c support
- lx6464es - fix device communication via command bus
- hda/realtek - Fix Oops in alc_mux_select()
- vlan: reset skb->vlan_tci field before reusing skb
- mm/vmalloc: eliminate extra loop in pcpu_get_vm_areas error path
- fix: export __get_user_pages_fast() function
- cpu: fix chunk range calculation
- timekeeping: add arch_offset hook to ktime_get functions
- tick-broadcast: Stop active broadcast device when replacing it
- PM / Suspend: Fix bug in suspend statistics update
- lockdep: Print lock name in lockdep_init_error()
- hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions
- patch: kernel.h: Add BUILD_BUG_ON_USED() macro
- jbd/jbd2: validate sb->s_first in journal_get_superblock()
- hfs: fix hfs_find_init() sb->ext_tree NULL ptr oops
- eCryptfs: Extend array bounds for all filename chars
- USB: usb-storage: unusual_devs entry for Kingston DT 101 G2
- usb: option: add SIMCom SIM5218" has been added to source tree
- usb: ftdi_sio: add PID for Propox ISPcable III
- USB: whci-hcd: fix endian conversion in qset_clear()
- usb: added Motorola H24 HSPA module
- staging: usbip: bugfix for deadlock
- staging: comedi: fix oops for USB DAQ devices.
- fix: SCSI: Silencing 'killing requests for dead queue'
- fix: oprofile: Free potentially owned tasks in case of errors
- fix: p54spi: Add missing spin_lock_init
- fix: Generate correct i2c address sequence for 10-bit target
- oprofile: Fix crash when unloading module (nmi timer mode)
- Huge source cleanup
- cpu: make a kconfig menu that predefine AVP Overclock Freq, 3D Overclock Freq, DDR2 SDRAM Freq im trying to avoid static definitions. Everything what is possible is calculated dynamically from this values. This give as a much better compatibility.
- cpu: added support for cpu freq statistic polling
- cpu: add minmax governor software emulation
- cpu: added support for cpu screen off max freq (merged from SetiroN source)
- version: kernel version changed to 2.6.32.51
- cpu: added support for minimum number of ticks between polling interval for governors
- cpu: added support for sampling rate multiplier for governors
- block: fix default readahead size for small devices
- added fix for the function setup_vpif_input_channel_mode() that used the VSCLKDIS register instead of VIDCLKCTL. This meant that when in HD mode videoport channel 0 used a different clock from channel 1.
- crypto: added support for LZO compression/decompression
- power: added support battery driver for batteries implemented using NVIDIA Tegra ODM kit PMU adaptation interface
- added support: gpu can use overlapping system memory with some restriction, now is possible to build a special ramhack with increased total memory while the cpu is still can use maximum 128MB ram, if needed free up the system memory (refer to the carveout killer)
- added support PL310 errata: no automatic Store Buffer drain. On revisions of the PL310 prior to r3p2, the Store Buffer does not automatically drain. This can cause normal, non-cacheable writes to be retained when the memory system is idle, leading to suboptimal I/O performance for drivers using coherent DMA. This option adds a write barrier to the cpu_idle loop so that, on systems with an outer cache, the store buffer is drained explicitly.
- asm: Split trivial #if defined(__KERNEL__) && X conditionals to make automated
disintegration easier.
- power: redefine/optimize freq's and voltages based on the LG reference table (for better compatibility)
- fix: improve charging bsod fix
- every vorkkernel patch is already included
- included some usefull patch from the swiftextreme kernel (almost nothing can be usefull its sad that fajarep leave this community, but thanks for him his great work!)
- blockio: added SIO scheduler, updated BFQ scheduler
- zram: improved zram staging driver, fix sparse warnings, default zram devices increased to two (one for the swapped space, the other is for free use). default size, num devices depends on a config option.
- cifs: fix cifs stable patch cifs-fix-oplock-break-handling-try
- input device: add multitouch input library, improve toch screen responsiveness
- input: multitouch: Add hovering distance axis. The device now capable of contact hovering can use a special flag to indicate the distance between the contact and the surface.
- added support for predefined carveout_size (for the ramhack) (credits to SetiroN for the idea!)
- sched: Avoid unnecessary overflow in sched_clock
- memory: work-around (a.k.a. hack) to prevent pages with __GFP_COMP being passed to split_page() which cannot handle them.
- wm8994 audio driver: possible fix left and right speaker channel inbalance. boost left channel volume what is lower than the right channel
- mmc: core: eMMC in Sleep mode before suspend
- memory: Reclaim nvmap carveout by killing processes. Allow the system to reclaim carveout space by killing processes. This will kill the largest consumers of lowest priority first.
Primary Download location (10Gbps, instant no wait): Click here (no need to wipe cache/dalvik)
TweakAIO app (need to install once) (10Gbps, instant no wait): Click here
NvRM Daemon CWM Installers (v10, v20f, v20q): Click here
File name description:
YYmmddHHMM-CM7-ETaNa_STOCK/LOC/HOC_(DS)
STOCK: Stock version, max speed: 1015Mhz
LOC: Low overclock version,max speed: 1216Mhz
HOC: High overclock version, max speed: 1408Mhz
DS: DS battery driver
[CM7/MIUI Kernel][KANG][JUN14]CM7-ETaNa v3.0.34
Kernel 3.0.34 "stable" branch
Based on wkpark sources, cherry picked updates from the official linux kernel github source, Code Aurora and Linaro sources
I thank every developer who made their patches available to the public!
I wanna say thank you the following persons!
Spica1234 for the on the fly (aka OTF) pack. He is a great and dedicated developer, helping a lof about the OTF integration. Thank You bro!
Culblueswan for the Etana config editor application. He is developing this app so fast, made it the config change userfriendly. Thank You!
Important!
The first boot may take while, its possible that after the second LG logo the screen will be black, DONT!! pull out the battery, just wait a few second, the bootanimation will be show soon. The second boot will be much more faster
Linux version 2.6.32.y is discontinued, only emergency bugfix will be available in the future
Touch CWM is incompatible with this kernel!! Use the normal CWM version! Its possible that the touch CWM cause the filesystem corruption and the r/w bug.
Latest SetCPU have a bug even with the 2.6.32 kernel sometimes (and the stock cm7 too), that the second core will be always active! Use the 2.2.4 version, its working fine.
Antutu CPU master 100% compatible with the kernel 3.0.y (have many profile and cpu1 deactivation is working fine)
Recommended using Antutu Battery Saver app
3G eat the battery fast, its a weak point of the O2X. Use the Toggle2G app for switch back to 2G if the screen is off or the network is not used. This will help to save a LOT battery life
Update 2012.06.17:
Linux kernel updated to 3.0.34
Disable ARCH power
Tweak CPU topology
Minor thermal adjustment
Minor voltage adjustment
Some small fix
Update 2012.06.08:
Optimized build flags for the new toolchain
Kernel is compiled with Spica (c) supersonic toolchain, specially optimized for ARM devices
Enabled ARCH POWER
Updated ARM CPU topology code
sched: minor fix
FS: Backport dynamic writeback feature from 3.1
Small hotplug fix
Disabled frame pointer (this will increase performance)
Update 2012.06.05_16h:
NEW: Fixed wrong SDRAM speed and voltage definitions
Linux Kernel updated to 3.0.33
Optimized build flags
Update 2012.06.03:
CPU freq lowered to 1504Mhz max, 1552 not stable for everyone, 1504mhz enough for good
Revert CPU based alignment handling (cause random poweroff and bsod)
Update 2012.06.03:
Max CPU speed increased to 1552Mhz (can be use in xoc mode)
SDRAM freq increased to 333Mhz
Kernel is compiled with CPU alignment support and updated build flags
USB mass storage speed issue fix
CPU1 control increase max threshold values
Set HZ to 250 and user HZ to 150
Older changelogs:
Update 2012.05.30:
Major voltage and stability fix.
Various code cleanup.
Update 2012.05.28:
Fixed etana.conf parsing bug while the kernel install (its not depending on the endline character)
Minor Code Cleanup
New feature: Higher Min CPU freq (can be enabled in the etana app) use this if you have unexpected shutdown and/or bsod while the phone is sleep.
Update 2012.05.27:
OC max speed increased to 1504Mhz. The predefined 'hoc' level max speed remain in 1408Mhz. 1504Mhz only can use in the custom settings.
Accepted freqs: 216000 312000 324000 456000 503000 608000 760000 816000 912000 1000000 1100000 1216000 1232000 1336000 1408000 1424000 1472000 1504000
Accepted voltages: 775-1325
Update 2012.05.25:
Add sysfs like OC control, see Etana app and /system/etc/init.d/99overclock for detailed information. If you dont want to use custom freqs just select one of the OC levels in the etana app otherwise see the top of the 99overclock file.
AVP, VDE, GPU freq can be adjusted in the etana.conf (used only when the kernel installed!) or after that with the 'otf' script. follow the script on screen order
Minor bugfix, and adjustment
Update 2012.05.23:
Fixed (hopefully) every bug
Update 2012.05.22:
Updated to Linux Kernel 3.0.32
Fix touch screen lag
All wifi driver issue is fixed, including connection loss, battery drain, etc.
Fix a minor bug in the second core OTF code
Fix some incomplete tegra code
Cleanup tweakaio init script, remove some useless stuff
Adjust read ahead sizes for better io speed
Update 2012.05.21:
Use the v20f nvrm_daemon binary, i tested all binary and this one is far the most stable and have great battery life
Minor voltage fixup
Minor OTF code cleanup
OTF: remove screen off max freq part, its malfunctions (use your favorit third party app)
Etana app: remove cpu undervolt (use your favorit third party app)
Update 2012.05.16:
Light voltage adjustment
Minor bugfix
Update 2012.05.15:
NEW: Kernel based protection for the sysfs values (in that case the init script missing or something)
NEW: Fixed busybox 1.20 incompatibility issue
New NITRO feature (immediately boost everything, override the current values. after disabled change back everything to the previous value. use: "echo 1 > /sys/class/misc/nitrocontrol/nitro" for enable or "echo 0 > /sys/class/misc/nitrocontrol/nitro" for disable) NITRO can be enabled permanently from the etana app, but its not recommended.
New Tweakaio factory reset option (see in the Etana editor app)
Readjust GPU, VDE, AVP and CPU1 threshold's
Use a new CPU freq/voltage table
Remove LPDDR2 and DDR2MIN from the OTF
Introduce the sysfs OTF
video: tegra host nvhost syncpt fix up from v21 source drop
star powersupply/battery: code fix up from v21y source drop
star/headset_det: add wakelock for headset_det from v21y source drop
mach-tegra/suspend: AVP suspend code fixup from v21y source drop
Fixup: tegra2 clocks: APB peripheral clock fixup from v21y source drop
video: tegra-fb disable addr change via sysfs interface
kernel/printk: disable console_suspend_enabled from v21y source
Update 2012.05.12:
Fix Battery drain
Minor bugfix
Update 2012.05.11:
Add Vibrator Control v1 by Benee (adjustable from the ETaNa app or realtime)
Force fast charge patch by Chad Froebel (see here)
Update 2012.05.09:
Enable some netfilter option
ARM console flushed on restart
Enable resource counters
Re-Enable CPU ThumbEE extension support (it was temporary disabled)
Separate cpu sysfs removal process from the main table
Lowering EMC Core Voltage
Adjust default AVP freq
Revert sound quality patch
Update 2012.05.07:
Fixed compatibility issues with some games (Draw something, Plants vs Zombies, etc..)
AdBlock hosts 2012-05-05
Remove sqlite patch (its a quite old binary and not faster like the original, so use the cm7 sqlite library instead)
tweakaio app moved to the system partition
TweakAIO init script: check the param and help file size, if its zero or not exsist then recreate
Many defconfig change
Linux kernel updated to 3.0.31
Anton Vorontsov's lowmemory killer patch set, backported from kernel 3.3.y
Adjust default VDE Freq
Added FSync Control version 1
lib: introduce some memory copy macros and functions
Optimized ARM RWSEM algorithm
Add the optimized crc32 algorithm
Update 2012.05.06:
fix: the tweakaio.conf will be recreated at boot if doesn't exsist or have zero byte size
Increase KSM sleep millisecs
Adjusted build.prop tweaks
Battery overheat patch by wkpark (this can be help to avoid charging SOD's)
Wireless: PM_FAST for bcm4329 - from Myshkinbob of XDA
LGE: use v21y battery driver
Backported fixes from the LG p999 v21y kernel
Update 2012.05.03:
Minor code cleanup
Updated ZRAM driver
Enabled Sched MultiCore Scheduler powersave mode
John Stultz ram console patch set
Switch to sysfs console
Disabled the framebuffer console (it useless in a headless device, and interfered with the sysfs console)
Various memory fix
Adjust voltages for better stability
sched: fix OOPS when build_sched_domains percpu allocation fails
Switch to SLAB allocator
Linux kernel is updated to 3.0.30
Update 2012.04.27:
Revert SLQB allocator (it seems this caused the boot issues)
Update 2012.04.26H14:flash this latest version if you have boot problem with the OC version, otherwise dont really need
Minor Cleanup
Disabled CPU Topology support (it might be cause "strange" issues)
Update 2012.04.26:
Integrated morckx ext4 reinit script to the installer (its now fully automatic)
Adjust KSM values (c) Owain and add a new feature to the etana app (KSM enable/disable)
TweakAIO init script is now fully independent, at the first run "install/update" himself, if you have any custom value it wont be lost
CPU alignment patch (c) Spica (maybe this can be help to avoid the boot issues)
Update 2012.04.25
- Improved OTF battery protection support in the DS battery driver too
- Adjust protected low virtual memory size for help to avoid kernel NULL pointer bugs
- Catalin Marinas: Kmemleak patches (backported from kernel 3.3.y) see this link for the details (+20-30MB free memory)
- Adjust PMEM allocator for better performance
- Kernel HZ = User HZ which eliminates HZ USER_HZ conversions. Should slightly increase battery life without effecting performance
- Enable ARM ThumbEE CPU feature (should give some minor JIT performance improvement)
- Remove BPF_JIT (no need for kernel 3.0.y)
Update 2012.04.24
- Compiled with a brand new build server using the latest stable linaro gcc 4.5 (i hope its gonna be solve the boot hang)
Update 2012.04.23-b1640
- Kernel is build with Linaro GCC 4.5.4 and disabled ccache
- Revert: EXT4 module use for EXT2/3 (it seems this cause problem on some case)
Update 2012.04.23
- Linux Kernel is updated to 3.0.29
- Adjust the kernel for better powersave (better battery life)
- Add VR io scheduler support (default is SIO)
- Add back an updated SLQB allocator (its still the fastest)
- Adjusted read ahead for optimal io performance
- EXT4 module use for EXT2/3
- Enable Kernel Samepage Merging (its the same like in the CM9)
- Adjusted memory management
Update 2012.04.18
- Minor bugfix
- Optimize for better battery life (hopefuly)
- Compiled with latest linaro gcc 4.7.1 source 2012.04 (own build)
Update 2012.04.17
- Add google "snappy" compression support
- Advance zram that can be use the snappy compressor (twice as fast like the lzo)
- Adjust the kernel config for better performance
- Optimize Cleancache/Zcache/Frontswap
Update 2012.04.16
- Backported frontswap from the kernel 3.3.y, and used together with cleancache
- Enabled SMT (multicore) scheduler
- Kernel is compiled in Thumb-2 mode (O2, hardfloat), using with gcc 4.7.1 (own build)
Update 2012.04.15
- Kernel updated to 3.0.28
- Owain KSM values, provide better battery life
- Ramhack changer script fixed, but make sure that you have root right before run the script (i suggest that use the script manager app)
- Some source code cleanup
Update 2012.04.12
- OverClock version now available with undervolt support
- More speed tweak for better speed and responsiveness
- Use SLUB allocator by default
- Better memory management
Update 2012.04.11
- Alternative ZRAM driver, what is can be working as a module
- Disable cleancache, its just causing lag
- Disable some debug features
- Code cleanup, optimized build flags
Update 2012.04.10
- SU binary update only optional, put the 'update_su' row to the etana.conf if you want to update the su binary
- Adjust ext4 module options, maybe it will fix the system r/w mount issue (im not sure)
- Some minor config change for better stability
- Still no OC, i cant get that part work for now
Update 2012.04.09
- MMC IO speed fix (wkpark patch)
- Touch screen tweak
- Optimized makeflags
- Various speed tweak, system is more responsive even without the OC
- Compiled with gcc 4.5.4 for better compatibily
- Installer will find and check the su binary version, if outdated it will be replaced with the latest version (3.0.3.2)
- TUN, nfs client is compiled to the kernel, cifs, ntfs, wireless as a module
Update 2012.04.07
- no overclock at the moment because it seems this caused the boot and the bsod problems
- full otf and ramhack support
- improved touch screen responsiveness, merged from the cm7 kernel
- improved power management support, better battery life
- many small fix..
Update 2012.04.05
- Kernel updated to 3.0.27
- Assimilated the Lite driver to the Stock, only the DS driver left separated
- All of the goods is integrated, ramhack, otf, oc/uv, tweakaio, etc...
- Thx to imperticus for some source cleanup!
Changing ramhack, avp, gpu, vde:
start the terminal app then write:
su
otf
follow the on screen instructions then reboot
Spica OTF tweaks realtime parameters can be adjusted via the official HP kernel tweaker app (found on the market). The boot time parameters can be adjusted from the Etana config editor app (included in the kernel installer).
Spica OTF pack further information can be found in this forum: http://forum.xda-developers.com/showthread.php?t=1295486
You can find any information what you need in there.
Installer configuration file need to be place in the sdcard root. You can set what you need and the future version respect that file, so dont need to change anymore. Example: you can exclude that install the custom font.
Note: The kernel installer just update your tweakaio config file with the cpu uv parameters, not overwrite, so if you have custom values you not loose them.
The New parameter file location is: /data/tweakaio/tweakaio.conf
Log files in: /data/tweakaio/tweakaio.log
The installer script respect the parameter file in the future, so if you have some custom settings you will not loose this in a kernel update.
Parameter file is optimized for the phone screen, it can editable with any text editor app or with the Etana kernel tweaker app.
Kernel Features
Balanced AVP OC freq
Balanced 3D OC Freq
Balanced DDR OC Freq
Balanced Second Core Management (lag free)
Default CPU freq is 1015Mhz
Max CPU speed is 1216Mhz/1408Mhz depend on OC profile
Optional Compcache (disabled by default) (you can enable that by editing the /system/etc/init.d/90tweakaio file and change COMPCACHE="off" to COMPCACHE="on"
System logger is leave enabled by default (you can disable that by editing the /system/etc/init.d/90tweakaio file and change LOGGER="on" to LOGGER="off"
Voltage adjustment
216Mhz: Def: 790mV Min: 770mV
324Mhz: Def: 830mV Min: 780mV
503Mhz: Def: 880mV Min: 800mV
655Mhz: Def: 900mV Min: 820mV
816Mhz: Def: 930mV Min: 850mV
1015Mhz: Def: 1030mV Min: 950mV
1216Mhz: Def: 1200mV Min: 1150mV
1408Mhz: Def: 1300mV Min: 1250mV
Recommended CPU profiles for optimal performance
No1: In call: 216-456 or 324-456(*)
No2: Screen off: 216-324 or 324-324(*)
No3: Charging: 216-1408 or 324-1408(*)
No4: Battery <20%: 216-816 or 324-816(*)
Note: (*) Use this if you're having a problematic phone (which doesn't like UV and has a lot of BSODs). The stock kernel doesn't use the 216Mhz setting, some hardware may not support this(!), so that's why I recommend to use 324Mhz as the minimum value if you have problems with 216Mhz.
Primary Download location (10Gbps, instant no wait): Click here
File name description:
YYmmddHHMM-ETaNa_STOCK/OC_(DS)_OTF
STOCK: stock freq steps, no overclock
OC: overclock version
DS: DS battery driver
OTF: on the fly toolkit (c) Spica
[CM7/MIUI Kernel][KANG]CM7-ETaNa
reserved...
awesome nice work mate goodluck and keep the good work comming!
looking forward
Finally you made your own thread
It started to become a little confusing over in the old thread.
I really love your hybrid version of IronKernel and hope that this kernel will be awesome too. I'm looking forward to it
Sent from my LG-Stone from the Prehistory...
Nahh... Just kidding!
CM 7.2 Koboltzz KANG
IronKernel 32MB
good luck on your new built.
I'll help testing on my free time.
by the way how can i modify the name of my own thread? i see that other users can do that.
vadonka said:
by the way how can i modify the name of my own thread? i see that other users can do that.
Click to expand...
Click to collapse
go to your first post
click on "edit post"
then click on "go advanced"
and there you can change the title =D
owain94 said:
go to your first post
click on "edit post"
then click on "go advanced"
and there you can change the title =D
Click to expand...
Click to collapse
thanks, i dont know that.
maybe later it will be necessary
Good luck on your builds mate. I'm excited to flash the 1st link you'll post here.
salisbury_steak said:
Good luck on your builds mate. I'm excited to flash the 1st link you'll post here.
Click to expand...
Click to collapse
+1
Good luck !! I can't wait
i was update the first post some news
Waiting for noram hack cause want to 100% working my phone
amazing new features
nice kernel for o2x will wait to try it
BTW It will be compatible with CM 7.1 stable?
econ said:
BTW It will be compatible with CM 7.1 stable?
Click to expand...
Click to collapse
Most probably yes - but I would advise you update to latest KANG since CM7.1 stable is rather old now...
Yeah, but for me is very fast, and solid stable (any BSOD or freeze after few days using) so I don't see any reason to upgrade OS to experimental build. If I aint right explain me
im finish the cherry picking for now, all of the important patch is merged.
im start to write a CWM update script with some optimization. i dont want to release this kernel with only a simple kernel reflash
the good news, the hard work is done

[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

[INFO] [v1.0] [27-05-2020] CPU Governor ZZMoove

Hi Guys,
i thought it would be a good idea to put all the infos of the zzmoove governor around here together on one place
for better way to find it, to have a place to dump stuff for future versions and to give support for specific questions.
for now i just copied the allready existend posts here but will edit this further when i have more time
so lets start with the first
initial version:
ZZMoove Governor v0.1
(post from 18th December 2012, 10:27 PM)
Why that “zzmoove” governor and how it works:
I thought it were pretty cool to have one of my favorite governors back from the old SGS1-days on my actual device, so i decided to take the sources and give that a try on top of boeffla kernel. It worked well so this is now the result of that experiment.
More about the internals:
Basically this is the ported SGS1 version of the well known "smoove" governor from the good old midnight kernel from Michael Weingaertner (mialwe) with a modified CPU hotplug implementation of the ktoonservative governor from ktoonesz. The original implementation from ktoonesz worked well but I observed that on idle most of the time only one cpu was going to sleep. Well that was not enough for me so I made a modification to put the other cpu's also to sleep (except cpu0). That means that this governor uses more often only one cpu on idle and as a consequence of that it needs less energy. Depending on System load and governor settings all 4 cores will be instantly up again if it is needed.
In short:
So what you can expect now from this thingy is a battery-friendly behaving hotplug conservative governor which
uses a frequency lookup table for faster upscaling (so called "smooth scaling") So this is more a energy-safer than a performer.
Tuneables/Defaults:
Sampling Rate (default=2) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/sampling_rate
Sampling Down Factor (default=4) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/sampling_down_factor
Up Threshold (default=70) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold
Up Threshold Hotplug (default=68) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug
Down Threshold (default=52) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold
Down Threshold Hotplug (default=55) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug
Ignore Nice Load (default=0) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/ignore_nice_load
Freqency Step (default=5) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/freq_step
Smooth Up (default=75) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/smooth_up
Links:
Midnight kernel
KT747 Kernel
Common Infos about Governors,I/O Schedulers etc.
Credits to:
mialwe for his smoove governor
ktoonesz for original hotplug implementation
ZZMoove Governor v0.3
(Post from 25th February 2013, 05:06 PM - "more improvements")
there are now many new possibilities to adjust the governor more precisely via sysfs!
Following new tuneables were introduced in this new version:
The so called "sleep" values which were hardcoded in previous version are now changed
to sysfs-tuneables:
The Smooth Scaling for sleep (Screen off):
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/smooth_up_sleep
possible values from 1 to 100, default: 100
The up/down Threshold for sleep (Screen off):
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_sleep
possible Values from above "down_threshold_sleep" to 100, default: 90
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_sleep
possible Values from 11 to under "up_threshold_sleep", default: 44
The Sampling Rate for sleep (Screen off):
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/sampling_rate_sleep_multiplier
possible values 1 or 2, default: 2
The amound of cores which should run at "screen off":
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/hotplug_sleep
possible Values 0 = do not touch cores (the same behaving as in standard setting of zzmoove) 1, 2 or 3
the number of cores to run on screen off. btw. setting "4" doesn't exist as u can use "0" for that setting!
Beside of that you can now change the hotplug threshold per core independently (thx to gsw5700 for the inital idea!)
and turn cores off completely.
For that purpose following tuneables were introduced and are replacing
the old hotplug up/down threshold tuneables:
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug1
hotplug up threshold for core 1 - 0 = turn off core 1, possible range from "down_threshold" to 100, default: 68
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug2
hotplug up threshold for core 2 - 0 = turn off core 2, possible range from "down_threshold" to 100, default: 68
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug3
hotplug up threshold for core 3 - 0 = turn off core 3, possible range from "down_threshold" to 100, default: 68
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug1
hotplug down threshold for core 1 - possible range from 11 to under "up_threshold", default: 55
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug2
hotplug down threshold for core 2 - possible range from 11 to under "up_threshold", default: 55
tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug3
hotplug down threshold for core 3 - possible range from 11 to unter "up_threshold", default: 55
Thanks to:
gsw5700 for the initial Idea "hotplug threshold per core".
brijmathew indirectly for the initial idea "just one core at screen off" (i think he did'nt meant exactly that in his post but hey he switched on the led in my head! *gg*)
ZZMoove Governor v0.4
(Post from 1st May 2013, 10:59 PM - "limits")
Changelog:
Frequency Limits:
First of all there is now a (by me so called) "soft" limit function for limiting frequencies at screen off but also at screen on if u wish. however i recommend to set the screen on limit always with the (if provided) max scaling functionality of the kernel as this is the better way of doing it and "works better" for following reasons: touchboost and wake up frequencies can go above that governor-soft-limit (mostly to 800/1000 mhz) because the governor has no control over these "events" and will be "bypassed" by cpufreq driver! nevertheless by setting this soft limit at screen off the use of frequencies higher than the given limit will be strongly reduced and therefore this will reduce power consumption at screen off. and that was the main intention - saving power if u do not use your phone!
For this function following new tuneables were indroduced to set in sysfs (/sys/devices/system/cpu/cpufreq/zzmoove/):
freq_limit_sleep: limit freqency at screen off (possible values 0 disable limit, 200000-1600000, default: 0)
freq_limit: limit freqency at screen on (possible values 0 disable limit, 200000-1600000, default: 0)
Fast Scaling:
As a second feature in this new version i added the so called (again by me *g*) "fast scaling" for faster up/down scaling! This should bring more performance but on the other hand this can be of course a little bit more power consumptive. try it, it makes things snappier and some people reported that with this setting touch boost can then also be disabled which wasn't really "possible" with previous versions of zzmoove governor.
For this function following new tuneables were indroduced to set in sysfs (/sys/devices/system/cpu/cpufreq/zzmoove/):
fast_scaling: fast scaling at screen on (possible values 0 disable or 1 enable, default: 0)
fast_scaling_sleep: fast scaling at screen off (possible values 0 disable or 1 enable, default: 0)
As last "feature" and to complete the "set" the tuneable "freq_step_sleep" was included to be able to change freq step only at screen off
possible settings are the same as the "freq_step" tuneable which are values from 0% (stops freq scaling) to 100% (switches frequencies from lowest to highest frequency and vice versa like ondmand governor) default is 1 in all settings (bat/opt/perf) at screen off.
ZZMoove Governor v0.5 aka "The Beast"
(performance and fixes)
Changelog:
- completely reworked fast scaling functionality. now using a "line jump" logic instead of fixed freq "colums".
fast scaling now in 4 steps and 2 modes possible (mode 1: only fast scaling up and mode2: fast scaling up/down)
- added support for "Dynamic Screen Frequency Scaling" (original implementation into zzmoove governor highly improved by Yank555)
originated by AndreiLux more info: http://forum.xda-developers.com/showpost.php?p=38499071&postcount=3
- re-enabled broken conservative sampling down factor functionality ("down skip" method).
originated by Stratosk - upstream kernel 3.10rc1: https://git.kernel.org/cgit/linux/k...id=refs/tags/v3.10-rc1&qt=author&q=Stratos+Ka
- changed down threshold check to act like it should.
originated by Stratosk - upstream kernel 3.10rc1: https://git.kernel.org/cgit/linux/k...id=refs/tags/v3.10-rc1&qt=author&q=Stratos+Ka
- implemented/ported "early demand" from ondemand governor.
originated by Stratosk - more info: http://www.semaphore.gr/80-latests/98-ondemand-early-demand
- implemented/ported "sampling down momentum" from ondemand governor.
originated by Stratosk - more info: http://www.semaphore.gr/80-latests/80-sampling-down-momentum
- modified some original conservative code parts regarding frequency scaling which should work better now.
originated by DerTeufel1980: https://github.com/DerTeufel/androi...mmit/6bab622344c548be853db19adf28c3917896f0a0
- added the possibility to use sampling down momentum or conservative "down skip" method.
- increased possible max sampling rate sleep multiplier to 4 and sampling down factor to 100000
accordingly to sampling down momentum implementation.
- added frequency search limit for more efficient frequency searching in scaling "table" and for improving
frequency "hard" and "soft" limit handling.
- added cpu idle exit time handling like it is in lulzactive
again work from ktoonsez : https://github.com/ktoonsez/KT747-JB/commit/a5931bee6ea9e69f386a340229745da6f2443b78
description in lulzactive governor: https://github.com/ktoonsez/KT747-J...f2443b78/drivers/cpufreq/cpufreq_lulzactive.c
- fixed a little scaling step mistake and added overclocking frequencies up to 1800 mhz in scaling frequency "tables".
- fixed possible freezes during start/stop/reload of governor and frequency limit change.
- fixed hotplugging logic at online core 0+3 or 0+2 situations and improved hotplugging in general by
removing mutex locks and skipping hotplugging when it is not needed.
- added possibility to disable hotplugging (that's a debugging relict but i thought maybe someone will find that usefull so i didn't remove it)
- try to fix lags when coming from suspend if hotplug limitation at sleep was active by enabling all offline cores during resume.
- code cleaning and documentation.
for this functions following new tuneables were indroduced:
Early Demand:
early_demand -> switch to enable/disable early demand functionality (possible values 0 disable or 1 enable, default: 0)
grad_up_threshold -> scale up frequency if the load goes up in one step of grad up value (possible range from 11 to 100, default 50)
little example for understanding: when the load rises up in one big 50% step then the
frequency will be scaled up immediately instead of wating till up_threshold is reached.
Fast Scaling (improved):
Fast scaling has now 8 levels which at the same time have 2 modes included. Values from 1-4 equals to scaling jumps in the frequency table and uses the Fast Scaling up but normal scaling down mode. Values from 5-8 equals to 1-4 scaling jumps but uses the fast scaling up and fast scaling down mode.
Hotplugging switch:
disable_hotplug -> switch to enable/disable hotplugging (possible values are any value above 0 to disable hotplugging and 0 to
enable it, default 0)
Sampling Down Factor and Sampling Down Momentum:
Description: From the original author of ondemand_sampling_factor David Niemi:
"This improves performance by reducing the overhead of load evaluation and helping the CPU stay
at its top speed when truly busy, rather than shifting back and forth in speed."
And that "Sampling Down Momentum" function from stratosk does this dynamicly now!
sampling_down_max_momentum -> max sampling down factor which should be set by momentum (0 disable momentum, possible range from sampling_down_factor up to MAX_SAMPLING_DOWN_FACTOR, default 0 disabled)
sampling_down_momentum_sensitivity -> how fast the sampling down factor should be switched (possible values from 1 to 500, default 50)
sampling_down_factor -> depending on which mode is active the factor for sampling rate multiplier which influences the whole
sampling rate or the value for stock "down skip" functionality which influences only the down scaling
mechanism (possible values are from 1 to MAX_SMPLING_DOWN_FACTOR, default 1 disabled)
Original conservative "down skip" or "stock" method can be enabled by setting the momentum tuneable to 0. so if momentum is inactive there will be a fallback to the stock method. as the name "down skip" says this method works "slightly" different from the ondemand stock sampling down method (on which momentum was based on). It just skips the scaling down code for the given samples. if u want to completely disable the sampling down functionality u can achieve this by setting sampling down factor to 1. so concluded: setting sampling_down_momentum = 0 and sampling_down_factor = 1 will disable sampling down completely (that is also the governor default setting)
Dynamic Screen Frequency Scaling:
Dynamicly switches the screen frequency to 40hz or 60hz depending on cpu scaling and hotplug settings. For compiling and enabling this functionality u have to do some more modification to the kernel sources, please take a look at AndreiLux Perseus repository and there at following commit: https://github.com/AndreiLux/Perseus-S3/commit/3476799587d93189a091ba1db26a36603ee43519 After adding this patch u can enable the feature by setting "CPU_FREQ_LCD_FREQ_DFS=y" in your kernel config and if u want to check if it is really working at runtime u can also enable the accounting which AndreiLux added by setting LCD_FREQ_SWITCH_ACCOUNTING=y in the kernel config. If all goes well and u have the DFS up and running u can use following tuneables to do some screen magic: (thx to Yank555 for highly extend and improving this!)
lcdfreq_enable -> to enable/disable LCDFreq scaling (possible values 0 disable or 1 enable, default: 0)
lcdfreq_kick_in_down_delay -> the amount of samples to wait below the threshold frequency before entering low display frequency mode (40hz)
lcdfreq_kick_in_up_delay -> the amount of samples to wait over the threshold frequency before entering high display frequency mode (60hz)
lcdfreq_kick_in_freq -> the frequency threshold - below this cpu frequency the low display frequency will be active
lcdfreq_kick_in_cores -> the number of cores which should be online before switching will be active. (also useable in combination
with kickin_freq)
So this version is a kind of "featured by" release as i took (again *g*) some ideas and work from other projects and even some of that work
comes directly from other devs so i wanna thank and give credits:
First of all to stratosk for his great work "sampling down momentum" and "early demand" and for all the code fixes which found their way into
the upstream kernel version of conservative governor! congrats and props on that stratos, happy to see such a nice and talented dev directly
contibuting to the upstream kernel, that is a real enrichment for all of us!
Second to Yank555 for coming up with the idea and improving/completeing (leaves nothing to be desired now *g*) my first
rudimentary implementation of Dynamic Screen Frequency Scaling from AndreiLux (credits for the idea/work also to him at this point!).
Third to DerTeufel1980 for his first implementation of stratosk's early demand functionality into version 0.3 of zzmoove governor
(even though i had to modify the original implementation a "little bit" to get it working properly ) and for some code optimizations/fixes regarding scaling.
Last but not least again to ktoonsez - I "cherry picked" again some code parts of his ktoonservative governor which should improve this governor
too!
ZZMoove Governor 0.5.1a
(bugfixes)
urgend bugfix release:
- fix governor switching issues (deadlocks) which oviously werend fixed in version v0.5
- optimised scaling function a lot (thx and credits to Yank555!)
ZZMoove Governor 0.5.1b (in cooperation with Yank555)
(bugfixes and more optimisations)
Changelog:
- now really fixed the governor switching issues! (gotcha *****! *g*)
- again some changes in scaling logic from Yank555 (thx and credits)
- simplified some tuneables by using already available stuff instead of using redundant code (thx Yank555)
- reduced/optimised hotplug logic and preperation for automatic detection of available cores
(maybe this fixes also the scaling/core stuck problems)
ZZMoove Governor 0.6 (in cooperation with Yank555)
(flexibility)
Changelog:
- removed fixed scaling lookup tables and use the system frequency table instead
changed scaling logic accordingly for this modification (thx and credits to Yank555)
- reduced new hotplug logic loop to a minimum
- again try to fix stuck issues by using seperate hotplug functions out of dbs_check_cpu (credits to ktoonesz)
- added support for 2 and 8 core systems and added automatic detection of cores were it is needed
(for setting the different core modes you can use the macro 'MAX_CORES'. possible values are: 2,4 or 8, default are 4 cores)
reduced core threshold defaults to only one up/down default and use an array to hold all threshold values
- fixed some mistakes in "frequency tuneables" (Yank555):
stop looping once the frequency has been found
return invalid error if new frequency is not found in the frequency table
ZZMoove Governor 0.6a (in cooperation with Yank555)
(scaling logic flexibility)
Changelog:
- added check if CPU freq. table is in ascending or descending order and scale accordingly
(compatibility for systems with 'inverted' frequency table like it is on OMAP4 platform)
thanks and credits to Yank555!
ZZMoove Governor 0.7 aka "Tamed Beast" (in cooperation with Yank555)
(slow down)
Changelog:
- reindroduced the 'old way' of hotplugging and scaling in form of the 'Legacy Mode' (macros for enabling/disabling this done by Yank555, thx!)
NOTE: this mode can only handle 4 cores and a scaling max frequency up to 1800mhz.
- added hotplug idle threshold for a balanced load at CPU idle to reduce possible higher idle temperatures when running on just one core.
(inspired by @JustArchi observations, thx!)
- added hotplug block cycles to reduce possible hotplugging overhead (credits to @ktoonsez)
- added possibility to disable hotplugging only at suspend (inspired by a request of @STAticKY, thx for the idea)
- introduced hotplug frequency thresholds (credits to Yank555)
- hotplug tuneables handling optimized (credits to Yank555)
- added version information tuneable (credits to Yank555)
for this functions following new tuneables were indroduced:
legacy_mode -> for switching to the 'old' method of scaling/hotplugging. possible values 0 to disable, any values above 0 to enable (default is 0)
NOTE: the legacy mode has to be enabled by uncommenting the macro ENABLE_LEGACY_MODE
hotplug_idle_threshold -> amount of load under which hotplugging should be disabled at idle times (respectively at scaling minimum). possible values 0 disable, from 1 to 100 (default is 0)
hotplug_block_cycles -> slow down hotplugging by waiting a given amount of cycles before plugging. possible values 0 disbale, any values above 0 (default is 0)
disable_hotplug_sleep -> same as disable_hotplug but will only take effect at suspend. possible values 0 disable, any values above 0 to enable (default is 0)
up_threshold_hotplug_freq1 -> hotplug up frequency threshold for core1. possible values 0 disable and range from over down_threshold_hotplug_freq1 to max scaling freqency (default is 0)
up_threshold_hotplug_freq2 -> hotplug up frequency threshold for core2. possible values 0 disable and range from over down_threshold_hotplug_freq2 to max scaling freqency (default is 0)
up_threshold_hotplug_freq3 -> hotplug up frequency threshold for core3. possible values 0 disable and range from over down_threshold_hotplug_freq3 to max scaling freqency (default is 0)
down_threshold_hotplug_freq1 -> hotplug down frequency threshold for core1. possible values 0 disable and range from min saling to under up_threshold_hotplug_freq1 freqency (default is 0)
down_threshold_hotplug_freq2 -> hotplug down frequency threshold for core2. possible values 0 disable and range from min saling to under up_threshold_hotplug_freq2 freqency (default is 0)
down_threshold_hotplug_freq3 -> hotplug down frequency threshold for core3. possible values 0 disable and range from min saling to under up_threshold_hotplug_freq3 freqency (default is 0)
version -> show the version of zzmoove governor
ZZMoove Governor 0.7a
(little fix)
Changelog:
- fixed a glitch in hotplug freq threshold tuneables which prevented setting of values in hotplug down freq thresholds when hotplug
up freq thresholds were set to 0. NOTE: enabling the legacy mode in the source is not part of that fix i just forgot to set it back to standard (disabled) before pushing, sry to lazy to fix that fix now
ZZMoove Governor 0.7b
(compatibility improved and forgotten things)
Changelog:
- fixed stuck at max scaling frequency when using stock kernel sources with unmodified cpufreq driver and without any oc capabilities.
- readded forgotten frequency search optimisation in scaling logic (only effective when using governor soft frequency limit)
- readded forgotten minor optimisation in dbs_check_cpu function.
- as forgotten to switch in last version Legacy Mode now again disabled by default
- minor code format and comment fixes
ZZMoove Governor 0.7c
(again compatibility and optimisations)
Changelog:
- frequency search optimisation now fully compatible with ascending ordered system frequency tables (thx to @psndna88 for testing!)
- again minor optimisations at multiple points in dbs_check_cpu function
- code cleaning - removed some unnecessary things and whitespaces nuked - sry for the bigger diff but from now on it will be clean!
- corrected changelog for previous version regarding limits
ZZMoove Governor 0.7d (bugfix!)
(broken things)
Changelog:
- fixed hotplug up threshold tuneables to be able again to disable cores manually via sysfs by setting them to 0
- fixed the problem caused by a "wrong" tuneable apply order of non sticking values in hotplug down threshold tuneables when
hotplug up values are lower than down values during apply.
NOTE: due to this change right after start of the governor the full validation of given values to these tuneables is disabled till
all the tuneables were set for the first time. so if you set them for example with an init.d script or let them set automatically
with any tuning app be aware that there are illogical value combinations possible then which might not work properly!
simply be sure that all up values are higher than the down values and vice versa. after first set full validation checks are enabled
again and setting of values manually will be checked again.
- fixed a typo in hotplug threshold tuneable macros (would have been only a issue in 8-core mode)
- fixed unwanted disabling of cores when setting hotplug threshold tuneables to lowest or highest possible value
which would be a load of 100%/11% in up/down_hotplug_threshold and/or scaling frequency min/max in up/down_hotplug_threshold_freq
CPU Governor ZZMoove Changelog
ZZMoove Governor 0.8
(cool down baby!)
Changelog:
- indroduced scaling block cycles (in normal and legacy mode) to reduce unwanted jumps to higher frequencies (how high depends on settings) when a load comes up just for a short peroid of time or is hitting the scaling up threshold more often because it is within some higher to mid load range. reducing these jumps lowers CPU temperature in general and may also save some juice. so with this function u can influence the little bit odd scaling behaving when you are running apps like for example games which are constantly 'holding' system load in some range and the freq is scaled up too high for that range. in fact it just looks like so, monitoring apps are mostly too slow to catch load in realtime so you are watching almost only 'the past'. so actually it's not really odd it's more like: an app is stressing the system and holding it on a higher load level, due to this load level scaling up threshold is more often reached (even if monitoring shows a lower load than up_threshold!) the governor scales up very fast (usual zzmoove behaving) and almost never scales down again (even if monitoring shows a lower load than down_threshold!). now in patricular these scaling block cycles are throttling up scaling by just skipping it for the amount of cycles that you have set up and after that are making a forced scale down in addition for the same amount of cycles. this should bring us down to a 'appropriate' frequency when load is hanging around near up threshold.
- indroduced (D)ynamic (S)ampling (R)ate - thx to hellsgod for having the same idea at the same time and pointing me to an example. even though at the end i did 'my way' DSR switches between two sampling rates depending on the given load threshold from an 'idle' to a 'normal' one.
- added read only tuneable 'sampling_rate_current' for DSR to show current SR and internally use this sampling rate instead of automatically changing 'sampling_rate' tuneable in DSR. this keeps things more compatible and avoids problems when governor tuneables are set with tuning apps which are saving actual shown values.
- changed setting of sampling rate in governor from 'sampling_rate' to 'sampling_rate_current' and the value at suspend to 'sampling_rate_idle' value instead of using current active sampling rate to avoid accidentally setting of 'normal operation' sampling rate in sampling rate idle mode which has usually a much lower value.
- indroduced build-in profiles in seperate header file (credits to Yank555 for idea and prototype header file) you can switch between multible build in profiles by just piping a number into the tuneable 'profile_number'. all tuneable values of the set profile will be applied on-the-fly then. if a profile is active and you change any tuneable value from it to a custom one the profile will switch to '0' in 'profile_number' and 'custom' in 'profile' for information. with this profiles support developers can simplify their governor settings handling by adding all their desired and well proven governor settings into the governor itself instead of having to fiddle around with init.d scripts or tuning apps. NOTE: this is just an optional feature, you can still set all tuneables as usual just pay attention that the tuneable 'profile_number' is set to '0' then to avoid overwriting values by any build-in profile! for further details about profiles and adding own ones check provided 'cpufreq_zzmoove_profiles.h' file.
- added 'profiles_version' tuneable to be able to show seperate profiles header file version.
- added enabling of offline cores on governor exit to avoid cores 'stucking' in offline state when switching to a non-hotplug-able governor
and by the way reduced reduntant code by using an inline function for switching cores on and using the better 'sheduled_work_on-way' at all needed places in the code for that purpose.
- moved some code parts to legacy mode macro which has only relevance when including the legacy mode in the governor and in addition excluded it during runtime if legacy mode is disabled.
- improved freq limit handling in tuneables and in dbs_check_cpu function
- changed value restriction from '11' to '1' in hotplug down threshold and grad up tuneables as this restriction is only nessesary in
scaling down tuneable
- added missing fast scaling down/normal scaling up mode to fast scaling functionality (value range 9-12 and only available in non-legacy mode thx @OldBoy.Gr for pointing me to that missing mode!)
- added auto fast scaling aka 'insane' scaling mode to fast scaling functionality - lucky number 13 enables this mode in fast_scaling tuneable NOTE: a really funny mode, try it but keep in mind setting this in combination with a set freq limit (at sleep or awake)would not make much sense as there is not enough frequency range available to jump around then.
- back from the precautious 'mutex_try_lock' to normal 'mutex_lock' in governor 'LIMIT' case -> this should be save again, no deadlocks expected any more since hotplug logic has significantly changed in zzmoove version 0.6
- removed also the no longer required and precautious skipping of hotplugging and dbs_check_cpu on multiple places in code and removed the mutex locks at governor stop and early suspend/late resume
- added hotlug freq thresholds to legacy scaling mode (same usage as in normal scaling mode)
- seperated hotplug down and up block cycles to be more flexible. this replaces 'hotplug_block_cycles' with 'hotplug_block_up_cycles' tuneable and adds one new tunable 'hotplug_block_down_cycles'. functionality is the same as before but u can now differentiate the up and down value.
- added 'early demand sleep' combined with automatic fast scaling (fixed to scaling up mode 2) and if not set already automatic (depending on load) switching of sampling rate sleep multiplier to a fixed minimum possible multiplier of 2. this should avoid mostly audio or general device connection problems with 'resource hungrier' apps like some music players, skype, navigation apps etc. and/or in combination with using bluetooth equipment during screen is off. NOTE: this overwrites a possible fast 'scaling_sleep' setting so use either this or 'fast_scaling_sleep'
- added some missing governor tunebable default value definitions
- removed tuneable apply order exception and removed analog value checks in hotplug threshold and hotplug frequency tuneables to avoid tuneable values not changing issues. NOTE: keep in mind that all 'down' values should be lower then the analog 'up' values and vice versa!
- removed 200 mhz up hotplugging restriction, so up hotplugging starts at 200 mhz now
- removed some unnecessary macros in scaling logic
- added maximum fast scaling and frequency boost to late resume to react wakeup lags
- merged some improvements from ktoonservativeq governor version for the SGS4 (credits to ktoonsez)
changes from here: https://github.com/ktoonsez/KT-SGS4/commits/aosp4.4/drivers/cpufreq/cpufreq_ktoonservativeq.c
Use dedicated high-priority workqueues
Use NEW high-priority workqueue for hotplugging
Improved hotplugging in general by reducing calls to plugging functions if they are currently running,
by reducing calls to external function in up plugging and by changing the down plug loop to an optimized one
- added hotplug boost switch to early demand functionality and up hotplugging function
- added 'hotplug_idle_freq' tuneable to be able to adjust at which frequency idle should begin
- transfered code for frequency table order detection and limit optimisation into a inline function and use this function in START,LIMIT case and early suspend/late resume instead of using redundant code
- execute table order detection and freq limit optimization calculations at 'START' and 'LIMIT' case to avoid possible wrong setting of freq
max after governor start (currently set max frequency value was sometimes not applied) and a wrong soft limit optimization setting after undercutting the soft limit with a lower hard limit value
- minor optimisation in hotplug, hotplug block and in all freq search logic parts
- added debugging sysfs interface (can be included/excluded using #define ZZMOOVE_DEBUG) - credits to Yank555!
- added some missing annotation as a prepareation and mainly to avoid some errors when compiling zzmoove in combination with 3.4+ kernel sources
- fixed hotplugging issues when cpufreq limit was set under one or more hotplugging frequency thresholds NOTE: now hotplugging frequency thresholds will be completely disabled and a fall back to normal load thresholds will happen if the maximal possible frequency will undercut any frequency thresholds
- fixed stopping of up scaling at 100% load when up threshold tuneable is set to the max value of 100
- fixed smooth up not active at 100% load when smooth up tuneable is set to the max value of 100
- fixed many code style and dokumentation issues and made a massive code re-arrangement
for this functions following new tuneables were indroduced:
early_demand_sleep -> same function as early demand on awake but in addition combined with fast scaling and sampling rate switch and only active at sleep. (possible values 0 disable or 1 enable, default is 1)
grad_up_threshold_sleep -> 2 way functionality: early demand sleep grad up (load gradient) threshold and at the same time load threshold for switching internally (tuneables are staying at set values!) sampling_rate_sleep_multiplier to 2 and fast_scaling to 2 (possible values from 1 to 100, default is 35)
hotplug_block_up_cycles -> (replaces hotplug_block_cycles) slow down up hotplugging by waiting a given amount of cycles before plugging. possible values 0 disbale, any values above 0 (default is 0)
hotplug_block_down_cycles -> (replaces hotplug_block_cycles) slow down down hotplugging by waiting a given amount of cycles before plugging. possible values 0 disbale, any values above 0 (default is 0)
hotplug_idle_freq -> freq at which the idle should be active (possible values 0 disable and any possible scaling freq, default is 0)
sampling_rate_current -> read only and shows currently active sampling rate
sampling_rate_idle -> sampling rate which should be used at 'idle times' (possible values are any sampling rate > 'min_sampling_rate', 0 to disable whole function, default is 0)
sampling_rate_idle_delay -> delay in cycles for switching from idle to normal sampling rate and vice versa (possible values are any value and 0 to disable delay, default is 0)
sampling_rate_idle_threshold -> threshold under which idle sampling rate should be active (possible values 1 to 100, 0 to disable function, default is 0)
scaling_block_cycles -> amount of gradients which should be counted (if block threshold is set) and at the same time up scaling should be blocked and after that a forced down scaling should happen (possible values are any value, 0 to disable that function, default is 0)
scaling_bock_freg -> frequency at and above the blocking should be active (possible values are any possible scaling freq, 0 to enable blocking permanently at every frequency, default is 0)
scaling_block_threshold -> gradient (min value) of load in both directions (up/down) to count-up cycles (possible value are 1 to 100, 0 to disable gradient counting)
scaling_block_force_down -> multiplicator for the maximal amount of forced down scaling cycles (force down cycles = block_cycles * force_down) therefore the forced down scaling duration (possible value are 2 to any value, 0 to disable forced down scaling and use only scaling up blocks)
profile -> read only and shows name of currently active profile ('none' = no profile, 'custom' = a profile value has changed)
profile_number -> switches profile (possible value depends on amount of profiles in cpufreq_zzmoove_profiles.h file, please check this file for futher details!) 0 no profile set = tuneable mode, default 0)
version_profiles -> read only and shows version of profile header file
if ZZMOOVE_DEBUG is defined:
debug -> read only and shows various usefull debugging infos
ZZMoove Governor 1.0 Final
(EOL)
Changelog:
EOL commit: https://github.com/zanezam/cpufreq-governor-zzmoove/commit/b22eed13461fbb59b8e9e0121656582d6ef10696
Governor: https://github.com/zanezam/cpufreq-governor-zzmoove/blob/snapdragon/CHANGELOG.txt
Profiles: https://github.com/zanezam/cpufreq-governor-zzmoove/blob/snapdragon/CHANGELOG_PROFILES.txt
Current Test-Versions (obsolete but kept for reference):
Version 1.0 beta8
(outbreak)
Changelog:
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/bef4355a652fdfc268b774e874b355bd269dbc07
Version 1.0 beta7a (bugfix)
(outbreak)
Changelog:
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/1ce22579b0e6dfce0d9916b9f0644e7d707d8587
Version 1.0 beta7 (sync)
(outbreak)
Changelog:
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/52ad61b169c24258ec1b0e6a630bbab5142faa67
Version 1.0 beta6a (Andip71 aka Lord Boeffla)
(outbreak)
Changelog (credits to Andip71):
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/9b01250eb988e86c98d289dabe6773ba748f58dd
Version 1.0 beta6 (feature preview, for opo only atm.)
(outbreak)
Changelog:
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/75c431aeff8354f224e4c688faa1559ac463ab8a
Version 1.0 beta5
(outbreak)
Changelog:
https://github.com/zanezam/cpufreq-governor-zzmoove/commit/1d2727cb9cefe0484573ace9e0dc9b55ba6c26f6
Version 1.0 beta4 (sync)
(outbreak)
Changelog:
- use again the conservative governor usual canceling of dbs work syncron instead of asyncron when exiting the governor as this change was
only needed in combination with older hotplug implementations. as also done in opo version removed again all previously merged kernel crash
fix attempts and precautions as they were not really needed
- bump version to beta4 to bring opo/i9300 versions in sync again
Version 1.0 beta3 (bugfix for opo-bacon)
(outbreak)
Changelog:
- changed back canceling of dbs work to syncron instead of asyncron in dbs_timer_exit function to avoid random kernel chrashes (again oops in smp.c)
when using this governor with the cpufreq implementation of kernel versions 3.10+. problem was initiated by governor restarts during hotplugging
- as an additional precaution check if a core is online before doing critical stuff in dbs_check_cpu main function (might be removeable at a later
time, more analyses/tests will show)
profile header file (Version 0.3 beta2 OPO)
- corrected/adjusted sampling rate values in settings where they were lower than the minimal possible value of 60000
Version 1.0 beta2
(outbreak)
Changelog:
- avoid kernel crash (usually a oops in smp.c) by checking if a core is online before putting work on it: this problem appeared on opo qualcomm
platform with proprietary mpdecision hotplugging service. assumption is that there is a delay between initiating hotplugging events from 'userland'
and gathering core state info in 'kernel land' so under some rare circumestances the governor doesn't 'know about' a changed core state and tries to
put work on a meanwhile offline core or that hotplug event happend during putting work on a core in the governor.
Version 1.0 beta1
(outbreak)
Changelog:
- bump version to 1.0 beta1 because of brought forward plan 'outbreak'
- reworked scaling logic:
removed unessesary calls of external cpufreq function and use a static variable instead to hold the system freq table during runtime fixed frequency stuck on max hard and soft frequency limit (under some circumstances freq was out of scope for the main search loop) and added precautions to avoid problems when for what ever reason the freq table is 'messed' or even not available for the governor fixed not properly working scaling with descend ordered frequency table like it is for example on qualcomm platform added additional propotional scaling mode (mode '1' as usual decide and use the lowest freq, new mode '2' use only propotional frequencies like ondemand governor does - switchable as before in 'scaling_proportional' tuneable)
- use static frequency table variable in all frequency checks agains system frequency table in the governor
- fixed 'update_ts_time_stat idle accounting' (kernel patch for kernel version 3.0.x needed, example available in github zzmoove repository)
- fixed non setting of scaling down threshold tuneables under some circumstances (issue on kernel 3.4 when running multible zzmoove instances)
- changed some variable names in scaling range evaluation and debugging tuneable
- added compatibility for kernel version 3.4 (or higher, but only tested on 3.4.0 yet)
- added compatibility for cpufreq implementation used since kernel version 3.10 (NOTE: for backports u can use the macro CPU_IDLE_TIME_IN_CPUFREQ)
- added support for powersuspend (used on some platforms since kernel version 3.4)
- added support for opo specific 'backlight ext control' (kernel patch for opo bacon devices needed, example available in github zzmoove repository)
- added macros to exclude hotplugging functionality (default in this version is enabled=uncommented)
profile header file (Version 0.3 beta1)
- bump version to 0.3 beta1 because of brought forward plan 'outbreak'
- removed dynamic freq scaling tuneable leftovers
- added macros to switch code depending of used power management implementation
or used supend/resume backlight hook (opo specific)
- added macros to be able to disable hotplugging
Version 0.9 beta4
(slimline)
Changelog:
- removed 'freq_step' functionality as it never had any function in this governor. it was a left over from mialwes 'smoove' governor and also
had no function in his governor back then. so yeah all the 'feelings' about it's influence were placebo
- introduced 'proportional scaling' for more 'connectivity' to current load, this should give more 'balanced' frequencies
in general. when enabled all targeted frequencies in scaling logic will be compared with the ones from system table method and at the end
the lowest of them both will be used. so all used scaling frequencies will be 'tentential' lower in both directions
- added support for exynos4 CPU temperature reading (patches available in zzmoove repositories: https://github.com/zanezam)
this must be enabled via 'CONFIG_EXYNOS4_EXPORT_TEMP=y' in the config of a kernel which has exynos4 CPU temperature export
implementation
included. the default temp polling interval is 1000 ms and can be set with DEF_TMU_READ_DELAY. however the TMU driver has it's own polling
interval which is 10 seconds, so leaving it at the default value of 1 second is recommended temperature reading will only be enabled if the
tuneable 'scaling_block_temp' is set and will be disabled whenever early suspend is entered
- if exynos4 CPU temperature reading is enabled in the code use current CPU temperature in scaling block functionality to be able to 'hold' the cpu
temperatue to the given one in 'scaling_block_temp'. this function is used in combination with the already existent tuneable 'scaling_block_freq'
so u have to set both to enable it. the possible temperature range is 30°C to 80°C (lower temps are making no sense and higher temps would reach
into exynos4 TMU driver trottling range)
- if exynos4 CPU temperature reading is enabled added current CPU temperature to debug info tuneable
- added auto adjustment of all available frequency thresholds when scaling max limit has changed
- again some code style and comment changes/fixes
profile header file (Version 0.2 beta3):
- added scaling block temperature tuneable to all profiles if CONFIG_EXYNOS4_EXPORT_TEMP is defined
- use CPU temperature treshold of 65°C instead of 15 scaling block cycles in game profile if
CONFIG_EXYNOS4_EXPORT_TEMP is defined
- added proportional frequency tuneable to all profiles
- added auto adjust freq thresholds to all profiles (disabled by default)
- enabled scaling proportional in ybat, ybatext, zzbat, zzbatp, zzmod and zzgame profile
- enabled scaling fast down over 1200MHz and resposiveness over 400Mhz with up threshold of 20
in ybat, ybatext, zzbat, zzbatp, and zzmod profile
- added core macros to exclude not used code like it is in governor
- removed freq_step tuneable from all profiles
Version 0.9 beta3
(slimline)
Changelog:
merged some changes originated by ffolkes (all credits and thx to him)
(source https://github.com/ffolkes/android_...44e1e3190d5/drivers/cpufreq/cpufreq_zzmoove.c
- reordered sysfs attributes
description by ffolkes: some apps set tuneables by the order in which they are listed in the filesystem. this causes problems when one
tuneable needs another set first in order to correctly validate. (e.g. you cannot set down_threshold properly until you have first set up_threshold)
- added 'fast down' functionality (based on commits to pegasusq in perseus by andreilux and extended for this version by ZaneZam)
description by ffolkes: fastdown dynamically applies a (presumably) higher up_threshold and down_threshold after a frequency threshold has been reached. the goal is to encourage less time spent on the highest frequencies
- added 'hotplug engage' functionality
description by ffolkes: when set >0, will not bring any cores online until this frequency is met or exceeded
goal: reduce unnecessary cores online at low loads
- added 'scaling responsiveness' functioniality
description by ffolkes: similar to 'frequency for responsiveness' in other governors
defines a frequency below which we use a different up_threshold to help eliminate lag when starting tasks
- instead of failing when set too high in down_threshold tuneables set the value to the highest it can safely go
- increased possible sampling rate sleep multiplier value to a max of 8 (ZaneZam)
- added missing error handling to some tuneables (ZaneZam)
- fixed non setting of 'hotplug_sleep' tuneable when applying profiles (ZaneZam)
- added up/down threshold to debug tuneable (ZaneZam)
- some code style and comment changes/fixes (ZaneZam)
for this functions following new tuneables were introduced:
scaling_fastdown_freq-> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_fastdown_up_threshold-> once the above frequency threshold has been met, this will become the new up_threshold until we fall below the scaling_fastdown_freq again. (range from over fastdown_down_threshold to 100, default is 95)
scaling_fastdown_down_threshold-> once the above frequency threshold has been met, this will become the new down_threshold until we fall below the scaling_fastdown_freq again. (range from 11 to under fastdown_up_threshold, default is 90)
scaling_responsiveness_freq-> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_responsiveness_up_threshold-> the up_threshold that will take effect if scaling_responsiveness_freq is set (range from 11 to 100, default is 30)
hotplug_engage_freq -> will not bring any cores online until this frequency is met or exceeded (0 to disable, any possible system frequencies, default is 0)
profile header file (Version 0.2 beta2):
- added values for following new tuneables (credits to ffolkes):
hotplug_engage_freq (disabled by default in all profiles)
scaling_fastdown_freq (disabled by default in all profiles)
scaling_fastdown_up_threshold (default to 95 in all profiles)
scaling_fastdown_down_threshold (default to 90 in all profiles)
scaling_responsiveness_freq (disabled by default in all profiles)
scaling_responsiveness_up_threshold (default to 30 in all profiles)
- adjusted up/down thresholds for core 2 in moderate setting
- changed sampling rate sleep multiplier from 4 to 6 in all settings (except in default setting)
Version 0.9 beta2
(slimline)
Changelog:
- support for setting a default settings profile at governor start without the need of using the tuneable 'profile_number'
a default profile can be set with the already available macro 'DEF_PROFILE_NUMBER' check zzmoove_profiles.h for details about
which profile numbers are possible. this functionality was only half baken in previous versions, now any given profile will be really
applied when the governor starts. the value '0' (=profile name 'none') in 'DEF_PROFILE_NUMBER' disables this profile hardcoding and
that's also the default in the source. u still can (with or without enabling a default profile in the macro) as usual use the tuneable
'profile_number' to switch to a desired profile via sysfs at any later time after governor has started
- added 'blocking' of sysfs in all tuneables during apply of a settings profile to avoid a possible and unwanted overwriting/double
setting of tuneables mostly in combination with tuning apps where the tuneable apply order isn't influenceable
- added tuneable 'profile_list' for printing out a list of all profiles which are available in the profile header file
- fixed non setting of 'scaling_block_force_down' tuneable when applying profiles
- some documentation added and a little bit of source cleaning
Version 0.9 beta1
(slimline)
Changelog:
- bump version to beta for public
- added/corrected version informations and removed obsolete ones
profile header file (Version 0.2 beta1):
- bump version to beta for public
- corrected version informations
Version 0.9 alpha-2
Changelog:
- added auto fast scaling step tuneables:
afs_threshold1 for step one (range from 1 to 100)
afs_threshold2 for step two (range from 1 to 100)
afs_threshold3 for step three (range from 1 to 100)
afs_threshold4 for step four (range from 1 to 100)
profile header file (Version 0.2alpha-2):
- corrected documentation
- corrected version information
- added auto fast scaling step tuneables and values to all profiles
Version 0.9 alpha1 (Yank555.lu)
Changelog (credits to Yank555!):
- splitted fast_scaling into two separate tunables fast_scaling_up and fast_scaling_down so each can be set individually
to 0-4 (skip 0-4 frequency steps) or 5 to use autoscaling.
- splitted fast_scaling_sleep into two separate tunables fast_scaling_sleep_up and fast_scaling_sleep_down so each
can be set individually to 0-4 (skip 0-4 frequency steps) or 5 to use autoscaling.
- removed legacy mode (necessary to be able to split fast_scaling tunable)
- removed LCD frequency DFS
profile header file (Version 0.2):
- split fast_scaling and fast_scaling_sleep into fast_scaling_up/fast_scaling_down and
fast_scaling_sleep_up/fast_scaling_sleep_down
- adjusted values for profiles Yank Battery and Yank Battery Extreme
Currently in the Workshop:
working on Current versions of ZZMoove big.LITTLE Edition (bLE)
Sources:
https://github.com/zanezam/cpufreq-governor-zzmoove
General project status and repository changes:
NOTE: Changes in repository since 15.08.14
the test repository was deleted and all previous beta and stable commits are available now in the main repository.
all future commits will also land there! branches in this repo are "i9300" the new merged master branch and a new one
was added "desktop" for the "desktop edition" of zzmoove (which is btw. still WIP and far from stable, but it compiles).
Since 12.10.2014 there is a new branch called "opo-bacon" where u can find a special version for One Plus One devices and
some needed additional kernel patches for it.
NOTE: Changes in repository since 12.08.15:
renamed branch 'i9300' to 'exynos' and branch 'opo-bacon' to 'snapdragon'
added CHANGELOG_PROFILES file with the changelog of the profiles header file of this version
updated README with some quick infos about predefinded settings in this version
'desktop' branch synced with current version (same base for all now, just other settings)
new 'develop' branch based on 'snapdragon' version created for quick changes, pull requests, etc.
in short this will be the main develop branch in the future and will provide changes and fixes
earlier. but this branch also shall be considered as more experimental!
NOTE: Changes in repository since 26.05.20:
rebase: fixed all broken links to implementation examples linking to original boeffla kernels (dev has retired and removed all his work)
by using links to my still available forks. deleted 'develop' branch as it's obsolete now since old versions 'snapdragon' and 'exynos' and 'desktop'
are final and EOL now. changed default branch to 'bLE-develop-k49x' which is the newest development version.
Status:
I recently did a formal change by merging all the recent changes from the already
old 'develop' branch into a new final 1.0 version on variants 'exynos',
'snapdragon' and 'desktop' which all totally can be considered as end of life.
After 'some time' of beta state and after many successful implementations
over the years, at it's 'best times' running on tousands of devices in
different kernels, beeing stable as it currently is (used it for years 24/7
on all my meanwhile 10 devices, and still do!) and as it can be (well i have
to admit sometimes it was a beast!! *gg*) im going to make the almost 3 years
old 'develop' version finally the version 1.0 and consider it as stable.
By doing this i'm also closing this old development chapter by making the
'exynos,snapdragon and desktop' versions final and EOL. The 'develop' branch
is now obsolete and gets deleted.
Finally stable, phew what a journey!
Thx to all contributing devs and ppl who contributed with their ideas, tests
and nervs when it did 'mock around'! Last but not least thx to all of those
which let 'the beast' running on their devices! I hope u all enjoyed it like i did!
NOTE: Despite me beeing not as active as some years ago with development i
want to let u know that there meanwhile exists a 'big Little brother' (poor
one even has NO version number at all yet) of ZZMoove governor which is still
happily hopping around on 'newer' devices. This newer version exists already since
about 3 years and were already running in (meanwhile also EOL) boeffla kernels for
the OnePlus 3/5 and also can be found in some recent OnePlus 6 kernels (at least in the ones i
fiddled recently *g*). By the way i shamelessly take the opportunity: If u still
have a OnePlus 6/6T u really you should consider trying one of these builds, more
info can be found here: https://github.com/zanezam/ZZupreme-Builds
ZZMoove still rocks by significantly influencing speed and battery usage in a
positive way! Just saying.
Enjoy!
ZZMoove Governor Settings
Description of how u can switch build in Profiles
Beside of the well known ones like "Yank...","Battery","Performance" etc. settings
i did some new ones for ZZMoove v1.0 in addition which can be checked out
in particular in the new profile exynos header file provided HERE
So for those of u which have not the possibility to switch profiles with kernel dev provided tools/scripts/or what
ever but still want to switch to any of the build in settings you can do following:
use tools like Android Tuner ,SetCPU, Kernel Adiutor or similar tools which are supporting the change of multible tuneables on-the-fly or just do it directly in kernel sysfs via a terminal emulator and give the tuneable "profile_number" one of the following values:
for Default (set governor defaults)
for Yank Battery -> old untouched setting (a very good battery/performance balanced setting DEV-NOTE: highly recommended!)
for Yank Battery Extreme -> old untouched setting (like yank battery but focus on battery saving)
for ZaneZam Battery -> old untouched setting (a more 'harsh' setting strictly focused on battery saving DEV-NOTE: might give some lags!)
for ZaneZam Battery Plus -> NEW! reworked 'faster' battery setting (DEV-NOTE: recommended too! )
for ZaneZam Optimized -> old untouched setting (balanced setting with no focus in any direction DEV-NOTE: relict from back in the days, even though some people still like it!)
for ZaneZam Moderate -> NEW! setting based on 'zzopt' which has mainly (but not strictly only!) 2 cores online
for ZaneZam Performance -> old untouched setting (all you can get from zzmoove in terms of performance but still has the fast down scaling/hotplugging behaving)
for ZaneZam InZane -> NEW! based on performance with new auto fast scaling active. a new experience!
for ZaneZam Gaming -> NEW! based on performance with new scaling block enabled to avoid cpu overheating during gameplay
for ZaneZam Relax -> NEW! based on moderate (except hotplug settings) with relaxed sleep settings (to react audio/bluetooth/wakeup issues)
for asad007 lwk -> NEW! made by xda user asad007 with yet unknown direction
(since version 0.9 beta4: cpu temperature threshold of 65°C enabled if exynos4 cpu temperature reading support was compiled with the governor)
after a tunebable view-refresh in the tools/console u can see the name of the currently set profile in the "profile" tuneable,
but keep in mind not every tool supports returning chars in tunebables as some of them are internally handling them as numbers,
even though in fact they are chars in kernel sysfs so u might see a "-1" then (for example with SetCPU) not so with
Android Tuner which shows (again) what a great app this is.
Some last note for the game profile: plz do not complain about ingame performance issues or lags with this setting.
i tuned it to be more aggressive in terms of bringing freq down. reference game was angy birds star wars *g* calming
down zzmoove while playing this game was really a chellange, don't know why but it stresses the system a lot more
than others and u know how 'hasty' zzmoove can be another test game was temple run 2 and here u can see a significant
improvement with this setting. it's a bit difficult to give u THE universal setting for all games as they differ too much in terms
of how much the system is stressed by them. so we have to share our experiences to further optmize it till i made scaling
blocks more "intelligent" and therefore more automatically (idea already exists!!)
Have fun with all the settings and feel free to report back how they work for you, and/or post new ones! :highfive:
You're the Master of text!
Great and detailed
Gesendet von meinem GT-I9300 mit Tapatalk 2
romskii said:
You're the Master of text!
Great and detailed
Gesendet von meinem GT-I9300 mit Tapatalk 2
Click to expand...
Click to collapse
hehe thx i try my best to make it understandable
but i'm just about editing to shorten this novel
I do not know, but this makes the problem gov.mi / freeze and delay / I do not know where the problem is.?
I use boeffla kernel and I zzmove and still the problem
the gov.pegasusq so good
misacek said:
I do not know, but this makes the problem gov.mi / freeze and delay / I do not know where the problem is.?
I use boeffla kernel and I zzmove and still the problem
the gov.pegasusq so good
Click to expand...
Click to collapse
you are on actual beta boeffla kernel, right? do you have this on all provided settings up to "perf"? Do you uv? if so try to avoid uv for some time just to exclude this. and if you have zram enabled, can u try without this too? or maybe there is some app which is not dancing with the "beast" ? all guessed sorry can not give more advices, actual boeffla/zzmoove version runs without problems on my phone.
Great thanks I'll keep trying and testing
Finally we have a thread for zzmove governor!! :victory:
Great explanations Zane! I don't understand a few things though haha.
This is very useful, thank you very much. I'll try to learn and test tweaks for this governor, but will be probably asking you about some new features I don't get to understand
Thanks!! :good::good:
Enviado desde mi GT-I9300 usando Tapatalk 2
the best is disable touchboost or enable=?
I'm very happy for this thread! !
I will study it to understand better zzmove
un pò di tap qui e là...
Rom: Maya Rom v5.2
Kernel: Boeffla 2.12 beta 8
Modem: Buemc2
Operator: Tim
Recovery: Philz touch
@ZaneZam
I've been trying to setup lcdfreq to stay on 40hz regardless of frequency and cores.. No matter how I set it up I can't get it to sit on 40... I can get it to sit on 40 MOST of the time, but not ALL the time...
Any help appreciated..
Oh and I'm using temasek's ROM (RC5.4.1) and kernel (160613 wolfston with abb)..
Thanks
TP.
core720 said:
the best is disable touchboost or enable=?
Click to expand...
Click to collapse
since version 0.4 u can if u want, on earlier versions it lagged like hell.
it works quite well without touchboost on v0.5.x but for my taste i leave it on as i want my phone as touch responsive as possible.
but just try it maybe u like it without touchboost.
STAticKY said:
@ZaneZam
I've been trying to setup lcdfreq to stay on 40hz regardless of frequency and cores.. No matter how I set it up I can't get it to sit on 40... I can get it to sit on 40 MOST of the time, but ALL the time...
Any help appreciated..
Oh and I'm using temasek's ROM (RC5.4.1) and kernel (160613 wolfston with abb)..
Thanks
TP.
Click to expand...
Click to collapse
ok have u tried to enter 1300000? (assuming 1400000 is your max scaling setting) that should enable it all the time.
i dunno exaclty which lcd freq scaling implementation is used in temaseks kernel but i assume it's the original from
andreilux. in this implementation there is an additional touchboost switch which we removed in the boeffla
implementation. if i remember right this touchboost switch enabales hi frequency on touch. so your settings
might be overwritten by this.
ZaneZam said:
ok have u tried to enter 1300000? (assuming 1400000 is your max scaling setting) that should enable it all the time.
i dunno exaclty which lcd freq scaling implementation is used in temaseks kernel but i assume it's the original from
andreilux. in this implementation there is an additional touchboost switch which we removed in the boeffla
implementation. if i remember right this touchboost switch enabales hi frequency on touch. so your settings
might be overwritten by this.
Click to expand...
Click to collapse
Using max CPU freq at 1400 with lcdfreq freq threshold at 1300. Touch boost turned off.... Baffles me. I've also tryed setting max CPU freq to 1200 and lcdfreq freq threshold to 1300 because of something tema or yank said.. Can't remember what it was off hand.. I'll have a look back
TP.
core720 said:
the best is disable touchboost or enable=?
Click to expand...
Click to collapse
Zane
Enviado desde mi GT-I9300 usando Tapatalk 2
core720 said:
Zane
Enviado desde mi GT-I9300 usando Tapatalk 2
Click to expand...
Click to collapse
He answered you 3 posts up...
TP.
STAticKY said:
Using max CPU freq at 1400 with lcdfreq freq threshold at 1300. Touch boost turned off.... Baffles me. I've also tryed setting max CPU freq to 1200 and lcdfreq freq threshold to 1300 because of something tema or yank said.. Can't remember what it was off hand.. I'll have a look back
TP.
Click to expand...
Click to collapse
What Zane meant is that in Perseus, there was a touch boost for LCDfreq (I believe to remember sth like that at least), this has nothing to do with CPU touch boost. Whenever you touched the screen, LCDfreq would be bumped to 60Hz no matter what, with the idea to remove lags when actively using the device.
In case Temasek has that in his kernel, that would be something we do not have in either Boeffla nor mine ... LCDfreq scaling is purely based on the CPU freq (as per the tunables), touching the screen will not change anything in our implementation.
Might be worth checking...
JP.
Yank555 said:
What Zane meant is that in Perseus, there was a touch boost for LCDfreq (I believe to remember sth like that at least), this has nothing to do with CPU touch boost. Whenever you touched the screen, LCDfreq would be bumped to 60Hz no matter what, with the idea to remove lags when actively using the device.
In case Temasek has that in his kernel, that would be something we do not have in either Boeffla nor mine ... LCDfreq scaling is purely based on the CPU freq (as per the tunables), touching the screen will not change anything in our implementation.
Might be worth checking...
JP.
Click to expand...
Click to collapse
Yea I don't think he has that implemented. Upon touching the screen while benching, while its at 40hz it stays at 40hz
TP.

Silence[sense][Kernel][5.0.2]

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!

[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!

Categories

Resources