[CM7/MIUI Kernel][AUG21]CM7-ETaNa v2.6.32.59 - LG Optimus 2x

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

Related

[KERNEL] [AOSP/CM] [2.6.32.24] [HAVS][BFS][OC][UV] KiNgxKernel #2/#2 "Bout Time"

[KERNEL] [AOSP/CM] [2.6.32.24] [HAVS][BFS][OC][UV] KiNgxKernel #2/#2 "Bout Time"
I DO NOT have an HTC Incredible but will continue to cook kernels for it. My girlfriend has Verizon however, and I am saving for two devices, one of them being an HTC Evo. Any donations go toward my devices. Bear with me until then please
DO NOT FORGET TO READ THE ENTIRE POST ON MY SITE, THERE IS IMPORTANT INFO
So you guys asked and asked, and now you shall have your requests answered. I decided to port my kernel over for AOSP, CM, and Ruby ROMs. The cool thing about this is that all the other features my sense kernel has, this has with one exception: It works on vanilla ROMs! So any ROM you may like to use that does NOT have sense, this will work with. It has all the tweaks that you would need, without loss of stability. The first release is a BFS kernel, but I am sure there will be CFS kernels to come. BFS is functioning to well to pass on these new uniprocessor phones to pass up. At any rate, post any bugs with a logcat, and most importantly, enjoy!
This is compatible with any 2.2 AOSP or CM6 ROM
Code:
Also, a little info on HAVS and AVS:
The purpose of HAVS is to minimize the power used by the CPU by determining
and setting the optimal voltage. At the same time, the maximum voltage by
which HAVS can scale to is fixed to a specified voltage depending on the
CPU frequency in order to prevent scaling to a higher voltage than what is
normally used at a specified voltage. The optimal voltage is actively determined
for each frequency and temperature. HAVS actively adjusts the CPU voltage as the
CPU frequency and temperature changes.
Code:
While we are at it, some info on BFS:
What is BFS(Brain **** Scheduler):http://ck.kolivas.org/patches/bfs/sched-BFS.txt
FAQS about BFS:http://ck.kolivas.org/patches/bfs/bfs-faq.txt
Ang3lmack said:
Instructions, create android.tether folder on root of sd card and drop this file into it http://www.mediafire.com/?nh7spjjb46fzfww then install this version of wifi tether http://code.google.com/p/android-wifi-tether/downloads/detail?name=wireless_tether_2_0_2.apk , I take no credit for the fix, just copied from another thread
Incredible
Click to expand...
Click to collapse
ENJOY!
Credits: Cyanogen,, Koush for his any kernel .zip, and HTC for their kernel source code
Download: BFS Kernel #2 & CFS Kernel #2[/URL] Date: 10/28/10 1:10 AM PST
If you Like my work follow me on twitter:
All my code is on github:
I am not responsible for anything that happens to your device
ChEeRs
CFS Changelog
Kernel #2
- Kernel now patched up to 2.6.32.24
- Bug fix causing battery drain
- Reverted some UV levels causing instability
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
* sched: Fix granularity of task_u/stime()
* sched, cputime: Introduce thread_group_times()
* sched: Fix select_idle_sibling()
* sched: cpuacct: Use bigger percpu counter batch values for stats counters
* sched: fix racy fair sched*trq
* sched: Cleanup select_task_rq_fair()
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
* ext4: Consolidate inlign pages
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
* mutex: Don't spin when the owner CPU is offline or other weird cases
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- vmscan: raise the bar to PAGEOUT_IO_SYNC stalls
- SLAB fixes
- drm: Only decouple the old_fb from the crtc is we call mode_set*
- arm fixes: arm: fix really nasty sigreturn bug
- RDS memory leak fixed
- mm: page allocator: update free page counters after pages are placed on the free list
- mm: page allocator: calculate a better estimate of NR_FREE_PAGES when memory is low and kswapd is awake
- So much more, check my code if you please
Kernel #1
- First AOSP CFS kernel
- Patched up to Linux Kernel version 2.6.32.21 (all commits an android kernel would need, no extra bloat) *All credit goes to the linux project, check my github for authors please*
- Bug fix causing battery drain
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
* sched: Fix granularity of task_u/stime()
* sched, cputime: Introduce thread_group_times()
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
* ext4: Consolidate inlign pages
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
* mutex: Don't spin when the owner CPU is offline or other weird cases
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- vmscan: raise the bar to PAGEOUT_IO_SYNC stalls
- SLAB fixes
- SO much more, tired of typing
BFS Changelog
Kernel #2
- BIG update!
- Performance boost!
- More stable due to BFS overhaul
- Patched up BFS scheduler to BFS 330
- Patched in *NEW* BFS TEST patch that applies over 330 (from CKolivas himself)
* Major overhaul of queued changes
* Micooptimise multiplications/divisions to be shifts where suitable
* Drop the "skip_clock_update" concept as we update the niffies each time we
update the rq clocks, thus we want to update it more often
* Add a local last_task variable to each runqueue which keeps a copy of the
last non-idle task that ran on this CPU. Use this value to determine that a
task is still cache warm on this CPU even if it has run elsewhere in the
meantime. This improves throughput on relatively idle systems with >2 logical
CPUs
* Change SCHED_BATCH tasks to refill timeslices and reset deadline every time
they're descheduled as they've been flagged as latency insensitive, likely
fully CPU bound tasks. This should decrease the impact running batch tasks
has on other tasks
* Bypass rechecking deadline when we know that prev will run again in schedule
* Change all deadline accounting to use nanosecond values
* Rework try_preempt
* MUCH MUCH more check my patch code if you please
- Voltage tweaks for stability
- Compiled with toolchain optimizations
- Neon optimizations this time around
- Now based off of NEW fresh source code from HTC
- Default CPU governor changed to 'Interactive'
- Numerous small changes I won't list that htc did
- Removed bloat from kernel
- Merged all my commits into the new code so
- Still using BFQ I/O scheduler
- Voltage regulator changes (now using the correct one)
- HAVS code fixed (HAVS now functioning correctly!)
- HAVS code cleaned up
- LONGER battery life due to HAVS functioning correctly
- EXT4 now compiled as a module for those with bad boot.img sectors
- Minor patches to the BFS scheduler (the big one is wip)
- Fixed memory leak in vmem
- Voltage tweaks
- Kernel size squashed a bit
Kernel #1
- First kernel release
- Synced with the latest code drop from htc
- BFS Scheduler patched up to BFS330
- Applied and tweaked BFS330 test patch on top
- Voltage tweaks for battery life (245Mhz is $$$)
- Higher clock speeds will be MUCH more stable now! (1.113=ez)
- Battery charging tweaks to allow your battery to charge faster
- Be sure to wipe dalvik cache before flashing
- Compiled with neon arm optimizations
- Included tun.ko for OpenVPN support
- EXT4 support
- Underclocked for long battery life
- Using AVS voltage scaling system
- Compiled with neon optimizations
- ALL CPU governors supported
- Interactive governor supported
- Interactive governor set to default
- Using CFQ I/O scheduler
- BFQ I/O scheduler supported
- Quadrant scores are high, even if you are NOT OC'ed testers have reported
- Much much more I need to add, it is a first kernel release
Gonna have to try this for sure.
Sent from my ADR6300 using XDA App
OMG This is freaking EPIC!
*refreshes page like the maniac I am.
Just got out of my work to post this up for you guys
Time for a breather now
It's live
haha, thanks King, I've been waiting for this!
One little bug though, while installing from nandroid it says something like:
blah blah blah
blah blah blha
blah HTC Evo
blah blah
haha, might want to fix that sometime xD
Switching roms again to try this!
Sent from XDA App
Virtuous 2.6 Rom
#4 King Bad F*cking **** Kernel
Revolution
8"
Hell yesssssss.
Awesome!!!!!! Thank You!!!
Sent from my ADR6300 using XDA App
Not too shabby...
Not as insane as some of the scores I've seen flying around the forums, but overclocked to top speed this isn't too shabby for the very first Quadrant run...
Trying it out now on Ruby. I LOVE your work, King!
Interactive governor, 1.13ghz, Ruby 1.1.1
Excellent work. Just need to see how well the battery lasts now. More beer money to you my friend.
This + Ruby = EPIC
Gotta see how this runs on CM6
I'm assuming based on md5sum that the beta you had posted is slightly different than this release... i had one reboot (at idle) on the beta... just updated to this release... keep up the great work.
WTF??? Over 1600 without overclocking? Witchcraft! I wouldn't believe it if I didn't see it on my own Dinc.
Nice job, bro.
Wow, just hit 1859 on quadrant @ 1.15!
can someone use this on ruby and see if BT audio connects? (ie some headphones). Not BT Phone audio, but music...
on the normal one it doesn't, i'm curious to see if it does with this one. about to load it up on cm6 nightly...
Ok, sorry for the NOOB-ish question but, I decided to try out Jager ROM and I am really liking it. I want to try a different kernel but I am not sure which one to use. The regular King's kernel or this AOSP based one?
How can I tell which ROM's are AOSP-based vs. something like SkyRaider? I was using SR and KK BFS kernerl and that was a great combo!
WOW, this is awesome!!! Just hit 1852 quadrant and 40.343 linpack set at 1190 on performance. First try on Cyanogen 6.0.2. I have screen shots on my phone but haven't figured out how to post them here yet, lol.
The first boot after recovery had a system force close and I didn't think it would work, but after a battery pull, my phone started normal.
Thanks for the wonderful kernel! If this is the first, I can't wait to see what the future brings!
That dude is the king! @1.19GHz
Sent from my ADR6300 using Tapatalk
Could I use this with the latest Vanilla Skyraider?

*[31-OCT]*[SuperSonic]*[Kernel] HP Pro SuperSonic SR4R SNAPPY|| FLUID || POWERSAVER:

WARNING:THIS METHOD CAN BE DANGEROUS. DONT DO ANYTHING IF YOU DO NOT KNOW WHAT YOU DO.I AM NOT RESPONSIBLE IF YOU TRANSFORM YOUR PHONE INTO A BRICK.​
Horse Power 2x eXtreme SuperSonic SR4R​
Welcome to HP Development, If you like my work, you can buy me a beer
I dont work for donations but they do help and helped in the past to counter accidential expenses that comming unplanned. And helped me to buy caffeine for my development.
Here are the list of Donators who have donated so far. I'd like to thank everybody including users of HP Kernels for support, without support and contribution it cant reach till here:
Names of Donators who donated since development of HP Kernels:
-SuperSkill (multi time donator, greatest contributors of development)
-Striatrum_bdr (My neuro protective donator)
-yann73(Multi Time Donators)
-Carburano( Thanks my friend)
-Civato(Thanks my friend)
-wapz
-Basil 123
-Steieve
-psonic2k
-PhunKee
-zerocoolrider
-fuxman
-skylight
-shreeprajay
-patiiet
-Omar Cornejo Sanchez
-abwyatt,-
-tablighs
-Rehborn-
-Jonas Andrulis
-Chris Daßler
- Bert van Hoesel
-Miguel Angel Mulero Martinez
-DARIO FRANZONI,
-Antonello Picerno
-sorry if i've forgot anybody's name please remind me if i've
HP Pro SuperSonic SR4
Changelogs(Kernel Specific)
-too long list of changelogs
-Included all changes since SS1 to SS21
-HP Pro RT Scheduler removed temporarily for stability issue
-Compiled with HP Pro SuperSonic ToolChain for maxium Performance, snappiness and fluidity
Compiled with HP Pro SuperSonic ToolChain.​
HP Pro SuperSonic ToolChain Features: (Based on GCC Linaro Sources)[/U][/B]
(-) Tegra specific optimization
(-) Toolchain Target flags has been optimized in same manner as the kernel drivers are written
(-) "Optimizing as the way program is written". I have overy observed all the codes by , as they're written and used same appropriate optimizations
(-) By observing codes 1st thing that comes in mind is Structures & Unions. Used Target Optimizations for it: '-fpack-struct and mstructure-size-boundary=32' for proper alignments of Structures and Unions for faster access
(-) fivopts for variable strength optimizations
(-) fforce-mem with fomit-frame-pointer for faster pointer access
(-) Except tegra codes most of the kernel codes have inlined functions. All functions inlined for faster access of codes. By inlining functions it can be accessed as fast as macro
(-) Code assembly and linking with ArmV7-A architecture's Cortex-A9 cpu's Virtulizations, Integer Division Float and Multi-Processing CPU Extensions
(-) CortexA9 Processor has support for Array Prefetching same like windows does SW based Prefetch. This CPU features during runtime loads longer arrays in advance in CPU memory via AX/BX registers. Which can significantly improve runtime execution and overall snappiness. Target toolchain optimized with array-prefetch optimizations to compile codes with array pre-fetch instructions
(-) By observing Tegra and LG drivers, there are very few short loops, which needs no optimizations, thus graphite loop optimizations disabled.
(-) LTO( Link Time Optimizations) for removal of unused codes during linking stage and re-sections of functions and data for faster access
(-) As armv7-a architecture supports Unaligned Access, instead of disabling, its optimized with 8K access
(-) This is the same toolchain that has been used since 5 months to speedup SuperSonic Test builds for Stock Kernel. No extra blind optimizations used for issue of stability but only as drivers and kernel codes are written "Target specific optimizations" for maxium possible performance
(-) toolchain: Complete set of Used CFLAGS_FOR_TARGET: -O0 -finline-functions -fpack-struct=8 -mstructure-size-boundary=32 -fpreferch-loop-arrays -fivopts -fforce-mem -fomit-frame-pointer CFLAGS_FOR_BUILD: -O0 -march=atom -mtune=atom( as my cpu is atom) Cflags:-O0 -finline-functions
Download
OC Version: https://www.dropbox.com/s/1byhged9oqw5a6n/HP_Pro_SuperSonic_SR4R_OC.zip
No-OC Version: https://www.dropbox.com/s/uvnq7fppcsd8z7e/HP_Pro_SuperSonic_SR4R_No-OC.zip
BIG THANKS TO SUPERSKILL & SHREEPRAJAY FOR PROVIDING ALL HP KERNEL MIRRORS WORKING LINK, IF ANYBODY ELSE HAS ALSO MIRRORED PLEASE PM ME THE LINKS
Downlaod HP Krnls(Latest Build is SR3R2/R:
https://www.box.com/s/5995c4bdcf9abb4e375f
Download HP Performance Packs
https://www.box.com/s/d2a5c32bd3cc0e5d174f
An APP To Control On-The-Fly features of RC12, A Big Thanks to Developer Keshav0001, Who without saying Created an application and still progressing, He is New to XDA as needed 10 or more posts:
Downloads:
search in Market "HorsePower 2x OTF Kernel Tweaker"
Horse Power 2x eXtreme 16/24/32BPP RC12-R(RC Release)​
This kernel is based on LG V20Q sources. This kernel is competible and should only be flashed with STOCK MCR FROYO and GINGERBREAD. NOT COMPETIBLE WITH CM AND MIUI
Cryptic Changelogs History:
PHP:
Code:
+Fixed core cpu memory leak
+ Fixed group scheduler"s cpu memory leak, no need to restart phone every 100 hours.
+[B][U](SR3R2)[/U][/B] Reverted to original BackLight drivers as request of many users [B][U](SR3R2)[/U][/B]
+[B][U](SR3R2)[/U][/B] Fixed missing codes in PowerSave [B][U](SR3R2)[/U][/B]
+[B][U](SR3R2)[/U][/B] Fixed with NoOC Version without compcache [B][U](SR3R2)[/U][/B]
+[B][U](SR3R)[/U][/B] Fixed missing definition of CPU memory leak. After hours by hours, days by days more smoothness w/o slow down due to memory leak [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Full SMP support, enhancing Real Time Dual Core Performance for Multi-Tasking And activated PowerSave profile 4,5,6 [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Full IP Tables supported, by an upgraded IP Tables [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Included farajep's backlight driver (Thanks to farajep for making source available) [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Quick responsiveness and smoothness like SR3 [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Longest battery performance [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Fixed freeze, no need to apply +mV patch. One version for all devices [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] Fast WiFi browsing [B][U](SR3R)[/U][/B]
+[B][U](SR3R)[/U][/B] More smooth scrolling [B][U](SR3R)[/U][/B]
+[B][U](SR3)[/U][/B] Introducing OTF V2.0 including Strong Vibrator OTF Function and many bug fixes. To activate strong vibrater just set value "1" in /data/spica/strong_vibe and save, Instantly strong vibrator driver will be activated. To enable boot time Strong Vibrator support set value "1" to /data/spicabootcfg/strong_vibe. For +mV versions and BPP patch InstallKernel first than apply patches for that reffer post #2 after this [B][U](SR3)[/U][/B]
+[B][U](SR3)[/U][/B] Fixed EndCall BSOD(Thanks to Vadonka) [B][U](SR3)[/U][/B]
+[B][U](SR3)[/U][/B] Extra responsiveness with Low Latency Realtime Processing [B][U](SR3)[/U][/B]
+[B][U](SR3)[/U][/B] Mega Smooth UI performance and Rock Solid Stability [B][U](SR3)[/U][/B]
+[B][U](SR3)[/U][/B] Longest battery life. 2 versions available one with my modded battery driver and another with DS battery driver(jumpy-funky reading but long battery life) (Thanks to DS available sources) [B][U](SR3)[/U][/B]
+[B][U](RC12-R)[/U][/B] Longest battrery performance on v20q source kernel with RevisedOTF PowerSave functionality [B][U](RC12-R)[/U][/B]
+[B][U](RC12-R)[/U][/B] Mega Smooth UI Smoothness, You'll really be amazed by never seen smoothness [B][U](RC12-R)[/U][/B]
+[B][U](RC12-R)[/U][/B] RockSolid Stability [B][U](RC12-R)[/U][/B]
+[B][U](RC12-R)[/U][/B] Fully Functional Spica Revised OTF Pack, Lesser freeze free re-mastered values for powersave, gentle yet effective, Selected target values for powersave to significantly reduce battery drainage, PowerSave profile 1-6 (tutorial soon to be written) [B][U](RC12-R)[/U][/B]
+[B][U](RC12-R)[/U][/B] Fixed InCall BSOD previously reported with TestBuilds [B][U](RC12-R)[/U][/B]
+[B][U](RC12-R)[/U][/B] By default screen off max freq setted to 503 Mhz as always, You can exclusively play with different values On-The-Fly with RevisedOTF Functionalities for music listenings w/o distortion or for incoming call as per your needs by setting MaxScreenOff CPU freq values of choice by GUI Application (Thanks to Kaunshik001) or by writing values to /data/spica/maxscreenofffreq. No need to reply on pre-set values. [B][U](RC12-R)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly Pack, Exported many HW controlled values from static to dynamic at userspace level (Originally I was inspired by the the concept of Xmister)([B]Credits to Xmister[/B])[B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly VDEFREQ/GPUFREQ/MINCPU1ON/MAXCPU1OFF/SUSPEND_CORE_MV/POWERSAVE/NITROS/SCREENOFFMAXFREQ/DDR2_MIN_KHZ/LPDDR2_MIN_KHZ Support. No need to reboot/restart daemon. It works on kernel syscalls. It takes effect in notime.[B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]VDEFREQ [/B]change support. Responsible file is located in /data/spica/vdefreq & /proc/spica/vdefreq. You can change the value in any of these both files. I preffer user-friendly /data/spica/vdefreq. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is 600000. Supported Values in between 600000-700000. Any values above 600000 will OC it w/o increasing supplying voltage. For safety concern no values except in range will be accepted. To enable boot-time support select values in /data/spicabootcfg/vdefreq [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]GPUFREQ[/B] change support. Responsible file is located in /data/spica/gpufreq & /proc/spica/gpufreq. You can change the value in any of these both files. I preffer user-friendly /data/spica/gpufreq. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is 280000. Default value is 300000 Supported Values in between 280000-350000. Any values above 280000 will OC it w/o increasing supplying voltage. For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/gpufreq [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]MINCPU1ON[/B] freq change support. Means during upword scaling at what freq 2nd core will be activated. Responsible file is located in /data/spica/mincpu1on & /proc/spica/mincpu1on. You can change the value in any of these both files. I preffer user-friendly /data/spica/mincpu1on. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 216000-1100000. Default value of spica kernel is 810000 For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/mincpu1on [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]MAXCPU1OFF[/B] freq change support. Means at what max freq 2nd core will be off during returning phaze. Responsible file is located in /data/spica/maxcpu1off & /proc/spica/maxcpu1off. You can change the value in any of these both files. I preffer user-friendly /data/spica/maxcpu1off. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 216000-1100000. Default value of spica kernel is 860000 For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/maxpu1off [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]MaxScreenOffFreq[/B] support. Means During screen off what will be the max freq.Responsible file is located in /data/spica/screenoff_maxcpufreq & /proc/spica/screenoff_maxcpufreq. You can change the value in any of these both files. I preffer user-friendly /data/spica/maxcpu1off. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 216000-999000. For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/screenoff_maxcpufreq. [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]DDR2 MINIMUM FREQUENCY[/B] support. It's theminimum frequency of DDR2(SDRAM).Responsible file is located in /data/spica/ddr2_min_khz & /proc/spica/ddr2_min_khz. You can change the value in any of these both files. I preffer user-friendly /data/spica/ddr2_min_khz. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 10000-50000. Default value is 50000 For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/ddr2_min_khz. [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly[B] LPDDR2 MINIMUM FREQUENCY[/B] support. It's theminimum frequency of LPDDR2.Responsible file is located in /data/spica/lpddr2_min_khz & /proc/spica/lpddr2_min_khz. You can change the value in any of these both files. I preffer user-friendly /data/spica/lpddr2_min_khz. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 1000-18000. Default value is 18000 For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg/lpddr2_min_khz. [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] On-the-fly [B]SUSPENDED CORE VOLTAGE SUPPLY[/B] support. It's theminimum frequency of CORE VOLTAGE WHEN Core is in suspend state.Responsible file is located in /data/spica/suspend_core_mv & /proc/spica/suspend_core_mv. You can change the value in any of these both files. I preffer user-friendly /data/spica/suspend_core_mv. Edit values with ES file explorer and just save file. No need to change permissions. It takes effect instantly. Default value is what you see after boot. Supported Values in between 600-1000. Default value is 1000 For safety concern no values except in range will be accepted.To enable boot-time support select values in /data/spicabootcfg /suspend_core_mv. [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] Dynamic On-The-Fly '[B]powersave'[/B] profile. Which accepts value from '0' to '6'. During 'powersave' kernel smartly adjust various thresholds of voltage to lower possible values. "0' value means disable(Defult) "1" light powersave "2" moderate powersave "3" aggressive powersave "4" Profile "1" during screen off "5" Profile "2" during only screen off "6" Profile "3" during screen off only(POWERSAVE doesnt touch UV). Make sure 'nitros' mode disable aka value '0' Responsible file location /data/spica/powersave and boot time file location /data/spicabootcfg/powersave [B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] Dynamic On-The-Fly "[B]Nitros[/B]" -"Performance" mode. It accepts two values, "0" Disable "1"Enable. During "Nitros" Profile Kernel sets max fail-safe values (It doesnt touch OC). File location /data/spica/nitors and boot time file location /data/spicabootcfg.Make sure 'powersave' is disabled aka value '0'[B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] V20Q Sources merged[B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] Slight loud crystal clear volume in headphone[B][U](RC12)[/U][/B]
+[B][U](RC12)[/U][/B] Optimized SCHED_RR & SCHED_FIFO[B][U](RC12)[/U][/B]
+[B][U](RC11-R)[/U][/B] Fixed CpuFreq of 2nd Core not syncing with 1st core's cpufreq. NOW Very quicker 2nd core activation and very quicker 2nd core suspension. Thus fastest realtime resposnses and excellent reduced battery drainage. Standby battery drainage with OC/UV ~1-2mA [B][U](RC11-R)[/U][/B]
+[B][U](RC11-R)[/U][/B] Re-injected Compcache and removed ZRAM [B][U](RC11-R)[/U][/B]
+[B][U](RC11-R)[/U][/B] Modified Deadline Scheduler's FIFO parametrs to 20 instead of 16 for quicker response [B][U](RC-11R)[/U][/B]
+[B][U](RC11)[/U][/B] More snapier, stable and performance oriented [B][U](RC11)[/U][/B]
+[B][U](RC11)[/U][/B] Featuring ZRAM/(Previously known as CompCache) HW Compressed RAM with SWAP_FREE_NOTIFY feature [B][U](RC11)[/U][/B]
+[B][U](RC11)[/U][/B] Fixed freeze issue by re-compiling GCC HardFolat ARM tool chain [B][U](RC11)[/U][/B]
+[B][U](RC11)[/U][/B] OC/UV & VOODOO remerged [B][U](RC11)[/U][/B]
+[B][U](RC10)[/U][/B]Removed LG's lowmemorykiller.c and added same modified by me for assured oom optimal functionality with no possible memory leak[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]Longest battery performance among all HP KRNLS. Extended battery life[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]NVMAP enabled to kill processes envoked by GPU to assure GPU mem functionality without allocation of static GPU memory[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]Enabled Android pMem functionality[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]Patched tegra framebuffer to allow pseudo color palate support on same x,y axis with >/= 16 bits support[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]Quicker apps response[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]Extended most efficious multi-tasking[B][U](RC10)[/U][/B]
+[B][U](RC10)[/U][/B]ARM Hard Float VFP support. Compilation along with ARMHF tool chains[B][U](RC10)[/U][/B]
+[B][U](RC9)[/U][/B] Fully based on Official released V20L sources, Merged all HP kernel changes since beta to RC8 with V20L[B][U](RC9)[/U][/B]
+[B][U](RC9)[/U][/B]More optimized scheduling, Quicker APP response and More smooth UI (Taken from SR3 Test release)[B][U](RC9)[/U][/B]
+[B][U](RC9)[/U][/B]Fixed wifi with dynamic msallocation (Taken from SR3 Test build)[B][U](RC9)[/U][/B]
+[B][U](RC9)[/U][/B]More optimized for power saving (Taken from SR3 Test build)[B][U](RC9)[/U][/B]
+[B][U](RC9)[/U][/B]SMBFS file system support as a module (Taken from SR3 Test build) [B][U](RC9)[/U][/B]
+[B][U](SR2)[/U][/B] Power Saving optimizations [B][U](SR2)[/U][/B]
+[B][U](SR2)[/U][/B] More optimized for smoother responce [B][U](SR2)[/U][/B]
+[B][U](SR2)[/U][/B] Merged changes of RC7 & RC8 without JRCU daemon[B][U](SR2)[/U][/B]
+[B](RC8-Revised)[/B] Fixed EMC core UV issue and Max OCed reverted back to 1408Mhz[B][U](RC8-Revised)[/U][/B]
+[B][U](RC8)[/U][/B] JRCU as daemon support[B][U](RC8)[/U][/B]
+[B][U](RC8)[/U][/B] OCed upto 1.55 Ghz Normal Vibrator Version[B][U](RC8)[/U][/B]
+[B][U](RC8)[/U][/B] More possible optimizations for lesser battery drainage[B][U](RC8)[/U][/B]
+[B][U](RC7)[/U][/B] Watchdog Support added: Tegra ODM Watchdog support as a module[B][U](RC7)[/U][/B]
+[B][U](RC7)[/U][/B] SDRAM related EMC core voltage undervolted to -50mV[B][U](RC7)[/U][/B]
+[B][U](RC7)[/U][/B] More possibly optimized for better possible battery[B][U](RC7)[/U][/B]
+[B][U](RC7)[/U][/B] Max OC frequency back to 1.4Ghz[B][U](RC7)[/U][/B]
+[B][U](SR1)[/U][/B] Strong Vibrator driver, Both version availibility with Strong Vibrator driver and with Default vibrator driver [B][U](SR1)[/U][/B]
+[B][U](SR1)[/U][/B] Best hand-picked stuff from RCs, Default frequencies of CPU towards 1.4Ghz[B][U](SR1)[/U][/B]
+[B][U](SR1)[/U][/B] Assured Stability, Better Performance and energy-saving battery performance[B][U](SR1)[/U][/B]
+[B][U](RC6)[/U][/B] TEMP info fixed[B][U](RC6)[/U][/B]
+[B][U](RC6)[/U][/B]Minor debug clean-ups[B][U](RC6)[/U][/B]
+[B][U](RC6)[/U][/B] In-call volume mute issue in Froyo fixed[B][U](RC6)[/U][/B]
+[B][U](RC5)[/U][/B] OCed upto 1.5Ghz, New freq steps 216,389,655,816,1015,1216,1408,1504[B][U](RC5)[/U][/B]
+[B][U](RC5)[/U][/B] Declaration of NVODM FULL VOLTAGE in mV undefined ,Depends now on FUSE functionality .Low and Critical NVODM voltage in mV selected 9400 & 8800 respectively in NVODM initialization file[B][U](RC5)[/U][/B]
+[B][U](RC5)[/U][/B] All Kernel drivers from SU660 GB sources except power,odm_kit,base,nvos fixed for the competibility and merged[B][U](RC5)[/U][/B]
+[B][U](RC5)[/U][/B] "Anticipatory" I/O scheduler as mainline scheduler[B][U](RC5)[/U][/B]
+[B][U](RC5)[/U][/B] Compiled with GCC-4.6.2 Linaro tool chain with Voku's favourite -Ofast flags. Removed tegra specific flags and added ARM standard graphic optimized flags for cortex-a9. CFLAGS_KERNEL and MODFLAGS: -Ofast -pipe -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=soft -floop-block -floop-interchange -floop-strip-mine -ffast-math -funsafe-loop-optimizations -funsafe-math-optimizations -fbranch-target-load-optimize2[B][U](RC5)[/U][/B]
+[B][U](RC4)[/U][/B] Dual SPI drivers supporting HSPA+ from su660[B][U](RC4)[/U][/B]
+[B][U](RC4)[/U][/B] Wifi modules fixed for re-loading issue and Quicker connect after several hours (Needs testing)[B][U](RC4)[/U][/B]
+[B][U](RC4)[/U][/B] Regluator & RTC drivers from SU660[B][U](RC4)[/U][/B]
+[B][U](RC4)[/U][/B] Battery driver reverted to modified RC1 driver[B][U](RC4)[/U][/B]
+[B][U](RC3)[/U][/B] Featuring BPP(Bits-Per-Pixel) On-The-Fly Support, select bits in init.d/bpp file and reboot[B][U](RC3)[/U][/B]
+[B][U](RC3)[/U][/B] Modified star_battery_charger.c to allow extra-voltage charge [B][U](RC3)[/U][/B]
+[B][U](RC3)[/U][/B] Some drivers previously merged from SU660 reverted as of no visible improvement , And new NVOS NVDDK CORE drivers merged from SU660[B][U](RC3)[/U][/B]
+[B][U](RC3)[/U][/B]SCHED_FIFO optimizations for quicker SCHED operations [B][U](RC3)[/U][/B]
+[B][U](RC3)[/U][/B]Voodoo and missing batt temp in RC2 fixed with RC3[B][U](RC3)[/U][/B]
+[B][U](RC3) [/U][/B] More optimized SCHED_OTHER & SCHED_RR/FIFO for optimum I/O operation[B][U](RC3)[/U][/B]
+[B][U](RC 2)[/U][/B]NEW released su660's V20D GB kernel sources' WLAN module, MMC, USB, I2C, MTD, SPI, NVRM, NVODM, ODM_KIT, STAR, POWER dirvers fixed for the competibility and merged[B][U](RC 2)[/U][/B]
+[B][U](RC 2)[/U][/B]Ext2 support enabled.[B][U](RC 2)[/U][/B]
+[B][U](RC1)[/U][/B] Fixed pre-mature reboots on Terminal Emulator, USB debugging, Script Manager, Compeitble with Andrev OC Daemon APP, fixed reboot on restart daemon service.[B][U](RC1)[/U][/B]
+[B][U](RC1)[/U][/B] Optimized for Quicker APPs response[B][U](RC1)[/U][/B]
+[B][U](RC1)[/U][/B] 32BPP/24BPP Tegra-FB enabled kernel. For 32BPP, Enabled Virtual A8R8G8B8 32BPP to 24BPP to 18BPP panle color with changed RGB and Transperency OFFSET and LENGTH[B][U](RC1)[/U][/B]
+[B][U](RC1)[/U][/B] Heridant topogigi's vold.fstab in installation zip file, for preventing unmounted SD issue on other ROMs [B][U](RC1)[/U][/B]
+[B][U](RC1)[/U][/B] tocuhscreen fix credits to pastime[B][U](RC1)[/U][/B]
+[B](Beta1.1)[/B] Re-strctured modded battery driver with Beta1. OverHeat suspenstion now supports 410-550 TEMP instead of 450-550. Assured up-to 50% lesser battery drainage. Battery driver now supports scaling through 3360 to 4182 mv instead of 4150mv[B].(Beta1.1)[/B]
+Mega-smooth UI Fluidity/smoothness and higher benchmarks
+Quicker UI and/or APP responsiveness
+Efficient multi-tasking
+OC/UV Codes merged from Cpsjuste Sources([B]Thanks cpsjuste ,impertius sources available[/B])
+Voodoo codes from [B]Supecorio[/B] sources(Thanks)
+Ext4 supported
+Competible with V20 l/j/g/i/c/e/q/p/o/l/m And Froyo MCR
If you appreciate my work than feel free to Support My O2x Development
Recommendation:
-Battery calibration. After calibration let it disachrge full for the first time then full charge. Then you're ready to go! Full discharge needs to be done ONLY ONCE after calibration.
Procedure:
-charge phone full when its off, start phone. Charge till it shows full status. Charge more for 15mins untill you see battery voltage at 4182mv. Then calibrate battery with Battery Calibration App.
HP TB Sources: https://github.com/spica234/HP-TestBuild-Repo-upwords-Sr3R
HP 2x Kernel Sources since RC1 to Sr3R2: https://github.com/spica234/HP-2X-V20Q
HP 2x Deprecated Sources since RC1 to RC11 https://github.com/spica234/HP-Krnl-2.6.32.9
revOTF Patch Attached in the post!
Various Patches
+10mV Patch:
http://www.box.com/s/5vbo951za4x0yyx9jvn8
+15mV Patch:
http://www.box.com/s/ei3elm0d7ey30a2pbfvh
BPP Patch Default 24BPP:
http://www.box.com/s/3ikgfufphfb3bl5x7805
Flashing now! What are the differences from the first beta in Topogigi's thread?
Ah: "And I've released beta1.1 with major battery fix and more UI responsiveness".
Great
wapz said:
Flashing now! What are the differences from the first beta in Topogigi's thread?
Click to expand...
Click to collapse
Knwon issues are persistent. Got not much time for it. But it has been overall optimized for more fluid UI responsiveness and more efficient lesser battery drain. this time modded battery driver lessens battery drains and consumptions more than previous test versions.
Thanks for your work!!!
Just flashed beta 1.1 on Topogigi 1.9, will report if i notis any bugs.
A huge tanks to u and all other devs that has finally made me happy white my hardware.
Sent from my LG-P990 using xda premium
Thanks , something new to play, yeahhh
The kernel version is listed correctly now as well
Yes
wapz said:
The kernel version is listed correctly now as well
Click to expand...
Click to collapse
Sent from my LG-P990 using Tapatalk
beta1 in standby (3G, wifi off) use my battery 1-2mA
very GOOD!!!
that is extremely low, nicee
for most efficient effect you need battery calibration as we ve different battery driver this time
PAIIITET said:
beta1 in standby (3G, wifi off) use my battery 1-2mA
very GOOD!!!
Click to expand...
Click to collapse
Sent from my LG-P990 using Tapatalk
i know this dev from samdroid.net (galaxy spica) and i have to say...he's good
At 22% now, will start full recharge too 100% and wipe stats.
Charge full first during phone is off. Then start phone and charge to 100% full status shown , wait till more 15mins 15 minutes more till you see 4182 mv . Then calibrate battery via battery calibration app.
wapz said:
At 22% now, will start full recharge too 100% and wipe stats.
Click to expand...
Click to collapse
Sent from my LG-P990 using Tapatalk
Hey man nice to c u inhere i miss spica still:/ you got lg 2x?
ker0ltjuh said:
i know this dev from samdroid.net (galaxy spica) and i have to say...he's good
Click to expand...
Click to collapse
Sent from my LG-P990 using Tapatalk
So this kernel reduces battery drain upto 50%? Lets say I do happen to do something wrong, I can always smart flash right?
Does GPS work for you mates, or this is Topo's ROM problem?
downloaded, installed without any problems and now to test the battery, thanks for the work spica
You can restore if youve backed up
Soulj4h said:
So this kernel reduces battery drain upto 50%? Lets say I do happen to do something wrong, I can always smart flash right?
Click to expand...
Click to collapse
Sent from my LG-P990 using Tapatalk

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

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

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

Hint! -> [ZIP] Synapse + Script => Universal Kernel Manager v2.4 for N4/N5/N7 (2013)

Hint! -> [ZIP] Synapse + Script => Universal Kernel Manager v2.4 for N4/N5/N7 (2013)
Hello,
I wanted to introduce you here a really great script! I use this script on both phones (N4&N5) ... it's really an ingenious piece of work. :good: I tested the script on the N5 with the UBER & Code Blue kernel. It will also/maybe work with other kernels, try it out! If something is missing -> just ask nice maybe the Dev can manage it!
I'm posting this here because the developer (apb_axel) of the script told me that I would be the only user of the N5 that answers / use it.
This is very unfortunate, so I thought, to post it for you here. (Yes've asked the developers for permission.)
The developer is really friendly and helpful. It's crazy how much time and patience he applied to help users or to reply. :highfive:
If you have any comments or wishes you can ask the developer.
[ZIP] Synapse + Script => Universal Kernel Manager v2.4
[ZIP] Synapse + Script => Universal Kernel Manager v2.4
Hello and welcome! So I started this because I hated having to have a different app to change some of the kernel settings and having init.d scripts for each kernel was a hassle to me, plus some users were having trouble with so many options available so I created this for all those who like to flash & test different kernels like me. I would like to dedicate this project of mine to my friend @ak for all the help and patience he has, he truly is a great dev and we owe him for some of the best kernels available for the Nexus 4.
So how this works is on every boot the script verifies all the tunables it finds specific for the kernel you have at the moment and generates the necessary files so it can be read & displayed on Synapse. Don't feel bad if you don't see all the listed options, it's just your kernel doesn't have those available.
In time I will be adding more scripts so we can have most, if not ALL tunables I can cram into. Hope you like it!
So what you need:
-Root (obviously)
-Working Busybox
-Your ROM has to support init.d scripts
-Synapse
Download Links:
Universal Kernel Manager v2.4
Synapse Google Play Link
UKM Uninstaller
To install:
-Reboot in recovery
-Flash the .zip (No cache/dalvik wipe necessary)
-Install Synapse
-You're done!
Click to expand...
Click to collapse
Features:
Info
General
Model Number
Android Version
Kernel Version
ROM Description
ROM Version
ROM Build Date
SOC Binning
Last KMSG
Status
Battery Temperature
CPU Temperature
Memory
Uptime
Unused CPU States
Time in state for CPUs
Kernel Wakelocks
CPU
Live CPU Frequency
CPU Min Frequency
CPU Max Frequency
CPU Max Screen Off Frequency
CPU Multicore Power Saving
CPU Governor
CPU Governor Options
CPU Governor Tunables
Hotplug
MPDecision (Qualcomm)
Intelliplug (faux123)
ECO Mode
Snakecharmer
Intellithermal
MSM MPDecision (show-p1984)
Screen off Single Core
Min CPUs
Max CPUs
Idle Frequency
Event Boost
MSM Hotplug (myfluxi)
Min CPUs
Max CPUs
Max CPUs Boosted
Boost Lock Duration
Down Lock Duration
History Size
Update Rate
Fast Lane Load
Offline Load
Suspend Frequency
Auto Hotplug (Thalamus)
Disable Load Threshold
Enable Load Threshold
Enable All Load Threshold
Min Sampling Rate
Sampling Periods
Min Online CPUs
Max Online CPUs
Dynamic Hotplug (stratosk)
Minimum Online CPU
Maximum Online CPU
Up Threshold
Up Timer Control
Down Timer Control
Alucard Hotplug (Alucard)
Hotplug Enable
Sampling Rate
Max Cores Limit
Max Cores Limit Sleep
CPU Down Rate
CPU Up Rate
Hotplug Loads
Hotplug RQs
Hotplug Frequencies
Mako Hotplug (franciscofranco)
Cores on touch
First Level
Suspend Frequency
CPU Boost Driver
Boost
Sync Threshold
Input Boost ms
Input Boost Frequency
CPU Voltage
Global Voltage
Frequency Voltage
AK
Faux
Semaphore
I/O Control
Read-ahead Size
I/O Scheduler
General I/O Tunables
I/O Scheduler Tunables
GPU
Live GPU Frequency
GPU Max Frequency
GPU Governor
Simple Governor Tunables
Interactive Governor Tunables
Gamma
Faux Gamma Profiles
Faux Gamma Tunables
Franco Gamma Tunables
Motley Gamma Tunables
LCD Backlight Tunables
Sound
Faux Sound Profiles
Faux Sound Tunables
Franco Sound Tunables
Speaker
Faux Speaker Profiles
Faux Speaker Tunables
Memory
Z-RAM
Virtual Memory
Wake Control
Apply at init.d
DoubleTap2Wake
Touch Wake
Sweep2Wake
Sweep2Sleep
Power Key Suspend
Miscellaneous
TCP Congestion Control
Temperature Control
Temperature Limit Minimum Frequency
Power Suspend State
FSYNC
Dynamic FSYNC
Vibrator Strength
USB Fast Charge
OTG
Battery Life Extender
Touchscreen Accuracy Filter
LED Control
Advanced
C-States
Kernel Samepage Merging (KSM)
Ultra Kernel Samepage Merging (UKSM)
Gentle Fair Sleepers
Low Memory Killer
Build.Prop
Wifi Scan Interval
VM Heapsize
Allow Purgeable Assets
DNS Tweaks
Tools
Toggle Bootloader Lockstate
Toggle Bootloader Tamper Flag
Toggle SELinux Status
Preferred Network Mode
Kernel Image Managment (Backup, Restore)
Log Creation (logcat, dmesg, last_ksmg)
Reboot
Profiles
Changelog:
v2.4
Fixed Wake Notifier bug.
Added Temp Threshold, New Faux Fast Charge.
Added GPU Min Freq.
Ability to set CPU settings for all Cores.
Increased CPU Frequency Poll (download the latest Synapse!).
Added Custom Gamma Profiles (Faux & Franco).
Added MSM Hotplug Load Levels, Fixed Fast Lane Load values.
v2.3
Integrated sqlite3
Fixed Interactive GPU (for good this time)
Added New Semaphore Tunables
Added Franco Hotplug Tunables
Added ability to apply wake options at init.d
Added UKSM Tunables
Added LED Control Tunables
v2.2
Fixed TWRP flash error
Fixed GPU Settings for supported devices
Fixed certain Hotplug settings not displaying
Fixed Live Wakelocks for devices without file
Added Interactive GPU tunables
Added Preferred Network Mode
v2.1
Lowered CPU & GPU refresh rate to display correct CPU & GPU frequency (tested with perfmon)
Fixed Restore Profiles (now checks .tgz first)
Fixed default CPU & GPU values in device config
Fixed incorrect devices parameters in live action
Added Power Suspend State (N5)
Fixed Franco Gamma, Added Franco Sound Tunables
v2.0
No longer N4 exclusive.
Re-coded entire script to support other devices (N4, N5 & N7 for now).
All commands are now called from internal busybox.
Optimized code (faster & less CPU usage).
Added Kernel Image Management (Backup, Restore & Delete).
Added Live Kernel Wakelocks.
v1.7
Integrated busybox for better support
Better way to fix permissions in CPU Frequencies
Fixed Faux Gamma Custom Profiles Link
Fixed Uptime, Unused, Time in State, CPU Freq & Bootloader displays
Fixed Bootloader Lock State. Added Tamper Flag & SELinux Toggles
Added Alucard & CPU Boost Hotplug
Added Allow Purgeable Assets (build.prop)
v1.6
Fix Conservative GPU governor error
Attempt to fix permissions in CPU Frequencies before opening app
Fixed MSM Hotplug display for HellsCore & HellsDoctor users
Added ability to name your backup in Profile
Added Semaphore Hotplug Tunables
Added New Tools Section (Bootloader Lock Status, Log Creation, etc.)
Added Franco Gamma Tunables, New Faux Gamma Profiles
Added Semaphore CPU Voltage Tunables
Added TouchScreen Accuracy Filter Tunables
v1.5
Better UCI support on certain ROMS
Fixed default CPU scaling & New CPU multicore tunable
Fixed display issue in live unused & time in states
More build.prop tweaks, New DNS tweaks
More MSM Hotplug & New Auto Hotplug Tunables
Added LCD Backlight
Added Temperature Limit Minimum Frequency
v1.4
Fixed permission issues in files
Added Fahrenheit Temps, CPU time in state
Added build.prop tweaks
Added Intellithermal Settings
Fixed ondemand sampling_rate_min error
v.1.3
Fixed interactive boostpulse error
Added Global CPU Offset Voltages
Added Faux Sound Settings
Added Live Status
v1.2
Added Faux Gamma Profiles & Tunables
Added Faux Speaker Profiles & Tunables
v.1.1
Fixed CPU live label
Added Profile Settings (For backup & restore)
v1.0
Initial Release
INFO:
Supported devices:
Nexus 4
Nexus 5
Nexus 7 (2013)
Tested kernels:
Should work on any kernel, but my personal tested kernels were the following:
AK
Faux
Matr1x
HellsCore
HellsDoctor
Semaphore
moob
dimfish
F.A.Q.
No UCI support detected? Check the following:
a) Does your ROM support init.d scripts?, IF it doesn't try this,
b) Check in /system/xbin if the uci file exists. IF it doesn't exists you can try reflashing the .zip or run the following in terminal emulator:
su
ln -s /data/N4UKM/uci /system/xbin/uci
c) Check the permissions of /system/xbin/uci AND /data/N4UKM/uci, it should be 755 or 777. IF it isn't you can try reflashing the .zip or run the following in terminal emulator:
su
chmod 755 /system/xbin/uci
chmod 755 /data/N4UKM/uci
d) Check the config.json file in /data/N4UKM/, if the file is blank you can try generating the file again with the following in terminal emulator:
su
uci reset
uci
IF NONE OF THE ABOVE WORKED FOR YOU send me a screenshot of your terminal emulator running the following command to determine your issue:
su
uci reset
uci
Happy testing! :silly:
Please do not forget to thank the developers that provide this damn brilliant piece of work!
@apb_axel
@ak
@AndreiLux
@osm0sis
....
P.S. This is not my "work / app / script"
I put it here just because I'm excited about it. But of course I'll try to help you, if you have questions. (As part of my knowledge)
Sry for my english, I slept in school and Google confuses me more than it helps!
Awesome work mate, going to test!
At last, the most complete kernel app I ever seen
You should post at my kernel thread so people can test!
That was my thought, too. I really have a lot of kernel app's bought but none is so "extensive". Sure, the "other kernel app's" are good, too. But not everyone has the opportunity to buy such app's.
And yes, I'll post in your thread the note to this script.
Nice one...
Gonna give it a try right now
Looks very cool... will take it for a spin!
galaxys said:
Looks very cool... will take it for a spin!
Click to expand...
Click to collapse
Hi guys, any bugs/new tunables you need just let me know, I'll try my best . And thanks to @MotoFlasher for starting this thread.
Looks good, will give it a try
Tapatalk Team SlimRoms
I need to fix a few things for N4 users now and then a new version of UKM will be uploaded.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=53427200&postcount=649
I can only agree with Nekator. apb_axel is faster than lightning!!!
It works pretty well on Nexus 5 with Uber. Thanks for sharing here!
In Sound tab I have Headphone PowerAmp set to -6 and it seems that I can't change this value.
A lot of useful tweaks into this app
noob question, please: how do i apply a color profile on synapse?
Hint! -> [ZIP] Synapse + Script => Universal Kernel Manager v2.4 for N4/N5/N7...
Stil waiting for update of synapse which fix the not saving speaker gain
Or is it fixed in ukm 3.4.2?
... Deleted...

Categories

Resources