[Q] Configure and test Zram - Android Q&A, Help & Troubleshooting

I compiled a kernel with SWAP and Zram capability and set up a compcache in RAM.
Is there a way to test the compcache capability?
Entering "free" in Terminal reports that Zram is used but not much.
How can I configure Zram, so it is used way more often?
Furthermore:
is xmvmalloc necessary for compcache?
I only use lzo_compress and decomress and zram modules.
€dit:
I set up zram as described here:
http://code.google.com/p/compcache/wiki/CompilingAndUsingNew
Entering "free" shows, that I have active zram.
But I didn't initialise with rzscontrol with init command as I don't have it.
Is zram working without rzscontrol?
free shows, that there is a little data in the zram.

nobody?

Related

[Kernel 3.12.rc6][24 OCT][DEV THREAD!] Dorimanx 8.43 ONLY JB I9100 +RECOVERY+ROOTED.

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Dorimanx Kernel for SGII-I9100
Supporting 5 ROM Platforms!
My kernel was based on SiyahKernel 4.0 long time ago in other realty,
Kernel Tree is 3.12.rc6-R101, + Samsung JB updates + my tweaks and lots of tuning!
Thank you Gokhanmoral for your great work in the past!
Warning!!!
Do not install this kernel on any Android version lower than 4.1.Y
Do a Nandroid Backup of your ROM before first try it! just in case
Constant OC will drain more battery! use low speeds on screen off! min 200/100 max 800
CPU will shutdown in case of over-volt or under-volt so be careful
I'm no responsible for any hardware damage or system corruption that can happen after using this kernel,
you are using this kernel from your own will and accept any responsibility by using it.
If you install this kernel your warranty will be void!
Of course you can be relaxed, I'm trying every release on my phone several hours before of release it so,
if something wrong, i will get the damage first, you get a tested and tuned working kernel...​
« Thread rules
« Which kind of posts are allowed in this thread?
Report of bugs after test it personally and including the proper log (Please refer to the Voku's guide of How to report bugs for further information about logs.)
Feedback that could genuinely helps to the development of the kernel, for example tests of a new feature including a complete explanation, documentation and results.
Requests of new features for the next versions of the kernel with the proper explanation of why you expect to see it and why do you think that will be an improve to the kernel.
« Which kind of posts are not allowed here and belongs only to the discussion thread?
Battery life related, which include: Discussion of battery life, statistics of your battery life, screenshots about your configuration, your configuration itself (with the intention of help another users)
Reports of SOD if you undervolt / overclock your phone
General discussion about settings of the kernel, which include: Governors, schedulers, I/O, dual-boot, etc.
Requests of new features for the next versions of the kernel without the proper explanation of why you expect to see it and why you think that will be an improve to the kernel.
Bug reports with the proper attachments like logcat and kernel log (This is the exception, you can post it here and in the development thread, again, only with the log attached, otherwise the report will be ignored), please refer to the voku's guide of How to report bugs for further information about logs.
Deep sleep issues. Mostly of this issues are not kernel dependent, the rogue apps cause wakelocks and other weird behavior so, the first suggestion will be go to the BBS (Better Battery Stats) thread, install the app, and drop the log in there but as complement you can expose your issue here.
« Useful Links and Guides
Official Dorimanx's site
Facebook Fan Page
Kernel GIT Repository
INITRAMFS Repository (recovery)
Dorimanx change logs by kantjer
How to save battery by Voku
All you need to know about UV/OC by the professional chip designer Vikas [Very important to read]
[GUIDE] CPU Governors, TCP algorithms, Android Tips, & IO Schedulers: In my Own Words by MBQsniper
Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs by droidphile
How to make your own .TAR kernel file to flash with ODIN by dorimanx and a ready to use .TAR by kantjer
How to tune the touch screen if you need it by Crescendo Xenomorph
Kernel Gestures Builder by Flint2
SAMSUNG USB DRIVERS by Daerragh
[Tutorial] How To Logcat by paxChristos
Dorimanx kernel ICS/JB - Dummies Guide by ironass
Kernel is updated to 3.12.Y and beyond.(hybrid)(we have 93% from 3.12.Y kernel!)
Kernel SUPPORT JB 4.1.x/4.2.x/4.3.x
This is JB Tuned Kernel only! not supporting any 2.x.x/4.0.x roms!
Dual CPU support
Default CPU governor: HYPER
CFS CPU SCHEDULER Tweaks.
Default CPU frequency: 200-1200 MHz (MAX OC up to 1.6Ghz speed!)
Kernel Support STweaks and 5 Profiles.
Overclocking to 1600 MHz. (via ANY CPU Tweak Apps or STweaks)
Kernel support 16 CPU steps! 1600Mhz->100Mhz by static default!
You can set MIN/MAX CPU Freq in STweaks app! + lots of CPU tweaks.
Kernel will sleep in deep sleep on 200Mhz->800Mhz as Samsung requesting to prevent SOD.
Support undervolt/overvolting via sysfs interface/apps interface. and STweaks (800-1500mV) (all set to best)
Be very careful with voltage settings! (all set already)
Default I/O Scheduling: BFQ
More I/O Scheduling present in kernel: DEADLINE, VR, NOOP, FIFO, CFQ, SIO, ZEN, BFQ
Native USB Tethering.
Native Wi-Fi Tethering
File systems support: Ext3/4, FAT32, CIFS, NTFS, EXFAT
Added tweaks to increase I/O Speed.
Added tweaks to increase CPU speed
Removed all the debuggers to free kernel from unneeded jobs, and logs.
More Govs present, HYPER, conservative, performance, pegasusq, nightmare, darkness, zzmoove, ondemand(default sleep gov), sleepy.
ZRAM SWAP add more 150/300/600MB compressed RAM, activated by STweaks, set to off by default.
Tweak camera (better picks quality)
Kernel Include Siyah Recovery with Dual ROM support!
In Recovery you have section to select kernel profile. Performance, default, battery, the default is DEFAULT.
Kernel will Auto ROOT your device!
You can disable ROOT in STweaks app!
Tuned for I/O Mega Speed SQLite is injected to ROM after install.
BLN by GM! lights time out, and blink/breathing effect, see STweaks BLN tab to activate! (READ ABOUT BLNWW!)
New Kernel Management app STweaks by GM! installed with kernel.
BLN without Wakelock to save battery when BLN active till timed out. by GM.
Touch Keys Light change with the screen brightness! by GM.
Massive script for kernel/ROM management made by Voku,Alucard and me
It's will work by auto and set lots of tweaks: NET tweaks, GPU tweaks, CPU management, Deep Sleep Tuning, Charging states, and more!
It's name is cortexbrain-tune.sh
WE SAFE (MMC_CAP_ERASE not present) in kernel MMC Code!
MMC code merged with SAMMY Update 10 + 3.10.y updates!
FM-RADIO WORKING! (you need Spirit FM PAID!!!!) or Sammy ROM with FM APP.
Touch screen color + touch thresholds are in STweaks,
Kernel Cleaning Script is build IN! by VOKU.
BT Support for SAMMY 4.1.2 and all 4.2.X + 4.3.x
Video(GPU) + Camera Driver from SAMMY JB/CM10.1 + patches
WIFI Driver 1.61.56 ported from SG4
Modem Driver from SAMMY JB SOURCE
SMP Processor code updated from Kernel 3.12.Y
RCU + SRCU Processor code updated from Kernel 3.12.Y
Kernel Code for on screen gestures by Tungstwenty fixed by MARIO1968
All FS used Code merged with 3.12.Y kernel
SLUB fully merged with 3.12.Y Google Android kernel
SCHED CORE fully merged with 3.12.Y kernel.
RAM merged with 3.12.Y + Google Android kernel.
VFP updated to MAX from 3.12.Y
Slide2Wake by FLUXI, (swipe from left to right on turned off screen to wakeup device, tweak can be turned on/off in STweaks, this mod use 5% battery! (Modded by GM for less battery drain)
Sound boost controls by FLUXI in STweaks.
New Mali V2 Video Driver combined with old to support JB STOCK in one kernel(8.X branch) by Gokhanmoral/me/CM-TEAM!
In 9.X branch we have MALIv2 ONLY video driver for CM/AOKP new ROMS! no STOCK SUPPORT!.
Added mdnie interface and made hardcore’s sharpness tweaks optional by GM!
5 GPU FREQ Steps from 108Mhz to 520Mhz by GM!
Ultra KSM from 3.9.y kernel.
Powered by SuperSU "Please support SuperSU" dev Chainfire!
Recovery can backup/restore STOCK ROM! include the preloaded partition!
NOTE: This kernel is for JB AOKP / CM10.1 / MIUI(STOCK JB BASE) / SAMSUNG STOCK JB ROMs
WARNING:
It's not possible to dual-boot with the JB SAMMY ROMs in any combination.
So, please! don't try it and don't report it as a bug, it's a known issue.
---------------------------------------------------------
Disclaimer:
Every user must use his / her own criteria to report the off-topic posts,
The rules are just a guide to what is expected to see in a development thread,
But if you don't want report posts at least don't answer the repeated questions,
This open the door to the spoon feeders to ask again and again and again...​
Live Change Logs from GITHUB:
Initramfs
Kernel 8.x
Kernel 9.x
(To download kernel, go to links at bottom of >this page!< YES the OP PAGE!)
ICS is no longer supported!
for ICS ROMS use 5.x/7.x/8.1 only!
Discussion, Q&A Dorimanx Thread Go >HERE< For Help.
Change logs:
24/10/13 time 12:50
Kernels 8.43 + 9.43 <Stable>
Kernels 8.42 + 9.42 <Major BUG found and fixed in x.43>
Kernels 8.41 + 9.41 <Stable>
03/09/13 time 16:10
Kernels 8.40 + 9.40 < NEW BETA TEST! >
Kernels 8.39 + 9.39 <stable but with small bugs in ram count>
Added 4.3 support!
Kernels 8.38 + 9.38 <STABLE BUILD!>
15/08/13 time 04:00AM
NO 4.3 SUPPORT!
Kernels 8.37 + 9.37 <DELETED! BUGGED>
"Declared as 3.10.rc5 in X.36 build"
Kernels 8.36 + 9.36 <DELETED! BUGGED>
Kernels 8.35 + 9.35 <MASSIVE UPDATE! V2 Stable for most users>
Kernels 8.34 + 9.34 <MASSIVE UPDATE! Stable for most users>
Kernels 8.33 + 9.33 <Stable for most users! BUT do backups! to PC>
Kernels 8.32 + 9.32 <Considered stable by many, but still some got SODS(for some users). (bugs fixed)>
Kernels 8.31 + 9.31 < test V7, STABLE 90% but low vibrate and small bugs.>
Kernels 8.30 + 9.30 < test V6 STABLE 93%, OOM profiles still broken.>
Kernels 8.29 + 9.29 <new beta test V5, OOM FIXED! stable, but oom profiles broken.>
Kernels 8.28 + 9.28 <new beta test V4, half stable, 80% OK.>
Kernels 8.27 + 9.27 <STILL SODS, OOM Broken!>
Kernels 8.26 + 9.26 <STILL SODS, OOM Broken!>
Kernels 8.25 + 9.25 <DELETED, SYNC BUG>
27/05/13 time 02:50
Kernels 8.24 + 9.24 <Reported as 90% Stable release!>
Kernels 8.23 + 9.23 < DELETED SOD BUG>
Kernels 8.21 + 9.21 < DELETED SOD BUG>
kernels 8.20/9.20 < DELETED SOD BUG>
Kernels 8.19 + 9.19 < DELETED SOD BUG>
Kernels 8.18 + 9.18 < DELETED SOD BUG>
Kernels 8.17 + 9.17 < DELETED SOD BUG>
04/05/13 time 14:45
Kernels 8.16 + 9.16 <Reported as 95% Stable release!>
16/04/13 time 11:35
Kernels 8.14 + 9.14 <STABLE and WORKING OK!>
04/04/13 time 00:10
Kernels 8.13 + 9.13 <STABLE and WORKING OK!>
Kernels 8.12 + 9.12 <STABLE, but with WIFI BUG!>
23/03/13 time 23:40
Kernels 8.11 + 9.11
Kernels 8.10 + 9.10
Kernels 8.4/9.2 -> 8.9/9.9 DELETED! <MEM SOD BUG>
Kernels 8.3 + 9.1
Kernel 8.2 + 9.0
Kernel 8.1 <LAST ICS SUPPORTING KERNEL>
Old History:
24/02/13 time 05:22 (Advanced BETA II)
ICS+JB-MALI+CM10.1+JB SAMMY LEAK+OFFICIAL(from 7.44)
Kernel 7.50 <FINAL VERSION! MALI V1 is END OF LIFE!>
Kernel 7.49 <Advanced Beta Tuning FIX>
Kernel 7.48 <Advanced Beta Test>
Kernel 7.47 <Improved Beta Test>
Kernel 7.46 <MEGA BETA TEST>
01/12/12 time 19:15 (STABLE)
Kernel 7.26 ICS+JB-MALI
Kernel 7.26
20/10/12 time 16:15
Kernel 5.90 / 7.4 JB-MALI
Change Log for 5.90 ICS / 7.4 JB-MALI ONLY!
2/10/12 time 22:48
Kernel 5.84
*VOKU and me, we restored function that check DATA + CACHE file system before boot, for errors and damaged blocks and more.
it's can be requested for one time run by user via extweaks misc tab.
DO NAN DROID BACKUP VIA RECOVERY BEFORE ANY ATTEMPT TO USE IT! (if your phone will not boot, and you don't have backup, don't blame me for that)
If your data has allot of corrupted files. then first boot with this kernel will take longer! do not panic. let it work.
no more than 10MIN, if still no boot, then you need to restore your nand backup and never use this function!
your hardware is not ready for DATA partition clean up. forget it.
you will get new file /log-data and /log-cache
after boot you can check if you had any errors in data or cache.
To activate just "push the ATOMIC button " or push again to ABORT!
function will work after reboot, and never again, till requested by user.
If you do nan droid backup and then restore it, you restore all the errors and junk with it. (just for the info)
Goals for next builds:
Debug and find more code errors! (always something new)
Add cool features and tweaks
Extend battery life.
Boost performance.
« Installation
Download the file
Place it on your SD card
Reboot into recovery
Flash the file
Reboot
In case of a new installation on a non rooted or non recovery device:
You can Download ODIN 3.04 attached to page.
Reboot to Download mode (Hold Power + Home + Vol down, then vol up when you see the download menu)
Connect USB, wait until the drivers be installed
Install kernel via ODIN, choosing the option PDA, search for the file that you downloaded and push start
If all going fine the phone will reboot and you done
Mirror #1 by Bmbm
Mirror #2 by Willflint
Mirror #1 Here
Mirror #2 Here
Dev-Host mirror (just in case that main mirror be overloaded)
Alternative mirror provided by Looki75
> Server in standby, no content <​
« Credits
Gokhanmoral (Siyah Kernel)
Myfluxi (xxICSKernel)
Pinpong (Thoravukk_i9100)
Voku1987(This Kernel)
Alucard_24(This Kernel)
STANTRC(This Kernel)
Halaszk (siyahkernel-sgs3)
AndreiLux(Perseus-S3 Kernel)
Teamhacksungb (CM Kernel)
Pershoot (Galaxy-2636)
Dror2169 (KernelSanders-OMAP)
Faux123 (Great Mega Elite Dev, many kernels)
Simone201 (Neak-ICS kernel)
Angelom (Abyss kernel)
DerTeufel (Samsung kernel - Aries)
Entropy512 (CyanogenMod)
Talustus ( Dream Kernel - ICS)
Tungstwenty (On screen gestures addon)
Renaudallard (GNexus kernel)
Torvalds (Kernel 3.6.Y maintainer)
Robertobsc (Siyah kernel 3)
Second kernel developer voku1987, GIT
Please treat him as full time developer for this kernel, any of his answers are considered as if i have answered.
Thanks a lot for your help and support!
Third Kernel developer Alucard_24 GIT
Please treat him as full time developer for this kernel, respect his answers as he know much and helping in development!
Thanks a lot for your help and support!
Forth Kernel developer StanTRC GIT
Please treat him as full time developer for this kernel, respect his answers as he know much and helping in development!
Thanks a lot for your help and support!
Great Fearless Beta Test Team!
Eskriminal
Rkoby13
Infatality
Shahan_mik3
Computoncio
Metalgearhathaway
PSyCh¤_O_O
Crazy-Silver
Cybernetus
Bogdan1980
Markox89
Stopro
Misk77
The most active and honored team members are:
Voku1987 ★
Alucard_24 ★
StanTRC ★
THE RED BLUR ★
Manulemaboul ★
GaboWinter ★
Johnbeetee
Xanthrax
Cybernetus
Big_bum
Rkoby13
Unexist6969
Bologna
Kantjer
Crazy-Silver
Sybregunne
#illidan
It_ler
Flint2
Wonsky21
Zeppelinrox
Fhasovic
Lyndonguti
Nasty_z
Krishnadusad
Crescendo Xenomorph
Jgcaap
Bleuxeon
Respect them and read there posts, ask them questions, and you will be happy and safe with us
TO DONATE CLICK HERE
Donators:
Donation from a XDA Guests x36
Bmbm (Huge donation! Great Main Mirror!)
Willflint(Huge donation! Great Second Mirror!)
Bleuxeon x5
Sun90 X3
Rkoby13 X3
THE RED BLUR x2
Xanthrax x2
Kantjer x2
Flint2 x2
PigMachine x2
Nuclear******* x2
Jgcaap X2
Didgesteve X2
Toffiko X2
Ercxar X2
NeGriTa79 x2
O0boiboi0o x2
Axonn x2
Bologna, Avinashadvani, Ciribaski, Freewind29, Johnbeetee, Malavan, , Pender666, Ale.gu, Duykhang524, Fictisio, Americoz, Den15, Jomaga, GregX80, Nokia-xxx, Steili, Ulver7, Mr_omega, Haramizuki, Mofeywalker, Puppyko, Computoncio, Ophirb, [email protected], Sasho36, ADABman, Follettoverde, AMDPOWERFIST, Quijote1, GeScha, Trevfee, Cybernetus, Drinky, JulianXhokaxhiu, Thijssie909, **** Gordon, Gippy2, Mario1968, Godzifa, Maulattu, Manczyslaw1], Fakhersidhu, Davidb89, Dynomot, MrMastodon, Calanizzle, Nogo8888, Dongerado, H4cker77, GieltjE, Blaex, N1m0Y, Lukign0, Ruk_design, Bubble-be, Chivas112, Vexxx, ,Spinik, Minidou-77, Amber_Oomb, Oriundo, Imilic, Liorreem, GieltjE, Knהההrz, TrallaP, LegnaDegna, Fliron, Mrjl, Mmca, Adyjl, KqK, Xsycox, Gatsu84, Oshmoun, Poseben, R3dDr4g0n, Walter White, Arpinacio, TyDraniu, Livefortoday, Dox81, BigGiantFish, Blaex, Metalgearhathaway, HorstiG, Sgauge, ZeroLight, Leo2589, Cr3ck3r5, FaTa1-Err0r, 99x, Pitzyper[FONT=&quot], [/FONT]1.000.0000Dollar, Renemt, Cool1007, Sibero80,
« Extras
GESTURES!
Here you can download the app to set the gesture_set.sh script to make your own gestures.
*Added gestures script that connected with cortex and can be managed by user and system in harmony!
The script is located at /data/gestures_set.sh do not move it, if you have already any gestures scripts in init.d delete them and move your custom stuff to this script.
It will work with the screen on, and be shut on screen off, to get rid of one more loop that wait forever, we dont need it on screen off! So i give you 5 preconfigured gestures! max supported is 10! max finger touches supported also 10.
Script will be copied to data if not exist on boot, if exist then, nothing. You can shut this function in STweaks or restore to default gestures if you mess with it
On restore you will get backup of your current running file at /data/gestures_set.sh.bkp + gesture_set.sh.sec just in case.
PICK FOUND IN GOOGLE! It's not me
I am here for you so, ask, debug and comment!
Help me to make this kernel as good as possible!
Recognized by followers
Great Developer DORIMANX
Page modifications by GaboWinter!
​
Kernel Info about Tweaks / Mods
Here I will post about things that exist in kernel.
First of all here are some guides made by VOKU also developer for this kernel.
Android: How to report bugs
How to use "ADB" - Command Line Tool
You get ZRAM SWAP.
In short, it's compressed RAM, that by using our mighty CPU compress 150MB of Real RAM into 300MB ZRAM!
This is simple math:
we have 848MB RAM, + 300ZRAM - 150 Needed for ZRAM = 1GB RAM
You can see it work by entering terminal app, or connection by ADB
And type:
free
you will see this..
Code:
[email protected]:/ # free
total used free shared buffers
Mem: 848164 801800 46364 0 13456
-/+ buffers: 788344 59820
Swap: 292968 23420 269548
in SWAP filed you see it exist and works!
Also there is one more advanced check
type:
su
zram_stats
you get:
Code:
127|[email protected]:/ # zram_stats
Swaps Status
Filename Type Size Used Priority
/dev/block/zram0 partition 97656 7804 20
/dev/block/zram1 partition 97656 7804 20
/dev/block/zram2 partition 97656 7808 20
ZRAM STATS
/sys/block/zram0
disksize: 100003840
num_reads: 474
num_writes: 2013
invalid_io: 0
notify_free: 61
zero_pages: 105
orig_data_size: 7565312
compr_data_size: 3465633
mem_used_total: 3563520
avg_compr_ratio: 45 %
mem_overhead: 2 %
/sys/block/zram1
disksize: 100003840
num_reads: 473
num_writes: 2013
invalid_io: 0
notify_free: 61
zero_pages: 106
orig_data_size: 7561216
compr_data_size: 3447524
mem_used_total: 3584000
avg_compr_ratio: 45 %
mem_overhead: 3 %
/sys/block/zram2
disksize: 100003840
num_reads: 477
num_writes: 2014
invalid_io: 0
notify_free: 61
zero_pages: 99
orig_data_size: 7593984
compr_data_size: 3444863
mem_used_total: 3559424
avg_compr_ratio: 45 %
mem_overhead: 3 %
You see 3 ZRAM swaps each 100MB and they work in load balance!
All filled/released in one push, it's fully auto! it's will help on heavy RAM load!
==================================================================
Touch Recovery:
Made by ELITE DEVELOPER Gokhanmoral!
I have added tweaks and my configurations.
You can move in menu by finger, and by pushing arrows at the bottom, also hard keys work.
You can have 2 ROMS installed in one phone
See menu and check for full instruction on Developer Thread!
You can backup and restore / format / mount / install from ZIP / or from zImage!
You can set / reset your kernel profiles
there are 3:
Battery saver: reduced performance, but long battery life.
Default: normal performance, normal battery life
Performance: Boosted allot for performance, but faster drain of battery.
In order to use performance profile and not to drain your battery too much,
you need to set profiles in any app for CPU tweaking, that can give you profiles for:
Screen ON
Screen OFF
ON CALL
ON LOW Battery.
For screen ON you can use Full OC (200-1500) and have fun.
On Screen OFF: use 200-800/1000 speed
On Call use: 200-800 to save power.
On low battery use 200-1000/800/500 as you like..
================================================
You get tuned SQLite for CM9 or PURE ICS ROMS.
Its set to reduce the "sync command" when writing and reading tables in apps and system data.
So it's will "sync" on finish write, and not every small operation that its doing.
By this, read/write ( I/O) performance boosted allot!
If you install any other kernel after my, the sqlite will remain in ROM till ROM will be replaced.
================================================
More to be added later.
​
22/7/12 time 19:00
Kernel 1.0 -> 5.2
Code:
*Restored lot's of code that i and voku ported, to restore stability, much from that code was exp, so it's moved to EXP branch, i will test it offline.
*Changes to cortex for stability, see git.
*Messed with profiles save, should be ok now.
*Improved stability!
*Improved performance!
*Updated to 3.0.38!
*Fixed GPS
*Added wifi supplicant tuning to extweaks and to cortex.
*Added FIX for Korean GPS
*Added BT fix for SAMMY 4.0.4 ROMS by Gokhanmoral! TNX!
*More code porting for better deepsleep! and network fixes.
*Tuned hyper gov and renamed to HYPER!
*Updated to Samsung Update 5 + 6
*Lots of changes to TVOUT driver, it's may now work on custom roms!
*Removed ondemand, HYPER is the same gov but more advanced!
*Fixed intellidemand now it's stable.
*Ported more code fixes from 3.5-rc7
*Added new tweaks in extweaks and converted many to checkboxes.
*More patches to WIFI driver.
*Battery life improved allot! thanks to code changes that put more drivers to sleep!
*Removed KSM and ZCACHE from config, ZCACHE is damaged after merging with kernel 3.5-rc7 and KSM eat battery and dont really help. no big change in performance, still fast and smooth. (zcache no longer used in 3.x.x so we disable it too)
*Kernel is stable! 2 days with full cortex and performance profile.
*Updated to 3.0.37!
*I have ported lots of code changes from kernel 3.5-rc7 (about 2000+ code lines changed)
all about file system and cache memory and compression.
*VOKU has ported lots of new code for process control and kill + memory control. from 3.1.Y
*Fixed wakeup booster, it's more smart!, now i boost the freq to max but with your GOV not with performance, and add +25mV to all steps for time that wakeup booster works, then it's will set speed to normal and reduce voltage by -25 and all will be as you set.
*Cleaned code from unused functions.
*Extended light sensor and battery sensor pulling time, to reduce battery use, and CPU use (done by voku)
*Tuned voltage for HIGH steps 1000 --> 1500 added more +25mV each. for stability.
*Fixed the Touch keys timeout stuck at 5 sec. now should obey your settings.
*Added check if cortex background process is OFF or ON for real.
*Added new GOVs intellidemand and wheatley they are good for battery save, and can be fast if tuned via setcpu app! or they SLOW by default but very smart.
*Fixed all GOVS code about idle time statistics and wait for IDLE, should help reduce battery drain.
*Restored some define values to default, this small things can make big problems, we made some changes to them without fully understanding if it's OK or may damage some thing, like front camera!
*Kernel size is FULL, 8.10MB so very soon i will have to cut some tuning to gain more room for code changes...
*Fixed BLN still ON after main BLN switch off!
*Fixed small bug in kernel optimization.
*Tuned brightness for simple auto brightness (modded by VOKU)
*Improved stability and performance.
*File system corruption protection. by using FSYNC function to sync all changes to file system more often.
Added extweaks MISC option to disable the FSYNC to get little more performance, but reduce to less safe from damage file system (DEFAULT for all KERNELS!) this function is external! option will be updated only on reboot! not as you set it.
*Removed cortex background process for default and battery profiles, so user can use it or not. see extweaks, (without cortex, wake up booster + sleep gov change + dynamic GOV modding will not work!) for some ROMS, it's GOOD! since they get SOD all day with cortex ON, so try without, if OK, try with, if OK, have fun, if SOD, disable again.
It's ON for performance profile!
*Battery life improved.
*Added code fix that reduce CPU usage on idle to 1~15% on 100Mhz! was 15~30% now more battery will be saved.
*Rebuilded the root add/remove now it's used as buttons. install , remove , check
*Retuned Touch screen CODE, screen will not stuck now, 70% of SOD, not really stuck the phone, it's only the screen stuck! via adb i see that all OK! and system working as was, so now problem is fixed!
*New code fix for WIFI, now if not used and disabled in ROM, driver will cut power to WIFI chip! till now it's was still idle and drained power. not any more
*Finally i made my kernel STABLE! no more SOD and great battery life!
I have reverted from Linaro 12.06 GCC 4.7.1 builder to Android GCC 4.3 builder
that used to build all ROM and Default kernels!
So no more SOD! and battery is 1.1%/h -15mA :)
*Added more fixes to code from FLUXI kernel, TNX Myfluxi!
*Set 15 CPU freq steps for all profiles and removed settings to change it, there are many code trigers that depend on 15 freq steps, so best to have all for all profiles, then reduce the MAX freq to what needed, (already set)
*if you have added any INIT.D scripts that mess with my settings, REMOVED THEM, then test my kernel,
For some phones to low settings will always kill the phone,
I am asked all people that post INIT.D scripts in this thread, STOP/REMOVE. keep them to your self. thanks.
*Found and removed SOD bug on screen off/on and in deepsleep.
OK for me, need more people to test!
*Ported some stuff from GM SG3 kernel, better video sharpness and some restores for Video driver GPU freq lock on screen ON.
*Tuned all profiles, with min/max cpu on suspend, now we can use 200 to 700, please do not change it for now.
*Lots of new code ported by VOKU from 3.1.Y kernel! see GIT
*Some clean ups, and kernel optimizations FLAGS.
*Removed hotplug and interactive govs, we have lot better govs to use.*fixed small but critical bugs! (reuploaded kernel last at 18:59)
*I have reverted all CODE for CPU Idle and Suspend from Source (GM Thanks again!) now i hope the SOD will be wiped!
*Reduced Kernel size thanks to VOKU new reconfiguration of Kernel flags.
*Added new CPU calibration code form 3.4.y tree.
*Added more fixes for Kernel scheduler.
*Tuned all profiles, now sleep gov is pegasuq for all!
Fixed all missing config triggers and added more protection from battery gauge reset by extweaks without need.
*New Updates to SLUB scheduler that we use for memory management.
*Added new stuff to extweaks!
Now we have:
bln tab:
SWITCH to turn of BLN!
SWITCH to turn ON led lights on touch! it's use the led time out!
Fixed BLN test button.
cpu tab:
SWITCH to turn on/off wakeup booster and set the boost delay!
*Reverted last USB code update from NOTE, found that driver stuck after long charge and we can get to storage via USB, we have SG3 driver, so to mix them probably bad idea,
*Restored CPU code that needed for SAMMY rom stability to prevent SOD, so i hope it's will be ok now.
*Small fixing and cleaning. see GIT's
*Fixed WIFI wakelocks by removing latest patches, need to work on them first.
*Added CPU patches from GM
*Added Audio Amplifier GAIN for headphones 0DB 1.5DB 3-6DB addon by GM! see extweaks.
*Tweaked all profiles! set the suspend freq to min 700 max 800! as Samsung request! lest stop the SOD! please do not change that settings.
*Added new Patch for WIFI filter found by Entropy512 seems that we had an open packet filter that helped to drain battery with wakelocks!
*Fixed some cortex code, all should be good. and fast!
*Removed EXP ver, need to work on it.
*For now this kernle not include new Power Manager by VOKU, we still testing!
*Fixed Wakeup booster script, now will wake and power the phone for 10 sec on max we can get! the reduce to normal as user set in extweaks! will work only if background process is ON,
*Changed all profiles! boosted GPU freq and voltage for all, after testing with heavy games! now stable! + govs change.
*Cleaned and updated HYPER + ONDEMAND govs to 3.0.Y tree + mods.
*Lots of new stuff ported by voku for WIFI driver, so test it as much as you can.
*Fixed some bugs in cortex script, removed not used stuff from crypto module.
*Fixed SAMMY boot (reverted some stuff)
*Fixed led_timeout bug in extweaks.
*Fixed zram stats info for roms without BASH, it's temp solution till we can fix the main script.
*Added new tweaks, Negative mod On/Off via checkbox + advanced wakelock mod, will show all wakelocks that was ON and ended! so we can debug, who drained battery! it's OFF, by default, see MISC tab! added by GM! :)
*Updated New USB drivers from NOTE Update 3, need to test all we got (usb devices and external storage via usb)
*Reduced compression via XZ and reduced memory used for it, kernel bigger but little faster on boot.
*Small new fix to WIFI driver.
*Added interactive to govs, updated to max by myfluxi
*Added code correction for suspend freq + max freq for performance gov.
*Tuned touch screen wakeup and responce, very smooth now.
*Fix to pegasusq by GM
*Fixed GPU undervoltage script, (by myfluxi)
*And more, see GIT's
*Fixed boot for SlimICS!
*Fixed Battery charge low power mode + updated images from SG3
*Added full support for JellyBean ROM from working source thanks for huge help on that with the INIT root files!
*Fixed lots of mall bugs / syntax / descriptions, in all kernel scripts (extweaks and more)
*Added new stuff to extweaks (usb mod change, auto brightness)
*New fix to WIFI driver.
*Improved I/O latency
*Improved disk write to USB storage
*Improved screen wakeup
*Improved screen off state battery saver. (cortex)
*Lots of code fix and porting as always
*Reduced logs to dmesg and logcat, less chat, maybe less drain..
*Restored luzactive gov and removed tweaks for it on screen on/off now people can use the app for it to control settings.
If someone using apps like SETCPU with his own profiles, please do DISABLE in extweaks cortexbrain tab for CPU-TWEAKS! then your profiles will make difference, if it's enabled, then internal script do the work.
*Improved brightness levels, now more bright, was too dark on min..
*Updated to last released recovery by gokhanmoral!
*Reworked all boot structure to support 4 major branches and still give all that i have to all.
*Small change for kernel name, now it's better to find the last update in recovery!
*Tuned the background control process to wait 10 sec on screen off before do all the system/cpu/voltage/and more changes, just give us time to think if we finished with phone :) before it's shutdown to minimum :)
*Uploaded also in .TAR as promised.*Made lots of code fix and BOOT fix, should be ok now.
*VOKU ported new code for RAM, CPU, Power manager from 3.1.Y good work!
*Added boot progress bar, nice to have :)
*FIXED GPS Activation, deleted 4.1C/D (bugs)
*Fixed New boot order for MIUI and SAMMY and SlimICS
Need to test it.
*Fixed the screen shake on touch hold.
*Huge amount of changes to RAM, CPU, Kernel Operations (merged from 3.1.Y + 3.4.Y)
*Found and removed wakeup bug on lock screen!
*Tuned all govs and ported pegasusq from last siyah kernel to restore normal operation with it.
*Added tweak in extweak in screen tab for managing the negative color mod :)
*Voku ported lots of good stuff including new patch to WIFI driver, some problems resolved, need to test for long term.
*Fixed luzactive gov from been too slow.
*Added support for JellyBeens ROM branch! (by gokhanmoral)
*Lots of tuning and code fix, see GIT, it's too much for change log page*Massive PORT and adapt from 3.1.Y kernel by VOKU!
New code for: CPU, RAM, FS, Kernel operations and lots more! see GIT!
Now cpu used 1~10% on 100Mhz! and was like 25~35% so more battery save and more performance.
*Fixed Voltage for cpu reset on screen on/off
*Added new LOGO :) by Crazy-silver
*Arranged CPU govs by performance for awake, and by power save in deepsleep
See Extweaks CPU tab.
*Fixed battery reset on recovery.
*Added new Tweaks to CFS scheduler in CPU tab. tune it only if you know what is it and what it's set.
*Added more tuning, now we get more performance!
*Battery drain reduced due to low cpu use, and allot of stuff.
*Fixed oom_kill_allocating_task set to 0, now it's 1 as recommended.
*Fixed CFS tweaks activation.
*Added CORTEXBRAIN tab in extweaks, now you can control it, best not, but if you like to mess with stuff, then see what it do in initramfs git and change.
*Tuned scary gov should be better now, and removed it from defaul/battery just in case. added abyssplug.
*Switched to more stable compression and optimization level -O3 from Ofast
Should be more stable now. i even see some better benchmarks.
*Improved ROOT Install/Remove in extweaks + check button :)
*Fixed SCARY gov to be more adapted for this kernel.
*Allowed Abyssplug gov to control second CPU on/off
*Ported fix for vibrate for Samsung roms, TNX Gokhanmoral.
Need to test it! so please do.
*FIXED the BATTERY fuel gauge bug! now it's stable as should!
Give it some time to recover from bug to show good drain results.
but it's will stay correct after reboot, (did 10! no problemo!)
*New CPU idle code ported from 3.1.y kernel by VOKU! we now have the most advanced CPU code for SG2 :)
*Lots of changes and restoring and tuning CPU,GOVS,RAM,TWEAKS.
*Tuned data partition to be more resistant to sudden power loose (sod/batt pull and stuff) this is the android default, data=ordered, we had data=writeback, it's faster but less recommended for phones...
So now its safe again.
*Kernel Cleaning Script is build IN! by VOKU no need to run any external clean scripts.
*Small change to BLN, now will obey touch key voltage! only on blink and steady.
*Locked vibrate to min 25% (max 100%) and added code, if less than 25% set 75%, lets see if OK now after long sleep.
*More code updates from mainstream 3.0.y (some stuff was lost, so now i have my own mainstream kernel to update from)
*Tuned MAX freq for standby to 700Mhz
*Fixed UV reset after screen on/off
*Small config changes in INIT scripts / profiles.
*Added scary gov :) it's SLOW gov, good for battery save and will be used for deepsleep, also tuned it to wakeup fast!
added it to all profiles for deepsleep, and to extweaks
*Added more Voltage to CPU, now it's default ICS kernel voltage.
You can now reduce it by using asv group 4 or undervolt by -25 / -50 but test some time if no SOD. or just leave it alone.
*Updated to 3.0.36
*Added TNT to many bugs :laugh:
*Fixed slow wakeups
*Added more +25mv to lower cpu freq ranges to add more stability.
*boosted boot speed.
*Voku helped allot! he added lots of code fixing and updates to filesystem drivers and memory.
*Added new button at extweaks for checking current gps zone config.
*if you like to fix permissions, just push the button at extweaks misc and turn off the screen! fix will begin instantly! if you really need the phone, use it, but best to let it work top 2~3 min, depending on amount of mess and installed apps, it's done my 450 apps in 2 min :)
*we tuned profiles and voku added new stuff to conservative gov! so it's now the most saving battery gov! try it only for deepsleep (screen of gov)
it's slow, but this is what we need! less activity more battery!
*Vibrate should be OK now.
*now if phone is over 50c heat, and you turn off and on the screen. it's will auto drop to 1Ghz and to hotplug gov to cool off..
after temp will drop, and you turn screen on/off all your extweaks settings will be active again! so if was oc to max then you get it back :)
I care about my people :)
*Fixed the vibrate low after some time. + added extweaks interface for it.
*Added touch screen tuning
*Added screen color tuning (extweaks SCREEN tab)
*fixed WIFI driver
*Reduced batt drain
*Added HYPER gov, it's the most powerful gov in my kernel. :)
*Added New BLN from Myfluxi, it's works with aokp and cm9, need to check with original ics.
Lots of new tweaks in BLN tab
*Added lots of new code/bug fix for CPU / RAM / SYSTEM
*Corrected small bugs in extweaks,
*Updated to 3.0.35
*Reverted some commits that i think we can ignore for now. too much experimental.
*Added some more code fixes,
*Ported updated Vibrator driver code.
*Restored USB drivers, usb otg/disk-on-key should work.
*Added ZCACHE and CLEANCACHE this will boost I/O performance and help with heavy loads!
*Added massive amount of code fixing and tuning to RAM, CPU, NET.
*Added ability to boot in to DOWNLOAD(odin) mode from ROM->bootloader (credits to gokhanmoral)
*Tuned all profiles,
*Fixed ZRAM / GPS settings in extweaks!
*Added Fix permissions to extweaks MISC
*Added to system tweak to check if you have AD blocker file already, and if you do, then my adblocker will not be installed, if you dont, then you get one :)
*Added Zram turn off! not recommended, it's will shut down the zcache also. (no battery save from it, just little amount of cpu.)
*Added to GPSREGION option to restore your ROM default config! and one for not to change any config. (default!)
But restore will really work after you reinstall your rom, if you already changed it with my previous kernel version, (if not, new kernel users, then you set to go)
*Added lots of WIFI driver fixing! now Ch 13/14 will work as planed, and 5GHZ band will work as should.
*Added more pressure to save battery tweaks on screen off.
*Added ability to change the sleeping gov in extweaks + sleeping charging gov.
*Rearranged the extweaks CPU tab. now all in good order.
*Restored the Undervolt menu option. use it with care..
*Reduced undervoltage groups from 7 to 5, 6+7 are to low for our CPU.
*Updated to newest Linaro 12.05 GCC 4.7.1 ICS kernel builder! :) + patches to kernel for it to work.
*Patched All GOVS for more speed and battery save on screen off.
*Removed lots of logs generated from kernel to dmesg and logcat, now more quiet kernel and i hope it's will reduce some small battery drain.
*Blocked access to some logs that are written all the time to flash to save the flash and reduce internal cpu operations that we dont need.
*Fixed permissions to /data/anr! (no reboots any more)
*Ported more CPU code fixes.
*Fixed all kind of functions that can crash kernel and stuck the phone. there are more... there are always some more left... but we will get to them :)
*Updated to 3.0.34 Tree
*Added More EXtweaks Options:
Bus Freq, Bus Thresholds, Under voltage Groups, Suspend Freq, Zram Settings, Zram Stats, GPS Time Zone, GENTLE_FAIR_SLEEPERS, ARCH_POWER.
*Fixed and tuned lots of things in cortexbran-tune.sh script Cleaned old unused settings from extweaks xml
*Tuned all profiles.
*Tuned Network scripts, now i get a lot faster data connection!
*Added changes in CPU cores/voltage based on screen on/off
*Added cleaning of lost+found folders on each boot.
*Added WIFI fast sleep on standby.
*Code fixes and charge voltage config.
*Looks like the DATA partition fix at boot working great, and no serious problems, so i removed warning from change log, all cool :)
*Updated to 3.0.33 Tree
*Added Sec Rom NAND backup by gokhanmoral.
*Added lots of updates from SG3 kernel and NOTE(n7000) kernel.
*Added Abyssplug gov from Abyss kernel :) it's set as sleep gov in kernel operation script.
*Added one more level to BUSFREQ 100MHZ was lowest 133Mhz, may save some battery.
*Added LAZY gov and Hotplug
*I have reduced CPU global voltage! to save more power!
*Tuned all GOVS for less freq jumps and more stability,
*Added lowest power to GPU to 700mv by Myfluxi
In my profiles i use MIN 800mv, just in case, but you can test it.
*Made lots of profiles changes, please reset in recovery and set your preferred.
*Added changes to ADB operation, and lots of updates to USB and Misc code fixes.
*Massive script for kernel/rom management made by voku and me :)
It's will work by auto and set lots of tweaks: NET tweaks, GPU tweaks, CPU management, Deep Sleep Tuning, Charging states, and more!
It's name is cortexbrain-tune.sh :)
*Added DATA, CACHE, PRELOAD(sec-rom-system) partitions scan for errors and FIX! every boot!
I hope you want clean partition! there is no kernel / rom that will do that for you. :)
So errors are gathering slowly and some weird problems appear!
Well not any more :)
If no damage then no problems :) and no boot delay!.
*Added TAR kernel 3.2 for ODIN install to fix the recovery.
*Added new WIFI driver from SG3 :)
*Added ported changes to pegasusq GOV
*Tuned all profiles, (please reset and use one that you prefer.)
*New SD FAT32 driver from N7000 ported by Gokhanmoral
*CPU code restore, as was in 2.9 (no sod any more)
*Added fix_permissions script, you can run it via any terminal app or adb.
*Many drivers fixed by many devs, i have ported all :) Thanks to voku, gokhanmoral, myfluxi!
*New ZRAM compression from google, called snappy, it's use very little CPU to work. so ZRAM driver improved allot.
*Updated from source, recovery files and busybox.
*Reduced video ram from 32MB to 16MB, we had 9MB as default, so now more free ram shown. (try to run 1080p video and report if ok, or crap :) )
*Replaced WIFI driver from NOTE N7000 + fixes from lot of sources.
*Added BT drivers (more support, i hope it's will give someone any better compatibility with other devices.)
*Updated CPU code from source (siyah kernel)
*Tuned govs for more power save and performance. (ondemand + pegasusq) now back to ONDEMAND as DEFAULT.
*Added new option to dual mount sdcard+emmc via USB cable, and be able to use them in process of connection :) (one click connect)
See MISC tab in extweaks app :) after you disconnect usb, setting is released.
*Added new voltage code for GPU card and updated to source 3 N7000(NOTE) by myfluxi!
*Fixed STUCK after install on AOKP roms! (if you wait 60 sec with 2.8, rom will boot! now no wait, will boot as normal)
*New WIFI driver ported from N7000 (NOTE phone)
*New updated GPU driver (mali update 3)
*Tuned profiles, switched to pegasusq as default, (i am working on cool tweaking for it)
*Restored ntfs-3g if any one need it, + tweaks for it by gokhanmoral
*Some code fixing and settings tuning.
*Updated to 3.0.32 (lots of fixing)
*Updated new WIFI driver. (siyah kernel)
*Updated CPU code fixes from SOURCE(siyah kernel)
*Added all kind of tweaks and code fix from main line kernels.
*Improved support for SAMMY ROMS (ICS original)
*Improved battery drain, (Now Less drained on standby)
*Removed some addons that made SOD in many cases, now stable.
*Tuned my tweaks and scripts. (see initramfs) + updates from (siyah)
*Fixed init for MIUI roms, (restored + small changes)
*Added more cpu stability code from faux123
*Fixes to logger code and android binder.
*Messed allot with WIFI driver, work ok now.
*Tuned GPS permissions, should work now with non aokp roms.
*Added all new updates from all great devs :)
*fixed the init scripts to remove the encryption on boot.
*changed the charger voltage to 700mv and misc charger to 650, usb to 500.
cant be changed to different state via extweaks.
*compressed with XZ compression to allow moving all the modules inside the kernel image, now it's can be used as tar for odin.
*Added siyah in kernel name to activate dual boot support, as requested by Gokhan.
*tuned touch screen.
*tuned cpu
*tuned network
*updated recovery from ghokan.
*many new/updated drivers.
for full log see my git for initramfs and kernel.
kernel compressed with zlo the lowest compression for max speed.
so its was to big to fit the boot partition, i had to move the modules out of kernel.
so from version 2.3 you cant update via tar and odin.
so use recovery only.
or update the supplied modules to /system/lib/modules/
if you install via recovery, nothing needs to be done.
in case of emergency use 1.1 kernel in tar, then go to recovery and update to 2.X :)
*Tuned kernel for more battery saving
without reducing performance,
Now kernel will hold more in deep sleep.
*Switched to Linaro 12.4 gcc 4.7 toolchain. kernel is smaller now.
*Added CPU power management ported from NEXUS kernel.
*Made all kind of fixing and function exporting and cleaning warnings,
*Battery life improved by reducing activity in deep sleep, changes by myfluxi
*Added WIFI code fixes
*Added Network code fixes
*Tuned kernel tweak
*Added touch screen control by user, ground base code by myfluxi , now i need to put it to extweaks, still work to do..
*Updated to 3.0.31!
*Lots of cleanup and tuning to system tweaks,
*Lots of changes to recovery by gokhanmoral all for second rom and options to control it.
*Ported massive amount of code from sensation device kernel!
it's common Linux changes only, lots of bug fixing and function speedups!
see git, if you like something to read before bed :)
*Added some change to wifi to preserve more battery on sleep and wifi on.
*Fixed support for voodoo louder driver/app.
*Added lots of fixing to WIFI driver. see git.
*Fixed code for USB host and mouse/keyboard plug in.
*Added ability to change cpu min/max frequency in extweaks app.
*I have made huge amount of changes to kernel code, lots of ports from other great developers!
*tuned all profiles! you MUST clear profiles in recovery after install, and set one you like.
*For now we have static 15 CPU freq steps 1500->100, no change can be done without hot boot, so for stability i set it static.
*Added fix for cpu stats and stalls(hangs).
*New WIFI driver + lots of changes to it already.
*support for NTT-Docomo variant (you will need to “echo 16 > /proc/sys/kernel/rom_feature_set” to get gps working.
Step Table:
=========
5-steps: 1200, 1000, 800, 500, 200
6-steps: 1400, 1200, 1000, 800, 500, 200
7-steps: 1500, 1400, 1200, 1000, 800, 500, 200 (default.)
8-steps: 1600, 1400, 1200, 1000, 800, 500, 200, 100
9-steps: 1600, 1500, 1400, 1200, 1000, 800, 500, 200, 100
15-steps: 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100
Have fun
Information Page​
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 3.0.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Info about Cortexbrain-tune.sh and more!
# ==============================================================
# Logic Explanations
#
# This script will manipulate all the system / cpu / battery behavior
# Based on chosen EXTWEAKS profile+tweaks and based on SCREEN ON/OFF state.
#
# When User select battery/default profile all tuning will be toward battery save!
# But user loose performance -20% and get more stable system and more battery left.
#
# When user select performance profile, tuning will be to max performance on screen ON!
# When screen OFF all tuning switched to max power saving! as with battery profile,
# So user gets max performance and max battery save but only on screen OFF.
#
# This script change governors and tuning for them on the fly!
# Also switch on/off hotplug CPU core based on screen on/off.
# This script reset battery stats when battery is 100% charged.
# This script tune Network and System VM settings and ROM settings tuning.
# This script changing default MOUNT options and I/O tweaks for all flash disks and ZRAM.
#
# TODO: add more description, explanations & default vaules ...
#
# ==============================================================
# Explanations
# ==============================================================
#
# oom_kill_allocating_task: If this is set to zero, the OOM killer will scan through the entire tasklist and select a task based on heuristics to kill.
#
# This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed.
# If this is set to non-zero, the OOM killer simply kills the task that triggered the out-of-memory condition.
# This avoids the expensive tasklist scan.
#
# echo XXX > /proc/sys/vm/oom_kill_allocating_task;
# dirty_expire_centisecs: This tunable is used to define when dirty data is old enough to be eligible for writeout by the pdflush daemons.
#
# It is expressed in 100'ths of a second. Data which has been dirty in memory for longer than this interval will be written
# out next time a pdflush daemon wakes up.
#
# echo XXX > /proc/sys/vm/dirty_expire_centisecs;
# dirty_writeback_centisecs: The pdflush writeback daemons will periodically wake up and write "old" data out to disk.
#
# This tunable expresses the interval between those wakeups, in 100'ths of a second.
# Setting this to zero disables periodic writeback altogether.
#
# echo XXX > /proc/sys/vm/dirty_writeback_centisecs;
# drop_caches: Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
#
# To free pagecache:
# echo 1 > /proc/sys/vm/drop_caches
#
# To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
#
# To free pagecache, dentries and inodes:
# echo 3 > /proc/sys/vm/drop_caches
# page-cluster: page-cluster controls the number of pages which are written to swap in a single attempt. The swap I/O size.
#
# It is a logarithmic value - setting it to zero means "1 page", setting it to 1 means "2 pages", setting it to 2 means "4 pages", etc.
# The default value is three (eight pages at a time). There may be some small benefits in tuning this to
# a different value if your workload is swap-intensive. (default 3)
#
# echo XXX > /proc/sys/vm/page-cluster;
# laptop_mode: laptop_mode is a knob that controls "laptop mode". When the knob is set, any physical disk I/O
#
# (that might have caused the hard disk to spin up, see /proc/sys/vm/block_dump) causes Linux to flush all dirty blocks.
# The result of this is that after a disk has spun down, it will not be spun up anymore to write dirty blocks,
# because those blocks had already been written immediately after the most recent read operation.
# The value of the laptop_mode knob determines the time between the occurrence of disk I/O and when the flush is triggered.
# A sensible value for the knob is 5 seconds. Setting the knob to 0 disables laptop mode.
#
# echo XXX > /proc/sys/vm/laptop_mode;
# rr_interval: rr_interval or "round robin interval". This is the maximum time two SCHED_OTHER (or SCHED_NORMAL, the common scheduling policy)
#
# tasks of the same nice level will be running for, or looking at it the other way around, the longest duration two tasks
# of the same nice level will be delayed for. When a task requests cpu time, it is given a quota (time_slice) equal to the
# rr_interval and a virtual deadline, while increasing it will improve throughput, but at the cost of worsening latencies.
#
# echo XXX > /proc/sys/kernel/rr_interval;
# dirty_background_ratio: Contains, as a percentage of total system memory, the number of pages at which the pdflush background writeback daemon will
# start writing out dirty data.
#
# echo XXX > /proc/sys/vm/dirty_background_ratio;
# dirty_ratio: Contains, as a percentage of total system memory, the number of pages at which a process which is generating disk writes will itself start writing out dirty data.
#
# echo XXX > /proc/sys/vm/dirty_ratio;
# iso_cpu: Setting this to 100 is the equivalent of giving all users SCHED_RR access and setting it to 0 removes the ability to run any pseudo-realtime tasks.
#
# echo XXX > /proc/sys/kernel/iso_cpu;
# ===============
#
# Kernel-Settings
#
# ===============
# msgmni: The msgmni tunable specifies the maximum number of system-wide System V IPC message queue identifiers (one per queue).
#
# echo XXX > /proc/sys/kernel/msgmni;
# sem: This file contains 4 numbers defining limits for System V IPC semaphores. These fields are, in order:
#
# SEMMSL - the maximum number of semaphores per semaphore set.
# SEMMNS - a system-wide limit on the number of semaphores in all semaphore sets.
# SEMOPM - the maximum number of operations that may be specified in a semop(2) call.
# SEMMNI - a system-wide limit on the maximum number of semaphore identifiers.
#
# The default values are "250 32000 32 128".
#
# echo XXX XXX XXX XXX > /proc/sys/kernel/sem;
# ===============
#
# CPU-Settings
#
# ===============
# scaling_governor: Using Frequency Scaling Governors -> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
#
# -> http://publib.boulder.ibm.com/infoc...?topic=/liaai/cpufreq/TheOndemandGovernor.htm
#
# conservative - Increases frequency step by step, decreases instantly
# ondemand - Uses the highest CPU frequency when tasks are started, decreases step by step
# performance - CPU only runs at max frequency regardless of load
# powersave - CPU only runs at min frequency regardless of load
#
# echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# sched_latency_ns: Targeted preemption latency for CPU-bound tasks.
#
# echo XXX > /proc/sys/kernel/sched_latency_ns;
# sched_batch_wakeup_granularity_ns: Wake-up granularity for SCHED_BATCH.
#
# echo XXX > /proc/sys/kernel/sched_batch_wakeup_granularity_ns;
# sched_wakeup_granularity_ns: Wake-up granularity for SCHED_OTHER.
#
# echo XXX > /proc/sys/kernel/sched_wakeup_granularity_ns;
# sched_compat_yield: Applications depending heavily on sched_yield()'s behavior can expect varied performance because of the way CFS changes this, so turning on the sysctls is recommended.
#
# echo XXX > /proc/sys/kernel/sched_compat_yield;
# sched_child_runs_first: The child is scheduled next after fork; it's the default. If set to 0, then the parent is given the baton.
#
# echo XXX > /proc/sys/kernel/sched_child_runs_first;
# sched_min_granularity_ns: Minimum preemption granularity for CPU-bound tasks.
#
# echo XXX > /proc/sys/kernel/sched_min_granularity_ns;
# sched_features: NO_NEW_FAIR_SLEEPERS is something that will turn the scheduler into a more classic fair scheduler ?!?
#
# echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features;
# sched_stat_granularity_ns: Granularity for collecting scheduler statistics. [1/0]
#
# echo XXX > /proc/sys/kernel/sched_stat_granularity_ns;
# sched_rt_period_us: The default values for sched_rt_period_us (1000000 or 1s) and sched_rt_runtime_us (950000 or 0.95s).
#
# This gives 0.05s to be used by SCHED_OTHER (non-RT tasks). These defaults were chosen so that a run-away realtime
# tasks will not lock up the machine but leave a little time to recover it. By setting runtime to -1 you get the old behaviour back.
# threads-max: Gets/sets the limit on the maximum number of running threads system-wide.
#
# echo XXX > /proc/sys/kernel/threads-max;
# ===============
#
# Memory-Settings
#
# ===============
# swappiness: Swappiness is a parameter which sets the kernel's balance between reclaiming pages from the page cache and swapping process memory.
#
# The default value is 60. If you want kernel to swap out more process memory and thus cache more file contents increase the value.
# Otherwise, if you would like kernel to swap less decrease it. A value of 0 means "do not swap unless out of free RAM",
# a value of 100 means "swap whenever possible".
#
# echo XXX > /proc/sys/vm/swappiness;
# overcommit_memory: Controls overcommit of system memory, possibly allowing processes to allocate (but not use) more memory than is actually available.
#
# 0 - Heuristic overcommit handling.
# Obvious overcommits of address space are refused. Used for a typical system.
# It ensures a seriously wild allocation fails while allowing overcommit to reduce swap usage.
# root is allowed to allocate slighly more memory in this mode. This is the default.
# 1 - Always overcommit.
# Appropriate for some scientific applications.
# 2 - Don't overcommit.
# The total address space commit for the system is not permitted to exceed swap plus a
# configurable percentage (default is 50) of physical RAM. Depending on the percentage you use,
# in most situations this means a process will not be killed while attempting to use already-allocated memory but
# will receive errors on memory allocation as appropriate.
# overcommit_ratio: Percentage of physical memory size to include in overcommit calculations.
#
# Memory allocation limit = swapspace + physmem * (overcommit_ratio / 100)
#
# swapspace = total size of all swap areas
# physmem = size of physical memory in system
# vfs_cache_pressure: Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects.
#
# At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect
# to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches.
# Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.
#
# echo XXX > /proc/sys/vm/vfs_cache_pressure;
# min_free_kbytes: This is used to force the Linux VM to keep a minimum number of kilobytes free.
#
# The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved
# free pages based proportionally on its size.
#
# echo XXX > /proc/sys/vm/min_free_kbytes;
# ===============
#
# I/O-Settings
#
# ===============
# read_ahead_kb: Optimize for read-throughput (cache-value).
#
# example of C-program for finding correct vaules for Linux
# -> http://pastebin.com/Rg6qVJQH
#
# fifo_batch: Controls the maximum number of requests per batch.
#
# This parameter tunes the balance between per-request latency and aggregate
# throughput. When low latency is the primary concern, smaller is better (where
# a value of 1 yields first-come first-served behaviour). Increasing fifo_batch
# generally improves throughput, at the cost of latency variation.
# back_seek_max: This parameter, given in Kbytes, sets the maximum גdistanceג
#
# By default, this parameter is set to 16 MBytes.
# This distance is the amount of space from the current head location to the sectors that are backward in terms of distance.
# This idea comes from the Anticipatory Scheduler (AS) about anticipating the location of the next request.
# This parameter allows the scheduler to anticipate requests in the גbackwardג
nextג
# back_seek_penalty: This parameter is used to compute the cost of backward seeking.
#
# If the backward distance of a request is just (1/back_seek_penalty) from a גfrontג
# the seeking cost of the two requests is considered equivalent and the scheduler will not bias toward one or the other
# (otherwise the scheduler will bias the selection to גfront direction requests).
# Recall, the CFQ has the concept of elevators so it will try to seek in the current direction as much as possible to avoid the latency associated with a seek.
# This parameters defaults to 2 so if the distance is only 1/2 of the forward distance, CFQ will consider the backward request to be close enough
# to the current head location to be גcloseג
# fifo_expire_async: This particular parameter is used to set the timeout of asynchronous requests.
#
# Recall that CFQ maintains a fifo (first-in, first-out) list to manage timeout requests.
# In addition, CFQ doesnגt check the expired requests from the fifo queue after one timeout is dispatched (i.e. there is a delay in processing the expired request).
# The default value for this parameter is 250 ms. A smaller value means the timeout is considered much more quickly than a larger value.
# fifo_expire_sync: This parameter is the same as fifo_expire_async but for synchronous requests.
#
# The default value for this parameter is 125 ms.
# If you want to favor synchronous request over asynchronous requests, then this value should be decreased relative to fifo_expire_asynchronous.
# slice_sync: Remember that when a queue is selected for execution, the queues IO requests are only executed for a certain amount of time (the time_slice) before switching to another queue.
#
# This parameter is used to calculate the time slice of the synchronous queue.
# The default value for this parameter is 100 ms, but this isnגt the true time slice.
# Rather the time slice is computed from the following: time_slice = slice_sync + (slice_sync / 5 * 4 ג io_priority)).
# If you want the time slice for the synchronous queue to be longer (perhaps you have more synchronous operations), then increase the value of slice_sync.
# slice_async: This parameter is the same as slice_sync but for the asynchronous queue.
#
# The default is 40 ms. Notice that synchronous operations are preferred over asynchronous operations.
# slice_asyn_rq: This parameter is used to limit the dispatching of asynchronous requests to the device request-queue in queueגs slice time.
#
# This limits the number of asynchronous requests are executed (dispatched).
# The maximum number of requests that are allowed to be dispatched also depends upon the io priority.
# The equations for computing the maximum number of requests is, max_nr_requests = 2 * (slice_async_rq + slice_async_rq * (7 ג io_priority)). The default for slice_async_rq is 2.
# slice_idle: This parameter is the idle time for the synchronous queue only.
#
# In a queueגs time slice (the amount of time operations can be dispatched), when there are no requests in the synchronous queue CFQ will not switch to another queue
# but will sit idle to wait for the process creating more requests. If there are no new requests submitted within the idle time, then the queue will expire.
# The default value for this parameter is 8 ms. This parameters can control the amount of time the schedulers waits for synchronous requests.
# This can be important since synchronous requests tend to block execution of the process until the operation is completed. Consequently,
# the IO scheduler looks for synchronous requests within the idle window of time that might come from a streaming video application or something that needs synchronous operations.
# quantum: This parameter controls the number of dispatched requests to the device queue, request-device (i.e. the number of requests that are executed or at least sent for execution).
#
# In a queueגs time slice, a request will not be dispatched if the number of requests in the device request-device exceeds this parameter.
# For the asynchronous queue, dispatching the requests is also restricted by the parameter slice_async_rq. The default for this parameter is 4.
# ===============
#
# BFQ-Settings
#
# ===============
# timeout_sync, timeout_async: The maximum amount of disk time that can be given to a task once it has been selected for service, respectively for synchronous and asynchronous queues.
#
# It allows the user to specify a maximum slice length to put an upper bound to the latencies imposed by the scheduler.
# max_budget: The maximum amount of service, measured in disk sectors, that can be provided to a queue once it is selected (of course within the limits of the above timeouts).
#
# According to what we said in the description of the algoritm, larger values increase the throughput for the single tasks and for the system,
# in proportion to the percentage of sequential requests issued. The price is increasing the maximum latency a request may incur in.
# The default value is 0, which enables auto-tuning: BFQ tries to estimate it as the maximum number of sectors that can be served during timeout_sync.
# max_budget_async_rq: In addition to the max_budget, limit, async queues are served for a maximum number of requests, after that a new queue is selected.
# low_latency: If equal to 1 (default value), interactive and soft real-time applications are privileged and experience a lower latency.
# more Informations can be found here -> http://doc.opensuse.org/documentation/html/openSUSE/opensuse-tuning/part.tuning.kernel.html
NEW KERNEL NEW KERNEL \/
ram3n said:
Hey welcome matey,
Nice to see another awesome kernel.
Hope you the best!
Sure this one will rock against siyah.
Cheers
Sent via my s2 monster
Click to expand...
Click to collapse
You fast!
I added 2 post for more info..
If you took the second page, i will ask you in future to add some stuff about kernel for all people
thanks dorimanx
now i will try your kernel
can i use setcpu to set cpu Govs?
thank you
robertus23 said:
thanks dorimanx
now i will try your kernel
can i use setcpu to set cpu Govs?
thank you
Click to expand...
Click to collapse
yes you can, all that you want, will work
Freedom for all
thank you dorimanx
dorimanx said:
yes you can, all that you want, will work
Freedom for all
Click to expand...
Click to collapse
If I remember your kernel from the htc hd2 then I'll expect nothing less
Will test it and report back as soon as possible :]
Welcome!
Have a good day :]
Good to see you here dorimanx. Loved the hd2 kernels!
Sent from my GT-I9100 using xda premium
This is bomb ... Bomb kernel for all ics Rom... see its benchmark...!! Its really a beast of all kernel...
What about zram? How to check and activate..? Till today I cud not get it to work on your pre release kernel... sorry..!! I will wait for it..
TapaTalk Gnex Galaxy Sii
so far everything work perfect-it's mega speed kernel,no UV,no set cpu and bench is 4813 on quadrand
fantastic
thanks
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
dorimanx said:
You fast!
I added 2 post for more info..
If you took the second page, i will ask you in future to add some stuff about kernel for all people
Click to expand...
Click to collapse
Haha, Yep others always call me The Fast
No problem mate, I will do it
buzzboy said:
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
Click to expand...
Click to collapse
thanks! it's nice to be remembered!
My HD2 kernel and ROM still supported by me.
I am now in two fronts
Enjoy new power for SG2
I will try to make it best for all to enjoy!
Please report any bugs or suggestions,
I will do my best to add/fix all i can.
Do this kernel works on AOKP based roms?? Thanks
GLunPy said:
Do this kernel works on AOKP based roms?? Thanks
Click to expand...
Click to collapse
Yes !
10 chars
Sent from my GT-I9100 using xda premium
how about aosp? i tried it now but unfortunately almost bricked my device. installed via cwm, restarted and screen went all pixelated and stuck on bootscreen with battery heating up fast
buzzboy said:
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
Click to expand...
Click to collapse
Sounds good I'm currently so satisfied with my setup that I ain't flashing nothing, but I will definitly keep an eye on this thread.
dead0 said:
how about aosp? i tried it now but unfortunately almost bricked my device. installed via cwm, restarted and screen went all pixelated and stuck on bootscreen with battery heating up fast
Click to expand...
Click to collapse
what rom do you have?
is it ICS based?
I have tested on CM9, and Original Samsung ICS,
It's configured for MIUI also.. (I didnt tried yet)

[Kernel][Jan 12]Experimental v12 [JB 4.1.2]

This kernel is self-used.
So something has not been added.
If you want,just tell me and problem you encounter.
Kernel Features:
General:
- Kernel version 3.0.y
- 390MB RAM
- Useful optimization flags
- jRCU [Joe Korty]
- Dynamic dirty page writebacks
- Timer slack controller
- Dynamic management of the minimal timer slack value during suspend/resume
- LowMemoryKiller management of not killable processes
- Android Logger Disabled(++Performance) (Check HOW TO on how-to enable)
- Frandom Read Me!
- Entropy tweaks.
- Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB).
- CWM 5
- LZ4 for Zram swap.
- Elf.3 included for better battery.
- DVFS(Dynamic Voltage and Frequency Scaling).What is DVFS? [Cocafe]
- Disable sched debug stuff
- Optimized SLUB memory allocator
- Optimized ARM RWSEM
- Low memory killer updated to Android 3.10
- Do not kill process
- ARM ThumbEE
- Build with neon
- Remove old version sha1 implementation
- Optimized AES and SHA1 routines for ARM cpu architecture
- Optimized string and memcopy libs
- Ram Console support
- L2 cache max reads writable
- Disable mali state tracking
I/O and Filesystem
SIOplus
CFQ
Deadline
ROW
V(R)
Zen
Noop
CPU
Pegasusq
Conservative
Ondemand
Performance
Interactive
Lazy
Wheatley
Sakuractive
Hotplug
SmartAssV2
Lionheart
Lulzactiveq
Nightmare
Dyninteractive
Download:
Experimental Kernel Stock:
ExperimentalSTOCK-12
Experimental Kernel CM10:
Experimental-CM10-12
Experimental Kernel ASOP:
ExperimentalASOP-12
MIUI v5 Kernel by akkufix:
MIUI v5 Kernel
Module Content::
Logger(Read How-to enable it)
CIFS(Required for SAMBA server)
and other non essential module
Credits:
Cocafe
Mujeni
Akkufix
alivanov79
stratosk
Christopher83
Source:
Github
Changelog:
12/01/2014
-clean and fixed source
-UKSM(disbaled by default)
-ABBamp Audio(thanks @cocafe)
-SLQB memory allocator
11/12/2013
-removed all experimental stuff
-removed DVFS
-fixes and tweaks
04/12/2013
-updated source to 3.0.101
-changed default lmk values
-KSM
-fix and tweaks
07/11/2013:
-fixed reboot problem
-remove compressed copy from zram in-memory
-backport zram from 3.7 kernel
-backport zsmalloc from 3.7 kernel
-lz4 compression for zram
-lz4 compressor module
-lz4 Cryptographic API
-included more Governor
-included more IO scheduler
14/10/2013:
- Change rcu to jRCU for reduced RCU memory usage and optimized for multi-core CPU
- SLQB slab allocator
- Memory compaction
- Built with -O3 optimization flag (both kernel and modules)
- Dynamic dirty page writebacks
- Dynamic management of the minimal timer slack value during suspend/resume
- Change default LMK minfree vlaues.
- Tweak VM params
- Updated governor
- Tweaked IO scheduler
04/09/2013
-Clean Source
-Kexec support
-Automatic zipalign and fstrim
-Not Killable Processes
08/08/2013
-DVFS
-zcache updated to 3.8
-ZRAM updated to 3.8
-replace xvmalloc with zsmalloc used by zcache and zram from 3.8 kernel
-tweak and fixes
31/07/2013
-added dyninteractive
-Tweak and fixed (rwsem,mutex,binder,etc)
-390MB RAM
-Removed DVFS
-XZ kernel compression
20/07/2013
-600mhz added back again
-added HotplugX and Lazy governor
-revert back to 385MB RAM(since lots of user are having random reboot problem)
18/07/2013
-fined tune DVFS...so no more lag with lower freq
-no more random reboot
-added Sakuractive governor
-added SIOplus IO
-increased RAM to 390MB
01/07/2013
-DVFS(Dynamic Voltage and Frequency Scaling)
-Fixes the freq bug(you can now set max and min.check out HOW-TO)
-Better Battery Life
-Hotplug governor cleanup
-388RAM(Much Stable)
-Tweaks
-Added reference 05exp init.d script
25/06/2013
Verison 7.0
-Updated kernel to 6.2.A.1.100
-Auto Hotplug
-CWM5
-Optimized crypto for ARM
-OOM Fixes
-Removed some governor
-Added some governor
-Bug and Fixes
12/06/2013
Version 6b
-390MB RAM
-added Lulzactivew,Lulzactiveq and Lazy Governor
-added zen and row IO
-minor fixes
Version 5
-Started from sratch
-Added 600Mhz
Experimental:
-ported and tweaked some Governor(Hyper,Dynainteractive,InteractiveX,Pegasusq,Hotplug,Interactive) for sola from latest Nexus kernel.
-Tweaks and fixes
07/06/2013
Version 4
-Added some new governor
-Remove some mali tweak
-Removed some governor
-Fixes
05/06/2013
Version 3
-Compiled using latest Linaro 4.8 with optimisation
-Frandom as module
-Logger compiled as module(free up some memory)
-other fix and tweak
04/06/2013
Version 2
-Fix Mali Tweak
03/06/2013:
Version 1
-Initial Version
HOW TO:
Here are some intructions/tips about how to play with the kernel.
Terminal is needed.
If you want to change the values,it needs su permission.
If you get 'Permisson denied',you need su permisson.
If the devices lost responses,hold power button 8s to reboot.
You can cd to the folder first,then do echos.
( CPU Freqs )
With DVFS,we cannot tweak min/max scale freqs via apps like SetCPU or nofrill.
but there are two ways you can change cpu freq:
by using this app
[APP][ROOT][4.0+] Performance Control - Open Source
Click to expand...
Click to collapse
or
by using terminal
cd /sys/power
Click to expand...
Click to collapse
For example: set 800Mhz as max limited
echo 800000 > cpufreq_max_limit
Click to expand...
Click to collapse
* When you switch on/off,power saving mode,this tweak will be overrided.
* If you want it to be permanet edit 05exp file in init.d.
No-fills CPU shows a wrong freqs
This is NOT issue. No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
ABBamp Audio
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why do i call it `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
Quote:
/sys/kernel/abbamp
Click to expand...
Click to collapse
* Use RootExplorer to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View(cat) these files, most of them will give you useful infomation about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abbamp first then do echos, will be more convenient.
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Not Killable Processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
[APP][ROOT][4.0+] Performance Control - Open Source
Logcat
I have made android logger(logcat) as module to free more RAM.
Create a new init.d script:
Quote:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
Click to expand...
Click to collapse
Then you can use logcat command.
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Quote:
0 0 android
0 1 mali
Click to expand...
Click to collapse
To
Quote:
0 0 mali
Click to expand...
Click to collapse
Init.d script
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permisson of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permisson 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permisson will be runned when system boots.
zRAM/SWAP
zRAM is optimized for Android. It is not lazy anymore.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100 mb.
Setup disksize first: (example: 96mb= 96×1024×1024)
echo 100663296 > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* Larger size more RAM will be compressed.
* Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
Enable:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
Last_dmesg
Some Help about posting kernel bugs -last_kmsg:
After you have a random reboot do this to get last_kmsg.txt file:
- via Terminal Emulator apk form play store : do
this:
Open the app, type:
su
Click to expand...
Click to collapse
hit enter.
type(withoutall the spaces) :
cat(space)/proc/last_kmsg(space)>(space)/sdcard/last_kmsg.txt
Click to expand...
Click to collapse
and hit enter.Then go to your internal memory with any
file explorer and you will finde the last_kmsg file
and please post it here.
UKSM
UKSM is more advanced than KSM algorithm which is developed by Chinese.
UKSM is faster 20x than KSM, and it has been disabled by default.
Here is a document about HOW-TO use UKSM in its WebSite.
http://kerneldedup.org/en/projects/u...ge/usage0-1-2/
if you want stop uksm run:
echo 0 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
for (re)activating:
echo 1 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
* I have set cpu_governor mode to quiet by default in order to get smooth.
* If feel laggy, try to disable UKSM.
etch04 said:
FAQ
Click to expand...
Click to collapse
what version?
v3.0.08?
Flashed.. kernel is very smooth with excperience rom
no bads so far..
will provide feedback soon
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
dwaipayanray95 said:
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Click to expand...
Click to collapse
No you can not overclock your gpu but tweak some parameter like l2 cache which can improve performance a bit when used with right setting. I'll update the post soon on how to do it.
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
rakz992 said:
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
Click to expand...
Click to collapse
Interactive is included, I just forgot to include it on the post.
dwaipayanray95 said:
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
Click to expand...
Click to collapse
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
etch04 said:
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
Click to expand...
Click to collapse
Okay thanks
WIll report soon!
Testing!!
worked
Sent from Mayudroid
could u please make your kernel with touch CWM?
because in 6.0.2.8 doesnt work mounting SD-card and Internal memory...
Everything is smooth.. No much battery drain.. Sched_mc_power_savings is missing in sys/devices/system/cpu... Fine job :thumbup:
Sent from my MT27i using xda app-developers app
if it can help you
Commits for gpu clock control interface (MALI400)
So far very good, for me the the best battery life on JB and very smooth and stable. No glitches or hiccups.
Keep it up. Very good job.
Pegasusq/Sio...
Eth4n said:
if it can help you
Commits for gpu clock control interface (MALI400)
Click to expand...
Click to collapse
I don't think it possible right now because it need platform specific dvfs interface.the link u posted is above is for exynos and it would not work with ux500.there is no working implementation of ux500 of which I know and it beyond me implement it.
I gonna try this kernel. BTW will you add Linaro optimizations and frandom? This kernel will be smoother with them
Sent by typing on my Xperia Sola with my fingers using xda premium

[Kernel][Jan 14]Experimental v12[JB 4.1.2]

This kernel is self-used.
So something has not been added.
If you want,just tell me and problem you encounter.
Kernel Features:
General:
- Kernel version 3.0.y
- 390MB RAM
- Useful optimization flags
- jRCU [Joe Korty]
- Dynamic dirty page writebacks
- Timer slack controller
- Dynamic management of the minimal timer slack value during suspend/resume
- LowMemoryKiller management of not killable processes
- Android Logger Disabled(++Performance) (Check HOW TO on how-to enable)
- Frandom Read Me!
- Entropy tweaks.
- Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB).
- CWM 5
- LZ4 for Zram swap.
- Elf.3 included for better battery.
- DVFS(Dynamic Voltage and Frequency Scaling).What is DVFS? [Cocafe]
- Disable sched debug stuff
- Optimized SLUB memory allocator
- Optimized ARM RWSEM
- Low memory killer updated to Android 3.10
- Do not kill process
- ARM ThumbEE
- Build with neon
- Remove old version sha1 implementation
- Optimized AES and SHA1 routines for ARM cpu architecture
- Optimized string and memcopy libs
- Ram Console support
- L2 cache max reads writable
- Disable mali state tracking
I/O and Filesystem
SIOplus
CFQ
Deadline
ROW
V(R)
Zen
Noop
CPU
Pegasusq
Conservative
Ondemand
Performance
Interactive
Lazy
Wheatley
Sakuractive
Hotplug
SmartAssV2
Lionheart
Lulzactiveq
Nightmare
Dyninteractive
Download:
Experimental v12
Credits:
cocafe
Mujeni
stratosk
Christopher83
xx214718247
Source:
Github
Changelog:
14/01/2014
-clean and fixed source
-UKSM(disbaled by default)
-ABBamp Audio(thanks @cocafe)
-SLQB memory allocator
-CWM 6
12/12/2013
-removed all experimental stuff
-removed DVFS
-white cwm touch
-fixes and tweaks
04/12/2013
-updated source to 3.0.101
-changed default lmk values
-KSM
-fix and tweaks
11/11/2013:
-fixed reboot problem
-remove compressed copy from zram in-memory
-backport zram from 3.7 kernel
-backport zsmalloc from 3.7 kernel
-lz4 compression for zram
-lz4 compressor module
-lz4 Cryptographic API
-included more Governor
-included more IO scheduler
27/09/2013
-interactive gov updated
-compiled usung linaro 4.8.2
-O3 optimisation
20/09/2013
-Clean Source
-Kexec support
-Dynamic dirty page writebacks
-Dynamic management of the minimal timer slack value during suspend/resume
-Automatic zipalign and fstrim
-Not Killable Processes
-DVFS(Dynamic Voltage and Frequency Scaling)
-added dyninteractive
-added Sakuractive governor
-added SIOplus IO
-increased RAM to 390MB
-600mhz freq
-added HotplugX and Lazy governor
19/06/2013
Version 8.0
-kernel updated to 6.2.A.1.100
-fixed led permission
-fixed camera
-changed CWM recovery
-Minor Tweaks
Version 6b
-390MB RAM
-added Lulzactivew,Lulzactiveq and Lazy Governor
-added zen and row IO
-minor fixes
Version 5
-Started from sratch
-Added 600Mhz
Experimental:
-ported and tweaked some Governor(Hyper,Dynainteractive,InteractiveX,Pegasu sq,Hotplug,Interactive) for sola from latest Nexus kernel.
-Tweaks and fixes
07/06/2013
Version 4
-Added some new governor
-Remove some mali tweak
-Removed some governor
-Fixes
05/06/2013
Version 3
-Compiled using latest Linaro 4.8 with optimisation
-Frandom as module
-Logger compiled as module(free up some memory)
-other fix and tweak
04/06/2013
Version 2
-Fix Mali Tweak
03/06/2013:
Version 1
-Initial Version
TODO:
1.Update to latest kernel version
2.Add/Remove governor
4.Fsync control
5.Add more TCP congestions
3.More features
HOW TO:
Here are some intructions/tips about how to play with the kernel.
Terminal is needed.
If you want to change the values,it needs su permission.
If you get 'Permisson denied',you need su permisson.
If the devices lost responses,hold power button 8s to reboot.
You can cd to the folder first,then do echos.
( CPU Freqs )
With DVFS,we cannot tweak min/max scale freqs via apps like SetCPU or nofrill.
but there are two ways you can change cpu freq:
by using this app
[APP][ROOT][4.0+] Performance Control - Open Source
Click to expand...
Click to collapse
or
by using terminal
cd /sys/power
Click to expand...
Click to collapse
For example: set 800Mhz as max limited
echo 800000 > cpufreq_max_limit
Click to expand...
Click to collapse
* When you switch on/off,power saving mode,this tweak will be overrided.
* If you want it to be permanet edit 05exp file in init.d.
No-fills CPU shows a wrong freqs
This is NOT issue. No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
ABBamp Audio
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why do i call it `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
Quote:
/sys/kernel/abbamp
Click to expand...
Click to collapse
* Use RootExplorer to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View(cat) these files, most of them will give you useful infomation about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abbamp first then do echos, will be more convenient.
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Not Killable Processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
[APP][ROOT][4.0+] Performance Control - Open Source
Logcat
I have made android logger(logcat) as module to free more RAM.
Create a new init.d script:
Quote:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
Click to expand...
Click to collapse
Then you can use logcat command.
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Quote:
0 0 android
0 1 mali
Click to expand...
Click to collapse
To
Quote:
0 0 mali
Click to expand...
Click to collapse
Init.d script
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permisson of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permisson 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permisson will be runned when system boots.
zRAM/SWAP
zRAM is optimized for Android. It is not lazy anymore.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100 mb.
Setup disksize first: (example: 96mb= 96×1024×1024)
echo 100663296 > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* Larger size more RAM will be compressed.
* Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
Enable:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
Last_dmesg
Some Help about posting kernel bugs -last_kmsg:
After you have a random reboot do this to get last_kmsg.txt file:
- via Terminal Emulator apk form play store : do
this:
Open the app, type:
su
Click to expand...
Click to collapse
hit enter.
type(withoutall the spaces) :
cat(space)/proc/last_kmsg(space)>(space)/sdcard/last_kmsg.txt
Click to expand...
Click to collapse
and hit enter.Then go to your internal memory with any
file explorer and you will finde the last_kmsg file
and please post it here.
UKSM
UKSM is more advanced than KSM algorithm which is developed by Chinese.
UKSM is faster 20x than KSM, and it has been disabled by default.
Here is a document about HOW-TO use UKSM in its WebSite.
http://kerneldedup.org/en/projects/u...ge/usage0-1-2/
if you want stop uksm run:
echo 0 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
for (re)activating:
echo 1 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
* I have set cpu_governor mode to quiet by default in order to get smooth.
* If feel laggy, try to disable UKSM.
reserved
Will try it out soon. Please add Lionheart.
Seems good :good:
1)Recovery is 6.0.1.2
2) Recovery usb mount does not work
I will definitely test and report. You look pretty good at what you do. I like that you are thorough to explain what you have included.
Sent from my ST25i using xda app-developers app
I don't own this device...so it would be great if somebody would test and report back.
Going to flash I ll report soon..
Sent from my Xperia U JB
1)Recovery is 6.0.1.2
2) Recovery usb mount does not work
3)Battery running quickly
I see in your changelog you've changed RAM amount, AFAIK our GPU uses 120 MB of RAM. I wonder if it would be worth it to downgrade RAM amount for GPU to like 100? Or even 80 MB of RAM, so our system would have more, like 400 MB.
Wiplive said:
I see in your changelog you've changed RAM amount, AFAIK our GPU uses 120 MB of RAM. I wonder if it would be worth it to downgrade RAM amount for GPU to like 100? Or even 80 MB of RAM, so our system would have more, like 400 MB.
Click to expand...
Click to collapse
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
etch04 said:
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
Click to expand...
Click to collapse
Wow 400MB!!! I think I could not play games and he video in order to have 400mb of free ram!!
Inviato dal mio Xperia U con Tapatalk 2
could you add wheatley governor? and maybe a smart overclock
i love your long and detailed first post
manuel100 said:
could you add wheatley governor? and maybe a smart overclock
i love your long and detailed first post
Click to expand...
Click to collapse
Sure i'll add it..but can somebody give me confirmation that kernel is working or not?.
etch04 said:
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
Click to expand...
Click to collapse
can you make this version? advance thanks if yes :good:
dont want to play games or video playback but Xperia U will work fast...hope you make one
etch04 said:
Sure i'll add it..but can somebody give me confirmation that kernel is working or not?.
Click to expand...
Click to collapse
Yes its working pretty good..
The games seem more responsive dnt knw why maybe a placebo effect..
But I guess u will have to work on it to tweak for gaming..
Hve tested it for hardly some time so cant say abt battery..
But this kernel looks really promising..
Keep up the development..
Good work..
Sent from my ST25i
this kernel is for stock right? because i'm getting bootloop on cm10
Wow any screen of ram(poxible totally free)
---Signature---
I'M Busy With Exams Till First Of July, So Don'T Ask Me Any Update Or Support, Byee!
---End---
arnob_xperia said:
can you make this version? advance thanks if yes :good:
dont want to play games or video playback but Xperia U will work fast...hope you make one
Click to expand...
Click to collapse
Maybe,I will upload alternate kernel with 400MB ram for user who does not
Play games or watch hd video.

[KERNEL][3.4.109][10/03/15] UBER-L | LINARO & UBERTC 4.9.4 -O3 Graphite F2FS

​
Hey Everyone,
I'm by no means a pro at kernel building but I've put lots of effort into this kernel so I thought I'd share it with you. After a very long inner conflict period I've decided to post in the android development forum instead of the original android development. I've included features of my own as well as patches and other features of many other top notch kernel developers. I would prefer if you make your way over to my source (link below) and read the commits so you can get to know them and how they have contributed but alas I not that naive enough to think any of you really would actually go and do that so I've included a nice feature list in post 2 with proper credits (at least for the big stuff).
I am a huge fan of giving you options which is why I build my kernel with multiple toolchains and multiple sound options for you to test out and decide which option you find works best for you.
I also made a Release Folder that contains kernels that do not contain any CPU or GPU overclock to keep things more stable for you. This kernel is built with UBERTC 4.9.4 since I feel like that give the best battery. Choose this option for stability.
I frequently get asked if this kernel works with the many AOSP projects. The answer is YES! I haven't found an AOSP ROM yet that won't boot with this kernel. The only potential issue is that the ROM you flashed this kernel with has modified the ramdisk from stock or doesn't have a root containing sepolicy for Lollipop. Make sure to flash back to a stock ROOTED kernel and then flash UBER. My kernel uses you ramdisk while flashing for great ROM compatibility but sometimes this backfires.
Do not flash on CM or CM-based ROMs! This kernel is not currently compatible with those "CAF-based" ROMs.
WARNING!!! Even though I don't post anything unless it works (in this case on most if not all AOSP ROMs) I still don't want to be liable for user errors. In other words, if you flash one of these Kernels your warranty is void and I AM NOT RESPONSIBLE for any data loss or bricked devices etc.
For more info see this video
​
[AOSP 5.1 UBER KERNEL LINKS]
Mirror #1: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER-L/
Mirror #2: https://renderserver.net/browse?path=Cl3Kener/HAMMERHEAD/UBER-L
Mirror #3: uber.oceighty.co/HAMMERHEAD/UBER-L/
If you still want access to Kitkat Kernels Go to:: https://s.basketbuild.com/devs/Cl3Kener/HAMMERHEAD/UBER/
Comprehensive Changelog of Everything (Aka Source Code)
https://github.com/Cl3Kener/UBER-L/commits/master
Code:
[SIZE=4]
[B][SIZE="6"]UBER Changelogs[/SIZE][/B]
[B]10/03/15[/B]
- 3.4.109
- F2FS updates
- Backlight Dimmer from Kitkat Kernel Returns!
- KCAL updates
- Better BFQ/CFQ tunings
[B]09/18/15[/B]
- Enable BFQIO Cgroup
- Merge android-msm-hammerhead-3.4-lollipop-mr1.1 tag (no significant change)
- Remove UBERTC 4.8.5 Kernel and add UBERTC 5.2.1 Faux and Francosound versions
- Update Toolchains to 9/18/15 Snapshot
[B]09/11/15[/B]
- Returned SELinux Toggle to CFG (it was removed on accident)
- 8555f12 lz4: fix system halt at boot kernel on x86_64
- 264f011 Makefile: sort list of defconfig targets in make help output
- 7cc54ca kbuild: remove warning about "make depend"
[B]09/05/15[/B]
- Merge latest F2FS from upstream
- Kernel source bump to 3.4.108
- Update Toolchains to 9/5 (see github.com/UBERTC for details)
- Other misc bug fixes
[B]5/13/15[/B]
6cb9d79 f2fs: fix counting the number of inline_data inodes
f2f065b f2fs: don not re-lookup nat cache with same nid
189ca9c f2fs: remove unneeded f2fs_make_empty declaration
29b6fe9 f2fs: issue discard with finally produced len and minlen
611b6ee f2fs: introduce discard_map for f2fs_trim_fs
55efe4c f2fs: revmove spin_lock for write_orphan_inodes
30a0e33 f2fs: split find_data_page according to specific purposes
aa6141b f2fs: add need_dentry_mark
11a3834 f2fs: fix race on allocating and deallocating a dentry block
9f96171 f2fs: introduce dot and dotdot name check
e37bfdd f2fs: move get_page for gc victims
4dc9fb0 f2fs: add sbi and page pointer in f2fs_io_info
ccd6bae f2fs: add f2fs_may_inline_{data, dentry}
6779a11 f2fs: clean up f2fs_lookup
b60987f f2fs: introduce f2fs_commit_super
21087dc f2fs: add f2fs_map_blocks
36ec73a f2fs: add feature facility in superblock
a907c38 f2fs: move existing definitions into f2fs.h
06efb1d f2fs: add missing version info in superblock
39ee8dd f2fs: fix not to check IS_ERR for null pointer
aa9f5f4 f2fs: make has_fsynced_inode static
8ef6ea8 f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
5cc5ac1 f2fs: use is_valid_blkaddr to verify blkaddr for readability
b5731af f2fs: fix wrong error hanlder in f2fs_follow_link
41a82f9 Revert "f2fs: enhance multi-threads performance"
74e1c0f Defconfig: Use XZ Compression
3296fd2 Defconfig: Use regular gzip compression
9c0a666 ipv4: Missing sk_nulls_node_init() in ping_unhash().
4213a5d SELinux: ss: Fix policy write for ioctl operations
a317da7 seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
73d6b2c nf: IDLETIMER: Adds the uid field in the msg
b0064e6 ARM: add documentation for finding start of physical memory
4609cfd ARM: 8294/1: ATAG_DTB_COMPAT: remove the DT workspace's hardcoded 64KB size
40a96c1 ARM: 8191/1: decompressor: ensure I-side picks up relocated code
f53b231 ARM: compressed/head.S: remove s3c24xx special case
950e423 hashtable: introduce a small and naive hashtable
bd0707b lib/lz4: Pull out constant tables
666f751 SELinux: use deletion-safe iterator to free list
057b63c SELinux: per-command whitelisting of ioctls
e979523 security: lsm_audit: add ioctl specific auditing
b813589 SELinux: Update policy version to support constraints info
d464f89 SELinux: add default_type statements
6be5d3b SELinux: allow default source/target selectors for user/role/range
9529eb0 selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
efff44c selinux/nlmsg: add XFRM_MSG_MAPPING
d1d6e3b selinux/nlmsg: add XFRM_MSG_MIGRATE
1c24c4a selinux/nlmsg: add XFRM_MSG_REPORT
19bf436 selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
bb0858e selinux/nlmsg: add XFRM_MSG_GETSPDINFO
cfe7f96 selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
27c0a2f pstore: selinux: add security in-core xattr support for pstore and debugfs
7380a43 f2fs:sync with upstream branch
b0afd9f VFS: Make more complete truncate operation available to CacheFiles
[B]4/24/15[/B]
129daf9 Revert "usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller"
41003d9 Linux 3.4.107
5af9f19 PCI: Handle read-only BARs on AMD CS553x devices
b167462 lib/checksum.c: fix build for generic csum_tcpudp_nofold
0f3307a mm: fix anon_vma->degree underflow in anon_vma endless growing prevention
419bc8f net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour
e370ccd nilfs2: fix deadlock of segment constructor during recovery
26c0d38 spi: dw: revisit FIFO size detection again
79940b6 ntp: Fixup adjtimex freq validation on 32-bit systems
6a5e559 s390/3215: fix tty output containing tabs
84630a5 x86, cpu, amd: Add workaround for family 16h, erratum 793
fc431d8 fsnotify: next_i is freed during fsnotify_unmount_inodes.
c7d8a3b net:socket: set msg_namelen to 0 if msg_name is passed as NULL in msghdr struct from userland.
7fbd1ca sched/rt: Reduce rq lock contention by eliminating locking of non-feasible target
cf11b56 Bluetooth: ath3k: workaround the compatibility issue with xHCI controller
53b3052 staging: comedi: cb_pcidas64: fix incorrect AI range code handling
99ce0af ipvs: rerouting to local clients is not needed anymore
294b66d jfs: fix readdir regression
dd3ef12 pagemap: do not leak physical addresses to non-privileged userspace
418605d Drivers: hv: vmbus: incorrect device name is printed when child device is unregistered
1f833bc nilfs2: fix deadlock of segment constructor over I_SYNC flag
bad8e6c ASoC: sgtl5000: add delay before first I2C access
d481c9e net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param
faca147 net: sctp: fix NULL pointer dereference in af->from_addr_param on malformed packet
27fb1ba gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
407e221 gpio: sysfs: fix memory leak in gpiod_export_link
b9c0ed3a MIPS: Fix kernel lockup or crash after CPU offline/online
383e2c7 caif: remove wrong dev_net_set() call
0a533c8 lib/checksum.c: fix carry in csum_tcpudp_nofold
a096ac4 ALSA: ak411x: Fix stall in work callback
2c43d74 ASoC: atmel_ssc_dai: fix start event for I2S mode
93625b6 MIPS: IRQ: Fix disable_irq on CPU IRQs
b8efe516 x86, mm/ASLR: Fix stack randomization on 64-bit systems
666b625 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
af58a41f net: sctp: fix panic on duplicate ASCONF chunks
61294cb vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS
dd37b66 vm: add VM_FAULT_SIGSEGV handling support
31eae22 ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too
afd1787 net: sctp: fix slab corruption from use after free on INIT collisions
7e346ae ALSA: seq-dummy: remove deadlock-causing events on close
1cc70a9 drm/i915: Only fence tiled region of object.
dbabba0 USB: Add OTG PET device to TPL
32a4cb1 usb-core bInterval quirk
c3dbb4a usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller
3e2ff0a nl80211: fix per-station group key get/del and memory leak
9048158 powerpc/xmon: Fix another endiannes issue in RTAS call from xmon
284dbe8 regulator: core: fix race condition in regulator_put()
73b7a4a ASoC: wm8960: Fix capture sample rate from 11250 to 11025
7477cfd spi: dw-mid: fix FIFO size
625dac0 spi: dw: Fix detecting FIFO depth
09089c8 x86, hyperv: Mark the Hyper-V clocksource as being continuous
884c3b1 libata: prevent HSM state change race between ISR and PIO
c5e388a scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore
5804da9 libata: allow sata_sil24 to opt-out of tag ordered submission
208d3e5 ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210
33033f8 gpio: sysfs: fix gpio attribute-creation race
cc46bd9 gpio: sysfs: fix gpio device-attribute leak
01ae018 gpiolib: Refactor gpio_export
66f9bf0 gpio: sysfs: fix gpio-chip device-attribute leak
391bbd9 driver core: Introduce device_create_groups
b295f4b sysfs.h: add ATTRIBUTE_GROUPS() macro
d350632 can: dev: fix crtlmode_supported check
685bcb9 ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
4f338c7 gpio: fix memory and reference leaks in gpiochip_add error path
67fbd53 mm: fix corner case in anon_vma endless growing prevention
6255515 mm: Don't count the stack guard page towards RLIMIT_STACK
b7bd760 USB: console: fix potential use after free
5e3c147 OHCI: add a quirk for ULi M5237 blocking on reset
e5b68b3 HID: roccat: potential out of bounds in pyra_sysfs_write_settings()
b5f80db mm: protect set_page_dirty() from ongoing truncation
9e2a7ed mm: prevent endless growth of anon_vma hierarchy
cc4a897 mac80211: fix multicast LED blinking and counter
1b6398d Input: I8042 - add Acer Aspire 7738 to the nomux list
d4211e2 Input: i8042 - reset keyboard to fix Elantech touchpad detection
ab8f85c time: adjtimex: Validate the ADJ_FREQUENCY values
e9dbd12 time: settimeofday: Validate the values of tv from user
6973163 sata_dwc_460ex: fix resource leak on error path
c463826 mm: propagate error from stack expansion even for guard page
70946fb USB: cp210x: add IDs for CEL USB sticks and MeshWorks devices
c8eb987 virtio_pci: document why we defer kfree
7586079 virtio_pci: defer kfree until release callback
be42ade virtio: use dev_to_virtio wrapper in virtio
86f0a0b ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs
436f6e5 x86, um: actually mark system call tables readonly
a1c9f2c USB: cp210x: fix ID for production CEL MeshConnect USB Stick
536d010 video/logo: prevent use of logos after they have been freed
4b2d8f9 net: Fix stacked vlan offload features computation
9f9e0eb crypto: af_alg - fix backlog handling
8714253 udf: Check component length before reading it
e8ccb36 x86_64, vdso: Fix the vdso address randomization algorithm
381e190 udf: Check path length when reading symlink
a1d9cdb udf: Verify symlink size before loading it
5e5b0ad udf: Verify i_size when loading inode
aa4a4d8 isofs: Fix unchecked printing of ER records
2beaf0f ocfs2: fix journal commit deadlock
47d92db ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
c0f882a iscsi-target: Fail connection on short sendmsg writes
5bf2cf1 isofs: Fix infinite looping over CE entries
b43f5a7 storvsc: ring buffer failures may result in I/O freeze
0171dc6 x86/tls: Don't validate lm in set_thread_area() after all
fe0e500 x86/tls: Disallow unusual TLS segments
ccbdf10 genirq: Prevent proc race against freeing of irq descriptors
070cfb0 x86_64, switch_to(): Load TLS descriptors before switching DS and ES
3b6254d ncpfs: return proper error from NCP_IOC_SETROOT ioctl
1f8e97d Btrfs: fix fs corruption on transaction abort if device supports discard
ee88360 KEYS: Fix stale key registration at error path
d33fb04 ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery
218ba26 can: peak_usb: fix cleanup sequence order in case of error during init
583aecd can: peak_usb: fix memset() usage
fdfce29 drm/radeon: check the right ring in radeon_evict_flags()
f712352 hp_accel: Add support for HP ZBook 15
e03e5f4 drm/vmwgfx: Fix fence event code
313249d drm/vmwgfx: Don't use memory accounting for kernel-side fence objects
b78be84 iommu/vt-d: Fix an off-by-one bug in __domain_mapping()
59075a8 ath5k: fix hardware queue index assignment
ec453d0 ath9k: fix BE/BK queue order
1e4f9ee ath9k_hw: fix hardware queue allocation
b0003ef serial: samsung: wait for transfer completion before clock disable
f703d74 mfd: tc6393xb: Fail ohci suspend if full state restore is required
ff130a1 USB: cdc-acm: check for valid interfaces
1f9db86 cdc-acm: memory leak in error case
52f7ea1 megaraid_sas: corrected return of wait_event from abort frame path
3c1b66b ASoC: sigmadsp: Refuse to load firmware files with a non-supported version
566423d genhd: check for int overflow in disk_expand_part_tbl()
9a95a6f scsi: correct return values for .eh_abort_handler implementations
e97273c PCI: Restore detection of read-only BARs
2c41cbd drbd: merge_bvec_fn: properly remap bvm->bi_bdev
482d22e driver core: Fix unbalanced device reference in drivers_probe
8ca5f89 UBI: Fix invalid vfree()
2f3b2e1 usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable()
7a2d438 writeback: fix a subtle race condition in I_DIRTY clearing
347ac8b writeback: Move I_DIRTY_PAGES handling
62f5128 eCryptfs: Force RO mount when encrypted view is enabled
bba4bdb i2c: davinci: generate STP always when NACK is received
1b231ad ahci: disable MSI on SAMSUNG 0xa800 SSD
2575c22 ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks
9219bb3 ahci: disable NCQ on Samsung pci-e SSDs on macbooks
badcbca mm: fix swapoff hang after page migration and fork
81d169a drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6
90f3dfb sata_fsl: fix error handling of irq_of_parse_and_map
f1c27d0 AHCI: Add DeviceIDs for Sunrise Point-LP SATA controller
e8fb016 drm/i915: Unlock panel even when LVDS is disabled
f67a7bb powerpc/pseries: Fix endiannes issue in RTAS call from xmon
0f0a13e Input: xpad - use proper endpoint type
9ac30f5 usb-quirks: Add reset-resume quirk for MS Wireless Laser Mouse 6000
77ff742 MIPS: Loongson: Make platform serial setup always built-in.
b17289a ALSA: hda - Limit 40bit DMA for AMD HDMI controllers
2568455 usb: xhci: rework root port wake bits if controller isn't allowed to wakeup
1b7b64f USB: xhci: Reset a halted endpoint immediately when we encounter a stall.
52647cb USB: xhci: don't start a halted endpoint before its new dequeue is set
b4205de ARM: 8216/1: xscale: correct auxiliary register in suspend/resume
71a57fa bnx2fc: do not add shared skbs to the fcoe_rx_list
f29bef1 nfsd: Fix slot wake up race in the nfsv4.1 callback code
bc8a39f SUNRPC: Fix locking around callback channel reply receive
496ed1e USB: ssu100: fix overrun-error reporting
454e251 USB: keyspan: fix overrun-error reporting
b80b73b USB: keyspan: fix tty line-status reporting
6327481 usb: serial: ftdi_sio: add PIDs for Matrix Orbital products
54e74b3 iio: Fix IIO_EVENT_CODE_EXTRACT_DIR bit mask
7170965 USB: serial: cp210x: add IDs for CEL MeshConnect USB Stick
cd571b4 spi: dw: Fix dynamic speed change.
a50a1ca f2fs: flush symlink path to avoid broken symlink after POR
4b73e2d f2fs: avoid abnormal behavior on broken symlink
edfd750 f2fs: change 0 to false for bool type
78760c3 Support GCC 6.0
317bb9d LZ4 : fix the data abort issue
be937e1 crypto: sha512 - Expose generic sha512 routine to be callable from other modules
077393f crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
db7f9b3 ARM: add support for kernel mode NEON
fe0a05a ARM: 7837/3: fix Thumb-2 bug in AES assembler code
99c2444 ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
d060373 ARM: add .gitignore entry for sha256-core.S
2511498 arm: crypto: Add optimized SHA-256/224
7f6ad8f crypto: arm/aes update NEON AES module to latest OpenSSL version
bfeb2f7 vfs: make it possible to access the dentry hash/len as one 64-bit entry
ca8a95e vfs: move dentry name length comparison from dentry_cmp() into callers
a0848829 vfs: do the careful dentry name access for all dentry_cmp cases
2387abd vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu
587ae11 vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces
700622d f2fs: avoid punch_hole overhead when releasing volatile data
b97d018 f2fs: do not recover wrong data index
1444e0f f2fs: do not increase link count during recovery
94a1fbe f2fs: assign parent's i_mode for empty dir
34bce52 f2fs: add F2FS_INLINE_DOTS to recover missing dot dentries
[B]4/04/15[/B]
eb3042e f2fs: fix mismatching lock and unlock pages for roll-forward recovery
63803ca f2fs: limit b_size of mapped bh in f2fs_map_bh
aa01503 msm: mdss: KCAL: Update Kconfig description
d220216 Revert "msm: mdss: KCAL: Check panel power state before applying values"
2ca0f0e crypto: msm: Update clock vote for improved performance
3c0c2ca msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl
03049a3 msm: mdss: KCAL: Check panel power state before applying values
2c6b7f2 soc: qcom: smd: Fix SMD packet sync loss issue
ed728c1 vfs: read file_handle only once in handle_to_path
2ac20db mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
f86c2e1 f2fs: persist system.advise into on-disk inode
4ebe176 f2fs: avoid NULL pointer dereference in f2fs_xattr_advise_get
eae07f7 f2fs: preallocate fallocated blocks for direct IO
54b3e53 f2fs: enable inline data by default
3778d5c f2fs: preserve extent info for extent cache
9eae818 f2fs: initialize extent tree with on-disk extent info of inode
270d9bf f2fs: introduce __{find,grab}_extent_tree
4d1d685 f2fs: split set_data_blkaddr from f2fs_update_extent_cache
e593abe f2fs: enable fast symlink by utilizing inline data
f545fdf f2fs: add some tracepoints to debug volatile and atomic writes
bab1b76 f2fs: set SBI_NEED_FSCK when encountering exception in recovery
77a1d2e f2fs: avoid wrong f2fs_bug_on when truncating inline_data
e131be1 f2fs: enhance multi-threads performance
3f434ce f2fs: set buffer_new when new blocks are allocated
dc04eca f2fs: fix to cover sentry_lock for block allocation
e6f5b86 f2fs: fix to check current blkaddr in __allocate_data_blocks
b341170 f2fs: fix to truncate inline data past EOF
0f7c2b2 f2fs: fix to calculate max length of contiguous free slots correctly
8b45aaf f2fs: fix unlocked nat set cache operation
2d99836 f2fs: cleanup statement about max orphan inodes calc
276e1f8 f2fs: remove unnecessary condition judgment
fb7e065 f2fs: set the correct place of initializing *res_page
e00264c f2fs: reduce searching region of segmap when set free section
7496d83 f2fs: fix extent cache memory leak
fc94db1 f2fs: relocate Kconfig from misc filesystems
798a549 f2fs: Update for AIO_OPTIMIZATION
0862871 F2FS: Small Fixup
9da735d xfs: introduce a generic shutdown ioctl
0fef042 Update F2FS to Latest
5d05017 Revert "FS: import F2FS"
c7823f7 Revert "Update F2FS"
fbe2f98 Revert "f2fs: fix wrong statistics of inline data"
b894aa8 Revert "F2FS: Update Inode Compatibility"
011f5f3 Revert "f2fs: Fix Compile"
675bc72 ARM: 8160/1: drop warning about return_address not using unwind tables
6a61897 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
937edd7 gpu:msm: Fix 5.0 compile
7f8067a msm: mdss: Keep KCAL within its own source file [Squashed]
99b7d5b Revert KCAL bits in prepration for update
[B]3/20/15[/B]
- Merge 5.1 Kernel Sources
[B]3/06/15[/B]
18c1482 mmc: Do not build tests
564473b diag: Make fixes to diag_switch_logging
a4a108b Readahead: Optimize divide/multiply by power of 2 using L/R shift
ab96dc0 eCryptfs: Remove buggy and unnecessary write in file name decode routine
5c1fc3f mmc: core: Silence log spam
[B]2/28/15[/B]
- Merged latest Color Drivers for N5 (neobuddy)
- Changed Toolchains from SaberMod (Now partially closed source so that you cannot build for yourself anymore) to an AOSP-based open source toolchain called UBERTC. Many patches from Linaro have been included in source and also some GCC build fix patches from SaberMod to allow for the latest toolchain components. All sources are GPL and can be found [URL="https://github.com/UBERTC/"]https://github.com/UBERTC/[/URL]. New toolchains have less of a tendency to lag in scrolling and other screen transitions in comparison to SaberMod and I think are better suited for UBER.
[B]01/31/15[/B]
- Merged 3.4.106
- Bugfix: Small Potential Memory Leak
[B]01/31/15[/B]
dcd2770 memory hotplug: reset pgdat->kswapd to NULL if creating kernel thread fails
4028fbb memcg: further prevent OOM with too many dirty pages
86aa61a memcg: prevent OOM with too many dirty pages
04848e5 kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite
fed88ee mm: vmscan: remove reclaim_mode_t
28907d4 mm: vmscan: do not stall on writeback during memory compaction
fdc5efe mm: vmscan: remove lumpy reclaim
ecb6e1a mm: remove swap token code
3786e5f sched: Fix reference to stale task_struct in try_to_wake_up()
6ced785 KEYS: close race between key lookup and freeing
3604d7d ARM: pull in <asm/simd.h> from asm-generic
c48e1eb msm: watchdog_v2: Print IRQ during bark
4e46170 ASoC: msm: qdsp6v2: Silence some noise
5466e82 net: wireless: bcmdhd: Silence some unnessecary noise
c726ad0 netfilter: x_tables: Silence some debug info
bd23093 Defconfig: Remove lots of Debugging
5cfb502 Makefile: Make more consistent
ba54a8f Makefile: -O3 instead
1cc151d Makefile: Disable annoying warnings
c8fe6d2 Makefile: Rethink flags and ordering
d5d8089 Makefile: Add -floop-nest-optimize everywhere
d55d009 block: Tune SIO and remove dead code/white spaces
f11eac5 Makefile: Try floop-nest-optimize
[/SIZE]
If you are unsatisfied with UBER you can uninstall it. Here is the link to the uninstaller http://d-h.st/y1k
​
Features
Code:
* Based upon Google's msm 3.4.y source for Hammerhead
* Updated to 3.4.109 from Kernel.org
* MultiROM Compatible (has Kexec patch)
* Compatible with Stock as well as AOSP projects (CAF-based do not work sorry CM fans, CAF-kernel is just not as stable and battery friendly imao so I'll stay AOSP for now). If it doesn't work on a ROM let me know!!!
* CPU Governors added: Intellidemand, Intelliactive, Adaptive, Lionheart, AbyssplugV2, Ondemandplus, Badass, Wheatley, Hyper, Lazy, PegasusQ, Nightmare, DanceDance, Darkness, Slim, Intellimm, Optimax. and Uberdemand
* GPU Governors: Performance, Ondemand, and Interactive (Franco)
* IO Schedulers: Noop, Deadline, VR, SIO, ROW, CFQ, BFQ, FIOPS, FIFO, ZEN and Tripndroid
* Compiled with Custom Linaro ARM EABI 4.9.3 toolchains (Cl3Kener) (see https://github.com/UBERTC/)
* Compiled with Custom Linaro GNUEABI 4.9.3 (Christopher83)
* Compiled with Custom UBERTC 4.9.3/5.2.1 (Cl3Kener) (see https://github.com/UBERTC/)
* -Ofast optimized with neon and graphite enhancements (Cl3Kener)
* Linaro compiler flags for greater optimization build wide (Cl3Kener)
* Snapdragon & CortexA15 optimizations (Tons of Contributors)
* Non-Stock Hotplug and Thermal regulator (from showp1984)
* Touch Boost - Showp1984 (comes with hotplug)
* GPU OverClock up to 650 MHz (27 MHz is still default idle with lowest frequency being underclocked to 100 MHz) (Cl3Kener)
* Allow CPU OverClock up to 3.0 Ghz (Cl3Kener)
* Allow CPU UnderClock to 96Mhz (showp1984 implementation)
* L2 Cache OverClock (flar2)
* Ramdisk Edits on the fly for greater compatibility. (Strongly based on Showp1984 implement)
* Undervolting Control (Franco)
* LZ4 support implemented kernel wide - fastest compression/decompression available (Cl3Kener)
* Google Snappy Compression/Decompression support (just in case you want it)
* XZ Compression to latest 3.17.y (Cl3Kener)
* KSM (Kernel Samepage Merging)
* Faux Sound (Faux123)
* Franco Sound (Franco)
* Sweep2Wake, Sweep2Sleep, Double Tap 2 Wake (Showp1984 with Faux123 verticle s2w support and flar2 dt2w enhancements)
* Powerkey suspend for S2W/DT2W (Flar2 version)
* Wake timeout for S2W/DT2W/ (Flar2)
* Dynamic and Asynchronous Fsync (Faux123)
* USB Fast Charge with many voltage options (Faux123)
* Gamma Control (Various Contributers)
* Color Control (savoca)
* Fstrim (reduces lag see more: http://man7.org/linux/man-pages/man8/fstrim.8.html)
* ExFat Support (you'll need to load it via this init.d https://www.dropbox.com/s/tfm8k9vmskuhs4v/loadexfat) Updated to latest version (Neobuddy)
* Low Memory Killer - Many patches from Neobuddy
* Zram support upstreamed to 3.17.y branch (Cl3Kener)
* Zram supports lz4 compression now (kernel.org)
* Zcache, and Cleancache support updated to 3.14.y (Cl3Kener)
* BLX - Battery Life Extender (See here http://forum.xda-developers.com/nexus-s/development/mod-battery-life-extender-blx-t1257497) Ported by Ayysir to msm8974 devices
* F2FS file system support from Samsung
* Mount internal storage as CDROM (Frozen Cow)
* Advanced TCP Congestion Options (Veno as default, all 12 from http://kernel.org)
* Stereo Call Recording Support
* Uber.cfg for tuning kernel thanks to @janres155 & @Williamsss
* Many patches to improve various parts of the kernel (see source)
* Full Source including defconfig is available for you use/learn from. (Not a feature but I feel it is important that my source is complete so you can build directly from it if you want to learn and experiment)
JOIN MY DEVELOPMENT COMMUNITY ON GOOGLE PLUS (CLICK LINK) Come join for more fun! I've got some tutorials, ROMs, and other things I share with community members and well.
Installation Instructions
1. For best results a install these kernel after a fresh ROM install (although it still should work if you don't do that)
2. Reboot into recovery (TWRP 2.8+ or compatible recovery)
3. Flash Kernel Zip
4. Reboot and let Settle for ~10 minutes (optional but recommended)
5. Navigate to system/etc/uber_v1.3.cfg using your favorite root file browser and change values based on descriptions to whatever you want.
6. Enjoy!!!
Note: In Android Lollipop while Superuser kinks are still being worked out you may need to reflash root after you flash kernel.
​CREDITS & SPECIAL THANKS TO:
Dennis Rassmann - for all of his kernel work. I'm in love with all of his features and you'll find them all in my kernel.
Ayysir - for his wonderful tutorial on making a bash script to build kernels.
Other great kernel devs Francisco Franco, Faux123, Flar2, Neobuddy89, FrozenCow, Christopher83, Savoca, Hellsgod and any other mentioned in the above feature list or changelog - I cherry-pick work of all of the kernel greats!
Google - for kernel base and Android Open Source Project!
Linaro - for some really great toolchain patches!
Code Aurora Forum (CAF) - for some really great kernel patches!
Gnu.org - for always improving the C Compiler for better made code!!!
SaberMod - for making patches to fix any errors in GCC code!
LG - for manufacturing this awesome phone!
UBER Kernel sources can be found at https://github.com/Cl3Kener/UBER-L
Toolchain Sources can be found at https://github.com/UBERTC/
Config Sources can be found at https://github.com/wSedlacek/cfg
Informational Links
Comprehensive Guide to Android Development
Here is a fantastic guide on "Innards" of Kernels
Building a Bash Script to make Kernels​
​
XDA:DevDB Information
[KERNEL][3.4.109][10/03/15] UBER-L | LINARO & UBERTC 4.9.4 -O3 Graphite F2FS, Kernel for the Google Nexus 5
Contributors
Cl3Kener
Source Code: https://github.com/Cl3Kener/UBER-L
Kernel Special Features:
Version Information
Status: Stable
Created 2014-01-27
Last Updated 2015-12-01
Solutions/Ideas to the Most Common Issues​
I cannot seem to flash UBER Kernel why is that? Some ROMs come with these build.prop lines which are unacceptable to TWRP but work fine as far as the ROM goes. You will have to remove these lines from the build.prop for it to flash.
dalvik.vm.dex2oat-flags "--compiler-filter=interpret-only"
dalvik.vm.image-dex2oat-flags ""​After you have installed the kernel you can re-add these lines to your build.prop. If you don't have these lines in your build.prop it is most likely a bad download.
I have RRs with this kernel but not with others, why is that? I have undervolted some other kernel features besides the cpu that you cannot change to save you battery. On some N5s (since not all are created equal) you may actually have to increase voltages on cpu or else you keep getting RRs. Try +25 across CPUs and see if that fixes your RRs. If not keep going down the list.
Having issues with Undervolting? The chief complaint about this kernel is that "I can't uV as much as I can with other kernels." I have undervolted other kernel features (ie cpu regulators) that you cannot change to save you battery. This makes it hard for you to uV the cpu voltages as far but rest assure you'll still be getting better battery for it. Also, be aware that undervolting is a little dangerous in this kernel because of the potential of data loss when dynamic fsync is enabled. If you do decide to undervolt make a backup first so when your phone crashes you can restore. Also be aware that most of the logs ending in wdog_reset are caused by too much uV so before you post a log that ends in wdog_reset please stop undervolting first to see if the RRs persist. Below -25 uV seems to be the point where most users experience issues. Also keep in mind that voltage is important in benchmarking. Many people are benchmarking at incorrect voltages for their devices. I have to add +25 mV to all values so that it doesn't RR during benchmark. Each phone is a little different so some of you may be fine as is and some of you may need to go +50 mV or even potentially more. You'll have to experiment to see where your phone's "sweet spot" is. I again recommend also disabling Dynamic Fsync until you have figured out where that sweet spot is to prevent data loss.
Why am I having issues with ROMs on MultiROM? From my experiences, Custom Kernels and MultiROM have always not played well together. Flashing a custom kernel on Internal ROM has never been an issue you try and flash a custom kernel on ROMs 2-whatever you have weird permission issues which can cause all sorts of problems for you (apps crashing, RRs, loss of root, etc). This is probably why the kernel sharing feature was added which is good but has it's own set of problems when using UBER. (See post directly below) To reiterate, this is not a bug in UBER or MultiROM just a slight incompatibility between the two we have to overcome by hand.
UBER works fine on Internal ROM but has issues on ROMs 2 and beyond when using MultiROM and sharing UBER why is this? UBER is not specifically geared for use in MultiROM, not because I don't like multiROM but simply because of Uber's nature. UBER uses showp1984's custom msm_mpdecision and thermal which conflict with proprietary mpdecision and thermal regulators and cause RRs if these files are present. During normal kernel flash these files are renamed and don't conflict with UBER. When you share this kernel during ROMs 2 and beyond can still be used safely if you know what you're doing. In order to allow ROMs 2, 3, and beyond to share the kernel you must delete N5 proprietary files found at system/bin/mpdecision and system/bin/thermal-engine-hh when running those ROMs. It is a fairly easy process, just install a Root File Browser, locate then, and delete. Normally in kernel flashing process I rename those files to mpdecision_bck and thermanl-engine-hh_bck for you so you never have to see or worry about them. If you use Sharing Feature on MultiROM you'll have to deal with these yourself. I apologize for this inconvenience but there is nothing I can do from my end. Flashing UBER on ROM 2 breaks it and sharing has problems until you remove these two files.
Why are certain apps crashing on me? Most likely it is due to Frandom. I have implemented Frandom by default in this kernel and to my knowledge I'm the only developer that does that by default. Some apps or mods may not be frandom compatible. Most are 100% compatible but not all. If you notice programs stop opening or are having constant reboots try removing 00_frandom from the init.d folder and reboot. I think for stable releases which I plan on posting on XDA this weekend I will not have frandom implemented by default but in nightlies it will always be implemented. Also if you keep having random reboots this is something to try as well.
Not booting? Maybe you have Ramdisk Incompatibility. This kernel uses your ramdisk. Most of the time that works well. Sometimes it does not. Make sure to flash http://goo.im/devs/Cl3Kener/HAMMERHEAD/KERNELS//STOCK-BOOT_IMAGE-4.4.3.zip and try again if it doesn't boot. If it still doesn't boot make sure to verify that it is not CAF. Some ROMs fail to mention they are CAF-based but they really are.
My phone crashed once during benchmarking or for no apparent reason and now keeps randomly rebooting. My guess is you have Data Corruption. If you crash your phone out benchmarking or have a frandom related RR and you still keep getting RRs you might have data corruption. This usually happens when you have Dynamic Fsync enabled because Fsync is disabled when screen is on. When testing I crash my phone all of the time and apps and things get messed up. Having a backup is good but if you don't want to waste time backing up all of the time you can salvage things still. Here is what I do when I've crashed the phone and continue to get soft reboots: 1) I install SD Maid from the Google Play store. (I have pro version so I can clean more but free version should work well enough) 2) I use SD Maid to clean all of the app data. (don't worry it is smart enough to not loose your passwords so you won't have to resign into your apps) Then I download ROM Manager by Koush. I don't actually use ROM Manager I just think it has the best permissions fixing feature of any app I've tried (including recoveries). I select the option Fix Permissions toward the bottom of the free version. It then prompts a reboot and then I reboot and life is good again.
I have battery drain when nobody else does.... help!!! Install a wakelock detector and figure out what is keeping your CPU awake. If it's an app. Fix permissions, clear app data, reinstall app, disable app, etc. until is stops having issues.
Still have problems? Search my Google+ community in the questions category. If you don't find anything see below:​
ERROR REPORTING
I am always open to hearing about your errors although just telling me something went wrong without giving me details does me absolutely no good. So here are my expectations if you do want to complain about something not working:
1. Please list the ROM you are using,
2. The IO scheduler you were using
3. The CPU governor you were using
4. The CPU frequency range
5. What you have done to attempt to fix it.
6. If you were able to simulate it again using the same settings.
7. Anything else you think is applicable to the issue
I would also hope that you would consider trying some of the following things to fix your issue before you ever report it because most of these things will fix the problem without me even having to change a thing.
1) Fix file permissions using a program that does a thorough job. I recommend using the fix file permissions in ROM manager because it is the best I’ve seen. For the record, I don’t actually use ROM manager for anything other than fixing permissions. Please consider trying this first because it tends to fix most of the FC/RR/SOD errors you might have.
2) Make a backup and install a clean version of the ROM you are running and see if you are still experiencing those same errors. You may have corrupted files if you’ve been dirty flashing.
3) If that doesn’t solve it, redownload and reflash, maybe something got corrupted but it still managed to flash. This happens sometimes and I can cause you grief.
4) Pull a logcat. MAKE SURE TO DISABLE DYNAMIC FSYNC BEFORE LOGGING!!! LEAVING IT ENABLED WILL CORRUPT YOUR LOG!I know not everyone knows how to do this but you can learn if you check out this OP or if you aren't comfortable with using terminal commands to pull a log just install Bootlog Uptime and set it up to autocopy log on RR. Opening the program after crash will autocopy your log and you send it to me.
​
QUICK GUIDE TO TUNING YOUR KERNEL​
Thanks to the uber.cfg you no longer need to tune manually because you have the following already in the kernel:
1. BOOT SETTINGS
1.1 KERNEL SWITCH
1.2 GRACE TIME
1.3 WAIT TIMERS
1.4 FILE SYSTEM TRIM
2. CPU SETTINGS
2.1 CPU SETTINGS SWITCH
2.2 CPU FREQUENCY SCALING
2.2.1 CPU FREQUENCY SCALING SWITCH
2.2.2 CPU MAX FREQUENCY
2.2.3 CPU MIN FREQUENCY
2.3 CPU GOVERNOR
2.3.1 CPU GOVERNOR SWITCH
2.3.2 CPU GOVERNORS
2.4 CPU MULTICORE POWER SAVING
3. CPU VOLTAGE SETTINGS
4. HOTPLUG SETTINGS
4.1 MPDECISION SWITCH
4.1.1 MPDECISION SCREEN-OFF MAX FREQUENCY
4.1.2 MPDECISION SCREEN-OFF SINGLE CORE
4.1.3 MPDECISION TOUCHBOOST
4.1.4 MPDECISION MIN CPUS
4.1.5 MPDECISION MAX CPUS
4.1.6 MPDECISION HOTPLUG CONTROL
4.1.7 MPDECISION UNPLUG CONTROL
5. I/O SETTINGS
5.1 I/O SCHEDULER
5.2 I/O READ SPEED
5.3 I/O READ SPEED FOR SD CARD
6. GPU SETTINGS
6.1 GPU SETTINGS SWITCH
6.2 GPU FREQUENCY SCALING
6.2.1 GPU MAX FREQUENCY
6.2.2 GPU MIN FREQUENCY
6.3 GPU GOVERNOR
6.3.1 GPU GOVERNORS
6.3.2 GPU UP THRESHOLD
6.3.3 GPU DOWN THRESHOLD
7. GAMMA SETTINGS
7.1 GAMMA PRESET
7.2 BACKLIGHT DIMMER
7.2.1 BACKLIGHT DIMMER SWITCH
7.2.2 MINIMUM BRIGHTNESS
8. SOUND SETTINGS
8.1 SOUND ENGINE
8.2 FRANCO SOUND SETTINGS
8.2.1 FRANCO MIC INPUT LEVEL
8.2.2 FRANCO CALL OUTPUT LEVEL
8.2.3 FRANCO SPEAKER OUTPUT LEVEL
8.2.4 FRANCO HEADPHONE OUTPUT LEVEL
8.3 FAUX SOUND SETTINGS
8.3.1 FAUX MIC INPUT LEVEL
8.3.2 FAUX MIC INPUT LEVEL FOR CAM
8.3.3 FAUX SPEAKER OUTPUT LEVEL
8.3.4 FAUX HEADPHONE OUTPUT LEVEL
8.3.5 FAUX POWER AMP LEVEL
8.3.6 FAUX LOCK
9. MEMORY SETTINGS
9.1 ZRAM SETTINGS
9.1.1 ZRAM SWITCH
9.1.2 ZRAM COMPRESSION
9.1.3 ZRAM DISK SIZE (MB)
9.2 VIRTUAL MACHINE SETTINGS
9.2.1 SWAPPINESS
9.2.2 DIRTY RATIO
9.2.3 DIRTY BACKGROUND RATIO
9.2.4 DROP CACHES
9.2.5 FS WRITEBACK DELAY MODE
9.3 KERNEL SAMEPAGE MERGING
10. WAKE SETTINGS
10.1 WAKE CONTROL SWITCH
10.2 DOUBLE TAP TO WAKE
10.3 SWEEP TO WAKE/SLEEP
10.4 POWERKEY SUSPEND
10.5 WAKE TIMEOUT
11. MISCELLANEOUS SETTINGS
11.1 TCP CONGESTION CONTROL
11.2 DYNAMIC FSYNC
11.3 POWER SUSPEND
11.4 VIBRATION INTENSITY
11.5 USB FAST CHARGE
11.5.1 FAST CHARGE SWITCH
11.5.2 FAST CHARGE LEVEL
11.6 BATTERY LIFE EXTENDER
12. MODULES
12.1 FRANDOM
12.2 EXFAT
​I still left these commands for people that like to see them anyways:
Set Color Profiles
See here http://forum.xda-developers.com/showpost.php?p=52926016&postcount=866
Dynamic Fsync
To enable - echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
To disable - echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
KSM (Kernel Samepage Merging)
To enable - echo "1" > /sys/kernel/mm/ksm/run
To disable - echo "0" > /sys/kernel/mm/ksm/run
USB Fast Charge
To enable - echo 1 > /sys/kernel/fast_charge/force_fast_charge
This makes USB to computer connections transfer current the same as the wall charger. (Classical version)
Faux123 added the a ability to change currents to 500 900 1200 1500 2000. Enable by doing this
To enable custom - echo 2 > /sys/kernel/fast_charge/force_fast_charge
Then
echo 1500 > /sys/kernel/fast_charge/fast_charge_level
change value 1500 to whatever you want (as long as it's one of those 5 values)
To disable - echo 0 > /sys/kernel/fast_charge/force_fast_charge
Set Default IO Scheduler
IO Acceptable values are bfq, cfq, deadline, fifo, fiops, noop, row, sio, vr, zen
echo "bfq" > /sys/block/mmcblk0/queue/scheduler
Set Default CPU Governor
Acceptablevalues are adaptive, badass, intelliactive, dancedance, wheatley, abyssplugv2, ondemandplus, intellidemand, interactive, conservative, userspace, powersave, lionheart, ondemand, performance and others mentioned in kernel features above.
echo "1" > /sys/devices/system/cpu/cpu0/online;
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu1/online;
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu2/online;
echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor;
echo "1" > /sys/devices/system/cpu/cpu3/online;
echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor;
Backlight Dimmer
N is disabled, Y is enabled.
echo "N" > /sys/module/lm3630_bl/parameters/backlight_dimmer
Touch Boost
Toggle 0 is disabled 1 is enabled.
echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled
Double Tap To Wake
There are three options here:
0 is disabled
1 is normal dt2w (bottom half of screen)
2 is full screen dt2w
echo "0" > /sys/android_touch/doubletap2wake
Sweep2Wake/Sweep2Sleep
This one is tricky because there are two files to change. If you want both only run
echo "1" > /sys/android_touch/sweep2wake
If you only want sweep2sleep you'll have to run this as well.
echo "1" > /sys/android_touch/s2w_s2sonly
To disabled run both run these commands but with 0s instead.
GPU Governor Toggle
Acceptable values are "performance" "simple" or "ondemand". Ondemand is default so I placed simple here. Performance will freeze system is placed at full OC (at lest for me so be careful!)
echo "ondemand" > /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor
Frequency options (Use values on the left for init.d script)
533333000-> 533 Mhz
487500000-> 487 Mhz
450000000-> 450 Mhz
389000000-> 389 Mhz
320000000-> 320 Mhz
200000000-> 200 Mhz
150000000-> 150 Mhz
Set Max GPU:
echo "320000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/max_gpuclk
Set Min GPU:
echo "150000000" > /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/min_pwrlevel
Pwrkeysuspend (disables s2w, dt2w)
# 0 = disabled, 1 = enabled
echo "1" > /sys/module/qpnp_power_on/parameters/pwrkey_suspend
Wake Timeout of S2W/DT2W
Note: # is in minutes (not seconds)
echo "#" > /sys/android_touch/wake_timeout
Load ExFat Module
insmod /system/lib/modules/exfat.ko
SET DEFAULT BOTTOM CLOCK SPEEDS
(If you want to set max change crom scaling_min_freq to scaling_max_freq on bottom four) Acceptable values any of the clock speeds.
echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
echo "96000" > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
echo "96000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo "96000" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
Vibrator Level
Stock Value is 63. Range of acceptable values is 0-100
echo "63" > /sys/class/timed_output/vibrator/amp
Dirty Ratios
# dirty_background_ratio default is 10 (background meaning screen is off usually)
echo "20" > /proc/sys/vm/dirty_background_ratio
# dirty_ratio default is 20.
echo "40" > /proc/sys/vm/dirty_ratio
Set MPDecision Values
Note: Only change these values after you've played with them in your favorite kernel tuning app. I recommend figuring out your settings then finding these files with a root browser then you can fill these init.d lines in with your root browser of choice.
echo "1" > /sys/kernel/msm_mpdecision/conf/enabled
echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled
echo "300000" > /sys/kernel/msm_mpdecision/conf/idle_freq
echo "4" > /sys/kernel/msm_mpdecision/conf/max_cpus
echo "1" > /sys/kernel/msm_mpdecision/conf/min_cpus
echo "12" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_0
echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_1
echo "25" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_2
echo "7" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_3
echo "30" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_4
echo "10" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_5
echo "0" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_6
echo "18" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_7
echo "1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_0
echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_1
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_2
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_3
echo "140" > /sys/kernel/msm_mpdecision/conf/twts_threshold_4
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_5
echo "0" > /sys/kernel/msm_mpdecision/conf/twts_threshold_6
echo "190" > /sys/kernel/msm_mpdecision/conf/twts_threshold_7
Set Thermal Values
Go to /sys/kernel/msm_thermal/conf/ in a root file browser and change the values
I recommend that you figure out what you like and then create your own init.d script like I did. Here is the link to my example Script. I have 99 appended to the front so that it will run last resetting any previously set settings.
https://copy.com/cyApOWNSjPs1
Here is my init.d tweak folder. https://www.dropbox.com/sh/88sqwe9q018pcne/xCzZBKAJTt Make sure to give them a number in the front if you decide to add them. Like 01_blahblah or 02_blahblah.​
​
will it work in all roms (aosp,cm,...)?
Nice. I'll give it a try (stock rom).
Finally.. Thanks man.. Will try ASAP and let you knw
Sent from my Nexus 5 using Tapatalk
mondaza said:
will it work in all roms (aosp,cm,...)?
Click to expand...
Click to collapse
Read the op man
Sent from my Nexus 5 using Tapatalk
Djmattox08 said:
Read the op man
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
What Is this read and how can I do it.lol.All seriousness this is a badass kernel.
Sent from my Nexus 5 using Tapatalk
What about changelog?
Bam ROM installed and working fine.Thanks for the work and greetings from Spain, HTCMania.
I've been running the linaro 4.7.4 version of Uber on Blue Lightning and it works great! Is there any reason I should switch to the 4.8.3 version?
Jephre said:
I've been running the linaro 4.7.4 version of Uber on Blue Lightning and it works great! Is there any reason I should switch to the 4.8.3 version?
Click to expand...
Click to collapse
Yeah, it's got bigger numbers
Sent from my Nexus 5 using Tapatalk
Chester welcome! I fcking love it kernels..... Flashing now
Sent from my Nexus 5 using Tapatalk
sinkster said:
Yeah, it's got bigger numbers
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Harhar, very funny
Sorry, I'm not very technical, but I'm interested in learning more about kernels. Aside from the bigger numbers, is there some sort of performance or efficiency difference between the two? Pros and Cons of each?
Much appreciated!
iPsychoGeek said:
What about changelog?
Click to expand...
Click to collapse
Well the op said that if a ROM didn't boot up on this kernel we are to let you know. Well guess what? Latest cm nightly doesn't boot up. That's because cm decided to merge a bunch of caf stuff and now virtually all custom kernel are unbootable. Just saying. :crying:
Jsparta26 said:
Well the op said that if a ROM didn't boot up on this kernel we are to let you know. Well guess what? Latest cm nightly doesn't boot up. That's because cm decided to merge a bunch of caf stuff and now virtually all custom kernel are unbootable. Just saying. :crying:
Click to expand...
Click to collapse
Hope the OP can fix this
---------- Post added at 10:56 PM ---------- Previous post was at 10:10 PM ----------
Does anyone else ecounter random reboots when locking the screen?
What scheduler and governor are you guys using on 4.8.3 for better performance? There's so many to choose from and I'm having a difficult time telling which ones work better.
Good kernel
Sent from my Nexus 5 using Tapatalk
t1.8matt said:
What scheduler and governor are you guys using on 4.8.3 for better performance? There's so many to choose from and I'm having a difficult time telling which ones work better.
Click to expand...
Click to collapse
It's basically suck it and see. Here's a description of governors: http://forum.xda-developers.com/showthread.php?t=1792369
Sent from my Nexus 5 using Tapatalk
Hey Everyone!
So once again I'm having to rebuild my kernel thanks to CM. I uploaded yesterdays kernels early this morning after good day of testing with Stock. I have now created a branch for Stock as a backup and I guess we'll see if somehow the new kernel with CM updates is still compatible later. I hope to knock out the whole things today which will be difficult because it looks like somewhere in the ballpark of 200-250 commits. Assuming I have an error 1 every 10 that should only take me about several hours to do.
Anyways, so someone asked about changelogs. It's not that I don't believe in super detailed changelogs but I find that unless it's a tangible features nobody really understands/cares which is why I just include major features on Post #2. I've include the link to my github source which I find it best because iif you don't understand the commit message you can just click on the commit and read about the changes. Or I guess if you really wish I can just grab a log and paste it here like this
Code:
eac11e6 workqueue: fix mismatch
364f2a7 lib: spinlock_debug: increase spin dump timeout to one second
8f8e924 lib: spinlock_debug: increase spin dump timeout
1b51e62 sched/debug: Make sysrq prints of sched debug data optional
e3aab22 msm: cpuidle: use format string in snprintf
aba2b89 msm: gdsc: Make enable/disable function clock controls symmetric
83ddecf ARM: dts: msm: Add additional GDSC devices
5c07136 msm: subsystem_restart: Correct state transition even in absence of PIL
36f3fa0 msm: Fix NULL pointer dereference in sensors ADSP driver.
76b41a8 msm: msm_bus: Don't touch ID array in case of invalid IDs
ca44047 msm: msm_bus: fix memory leak in msm_bus_fabric_probe
26a3de9 msm: Fix compiler error due to CONFIG_HIGHMEM being disabled
7c14347 msm: Update the kernel log messages
19dd8b4 msm: msm_bus: Fix the type error causing bandwidth overflow
76bb790 add extra free kbytes tunable
638a2f6 ARM: Flush the caches for non panicking CPUs in case of a kernel panic
1ca0aca ARM: smp: fix incorrect per-cpu definition of regs_before_stop
82cd77a ARM: smp: Save CPU registers before IPI_CPU_STOP processing
1344e17 ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text
70f5ee2 ARM: 7819/1: fiq: Cast the first argument of flush_icache_range()
522611e ARM: Fix FIQ code on VIVT CPUs
c50dd00 ARM: Fix the world famous typo with is_gate_vma()
a354187 ARM: fix nommu builds with 48be69a02 (ARM: move signal handlers into a vdso-like page)
7249d66 ARM: fix a cockup in 48be69a02 (ARM: move signal handlers into a vdso-like page)
85e9ad0 ARM: make vectors page inaccessible from userspace
f56fc17 ARM: move signal handlers into a vdso-like page
cdbe879 ARM: allow kuser helpers to be removed from the vector page
ec85740 ARM: update FIQ support for relocation of vectors
8e3a8a1 ARM: fiq: change FIQ_START to a variable
6dc1962 ARM: move vector stubs
065cf0f ARM: poison memory between kuser helpers
b3e9875 ARM: poison the vectors page
a2a12a7 ARM: 7735/2: Preserve the user r/w register TPIDRURW on context switch and fork
c18c81f ARM: 7693/1: mm: clean-up in order to reduce to call kmap_high_get()
2902c6e ARM: dts: msm: Remove dual configuration for CPU on msm8974
bf41f92 msm: msm_bus: Changes for QOS computation at BIMC
212375b msm: msm_bus: Change priority overrides based on master configuration
571edf5 ARM: dts: msm: remove ebi cache dump reservation for 8974
1b752b9 coresight: enable flush-on-flushin for periodic flush to usb
6655519 coresight: use dma_alloc_coherent for allocating tmc-etr memory
ae85721 coresight: Add support for byte counter interrupt feature
62c4004 coresight: add lpae support for coresight tmc driver
d2e3216 ARM: dts: msm: remove contiguous etr memory reservation support for 8610
fc30c37 ARM: dts: msm: remove contiguous etr memory reservation support for 8226
8e08231 ARM: dts: msm: remove contiguous etr memory reservation support for 9625
465f943 ARM: dts: msm: remove contiguous etr memory reservation support for 8974
84f8b02 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8610
ebbb2e9 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8226
63d10d8 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 9625
04eb909 ARM: dts: msm: modify memory reservation requirements for tmc-etr on 8974
4cdbd69 ARM: dts: Enable additional GDSC collapse modes based on HW version
e67d6ee workqueue: Remove gcwq_has_idle_workers
70a7f5d workqueue: simplify CPU hotplug code
5627e14 workqueue: remove CPU offline trustee
0ba7786 workqueue: don't butcher idle workers on an offline CPU
7fdf3cb workqueue: reimplement CPU online rebinding to handle idle workers
afd342d workqueue: drop @bind from create_worker()
f601fe0 workqueue: use mutex for global_cwq manager exclusion
153b22f workqueue: ROGUE workers are UNBOUND workers
8beff10 workqueue: drop CPU_DYING notifier operation
0a5bb32 Defconfig: SMH
0384859 Revert " DRIVERS: SLIMBUS: Initial OC of Slimbus"
Those were my changes yesterday. (I having a feeling most of you just skipped over it)
As far as which do I think is better I personally like bleeding edge (and it seems like most of you do too) so I run Linaro 4.8.3. To me it feels a little snappier (on stock that is, I use stock for any of the battery life tests etc). Battery life seems to be about the same between the two though so again it's not like a big deal one way or another. I just like to give you all options instead of only making one kernel. Because I have build scripts and a fast computer it takes me about 5 minutes to build one kernel so I can make both in about 10 minutes. That's no big deal for me. The part that takes the time is the patching, coding, tweaking, and testing.
Speaking of testing, I still haven't really figured out my dream IO and CPU Gov combo yet. I've been playing around alot and hopefully some of you will too. I can tell you that I always default to CFQ or BFQ with Ondemand since I really like those combos but I am also starting to like several other combos. If you find a combo you think is awesome please post it and a screenshot if you want to convince us it is good for battery or whatnot.
Anyhow, enjoy the 1/27 kernel from yesterday! I'll be working on a CM compatible kernel today.
Cheers!
Cl3Kener

[Kernel][3.4.113][DualBoot] Chrono Kernel R5.10

Custom kernel for Samsung Galaxy Ace 2​
Features:
Only one universal kernel for JB, KK and LP-based ROMs
CPU, GPU and DDR OC support
more governors and I/O schedulers
Lite kernel - some kernel features moved to modules
fully working BLN
Sweep2wake && Doubletap2wake
CPU freq settings for suspend
Full F2FS support
SELinux support
UKSM support
ABB-charger tweaks
Credits:
@dh.harald and @hafidzduddin for contribution on codina sources
@ Team Canjica for a base for this kernel
@ Nova Fusion for F2FS implementation
@zwliew for contribution on TC kernel
@cocafe for LiveOPP, GPU OC, abbamp and abb-charger tweaks and many cool patches which I've used from his kernel
@faux123 for dynamic Fsync implementation
@Christopher83 for dynamic management of dirty page writebacks implementation
@KINGbabasula for contribution on TC kernel sources
@boype for SIOPlus tweaks and OndemandPlus governor
@Adi_Pat for abbamp, kernel tweaks
@PolishVodka for initramfs scripts for 4.2.x and 5.0.x
@Rox for help in fixing initramfs scripts for 4.1.2
@ace2nutzer for optimization CPU OC and for whatever scripts which I have used in my kernel
@Meticulus for BLN, Sweep2wake and Doubletap2wake
@mkaluza for huge LiveOPP/Mali improvements and Dynamic governor
@yanpol199 for help with F2FS support in TWRP
@ all users who tests this kernel and directs the development along the right path
@ all those users, who I forgot to mention (PM me if so)
Team Win for TWRP recovery
CyanogenMod Team for CWM recovery
Phil3759 for philz recovery
Samsung for opening kernel source
Linus Torvalds for Linux sources
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
To install kernel with F2FS support read installation method in 3rd post
To install kernel with dual boot support, proceed this method.
Since R2.12.1 has been released, no need to care about bootscripts, kernel package will install it itself.
Source Code:
r6.0
< r6.0
Download:
FTP
Thanks @S.AMU for providing FTP-Server
Thanks @shaqman89 for providing build server
​
XDA:DevDB Information
Chrono Kernel, Kernel for the Samsung Galaxy Ace II
Contributors
ChronoMonochrome, cocafe, faux123, zwliew, mkaluza, Meticulus, KINGbabasula, ace2nutzer, TeamCanjica
Source Code: https://github.com/ChronoMonochrome/Chrono_Kernel-1/commits/master-3.10
Kernel Special Features: Swappable ramdisk, UKSM, dual boot support
Version Information
Status: Stable
Current Stable Version: R5.1
Stable Release Date: 1974-11-11
Beta Release Date: 1974-11-11
Created 2014-06-24
Last Updated 2017-10-27
Changelogs and features
Bug list:
-
Changelog
(old changelog)
R2.10
Build from R2.6 sources with re-added all changes in LiveOPP, cpufreq_limits module, some interfaces from 2.9.x (usb sw reset, PonKey emulator on voldown/up).
R2.9
Mali OC module v2.0:
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
(new interfaces manual)
1) mali_threshold_freq_down/up:
echo new value to tweak it:
Code:
echo 150 > /sys/kernel/mali/mali_threshold_freq_up
2) mali_boost_hispeed(2)
Use command
Code:
echo idx=X > /sys/kernel/mali/mali_boost_hispeed2
to tweak its freq.
following command is to tweak its threshold:
Code:
echo threshold=220 > /sys/kernel/mali/mali_boost_hispeed2
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
R2.8
Mali OC module v2.0(detailed description in 3rd post):
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
(2.7.6)
- fixed broken GPU scaling algorithm (removed /sys/kernel/mali/mali_scaling_dynamic)
(2.7.5)
- partially reverted LiveOPP voltage autocalibration
- fixed unstable mali tunables and added interface mali_scaling_dynamic
Code:
echo 1 > /sys/kernel/mali/mali_scaling_dynamic
When mali_scaling_dynamic is used, mali will scale between mali_boost_low and mali_boost_high using all steps between these mentioned. mali_stats provides statistics about mali utilization on each step.
- removed some GPU freq steps
(2.7.4)
- new governor Dynamic (thanks to mkaluza)
- new GPU scaling algorithm (thanks to 1N4148 ) - ondemand-like GPU governor
- LiveOPP: reworked avs-based varm recalibration algorithm
(2.7.3)
added governor OndemandPlus (thanks to boype)
removed governors with hotplugging support
added interface to tweak PLLDDR freq on suspend:
Code:
echo on > /sys/kernel/cpufreq/pllddr_raw
To control freq are used raw PLLDDR register values:
Code:
echo suspend=0x000050158 > /sys/kernel/cpufreq/pllddr_raw # 675 MHz
Code:
echo resume=0x000050168 > /sys/kernel/cpufreq/pllddr_raw # 798 MHz
PLLDDR freq can be checked via
Code:
cat /sys/kernel/liveopp/pllddr
Settings applies after 3 sec after suspend/resume.
Too low suspend or too high resume value may cause reboot. Please note that this setting still experimental and unstable itself, so it's disabled by default.
adjusted some GPU OC defaults
fixed BT issues
(2.7.2)
- fixed pllddr_cross_clocks instability
- removed unneeded DDR_50_OPP requirement on screen on (should prolong battery lifetime).
2.7
many various commits from Linux 3.3 (thanks @faux123)
improved hotplugging mechanism
updated RCU system
kernel scheduler
memory management
etc...
LiveOPP:
recalibrate varm and vbbx on boot (better stability)
added interface to OC some clocks that depends on PLLDDR
reimplemented sweep2wake and doubletap2wake (thanks @Meticulus)
enabled UKSM (thanks @cocafe)
- better RAM performance with tiny cost CPU. Boot time will be increased by 3 sec, it's ok.
uploaded kernel for s6d.
R2.6
ABB-charger:
reverted most of changes. It's only uses custom voltage table, termination current 150 mA and some other tweaks, provided by ace2nutzer.
added tweakable interfaces for termination current(better battery lifetime).
LiveOPP:
added most ape_25_opp switch interface
added steps 85, 350, 450 MHz.
ddrpll interface renamed to pllddr ;D
added input boost support for most of governors (thanks to zwliew for original patch)
R2.5
- only one kernel version for all ROMs/Filesystems/codina(p), please note that installation method is different from usual installation
- Switch to single platform RTC driver - AB500 (finally fixed all problems with clock freeze issue) [golden-guy]
- update LiveOPP from CoCore
- reworked and added DDRPLL boost [WIP]
R2.4
completely rewritten screenoff limits driver
added steps 30, 125, 150, 175 MHz, increased voltage on various steps for stability
enabled SELinux again
various fixes in FAT filesystem
re-added exFat support
re-added ZenX
abb charger fix v2 [ace2nutzer]
zRam script moved to init.d (to be able to change zRam size) on CM11
new package installation script, with little changes by me (thanks to borkins for help with this)
R2.3.2
improved battery live (full credit to ace2nutzer)
reduced liveopp table (too hard to search stable/optimal voltage)
Reverted all commits from tuna kernel (these changes are tested not well, may cause instability)
temporarily disabled SELinux
R2.2
LiveOPP 2.2:
no longer use setting ARM OPP (this previously caused lags)
simple algorithm for setting clock and voltages
use only pll, external clock no longer used
use only 1 varm selection
Big LiveOPP table (51 step: 46, 69,..., 1244 MHz)
Added and optimized new governor ZenX
Added FIFO I/O scheduler
Moved more kernel stuff to modules
TWRP 2.8.0.0
R2.1.5
Huge update from Tuna Hybrid kernel by @faux123 ( a lot thanks to him! ) :
a lot various commits from Linux Kernel 3.3-rc3
various fixes backported from Linux 3.5
fixed 3G/WiFi data arrows again
reduced kernel: 628 Mb RAM is available
Reverted from R2.1:
update of device-specific drivers from Novathor 3.4 kernel
"ARM: 7493/1: use generic unaligned.h"
(R2.0.2)
update from TC kernel
moved all networking modules to kernel (fixed lost data usage, tethering, etc.)
added module autoload (read below)
renamed interface /sys/kernel/cpufreq/screenoff_cpufreq_limits -> /sys/kernel/cpufreq/cpufreq_limits_on_suspend
R2.0-refresh
Cleaned kernel source tree from some doubtful commits
moved some kernel features to modules(thanks to mkaluza for idea and most of changes)
9p, CIFS, NTFS file systems
some unneeded ipv6 features
HID drivers
most of governors
slightly decreased boot time(in my case, from 8500 to 8330 ms)
slightly increased available RAM - 628 MB (thanks to reduced kernel size)
Huge LiveOPP improvement by mkaluza:
improved overclock stability, added all extended steps
UV 100-400 MHz steps to 0x12-0x14 (lower power consumption)
added state APE_25_OPP, used only with screen off(originally introduced by mkaluza, adapted for codina by me)
allowed change APE_OPP and DDR_OPP from LiveOPP
changed step 1228 MHz -> 1248 MHz (may cause reboots, need to find out optimal voltage)
Mali improvements by mkaluza
temporarily removed 25 MHz step (don't know how to add it with new LiveOPP, all attempts is caused boot loop)
(R1.6.3)
revert "update sweep2wake and doubletap2wake by Meticulus"
add cpufreq steps: 25, 500, 700 MHz; remove: 1050, 1100, 1250 MHz (only 12 CPU freq step is allowed)
R1.6
ARM: 7493/1: use generic unaligned.h (This has the
benefit of better code generated especially for ARMv7 on gcc 4.7+
compilers.)
register rear cam flash as LED (for BLN) - thanks to @Meticulus
update sweep2wake and doubletap2wake by Meticulus
add LMK timeout interface - @cocafe
Fix max freq not capped on suspend bug on Lulzactive (it was conflicted with screenoff cpufreq limits driver)
(R1.5.2)
F2FS support in TWRP (thanks to [email protected] for help with this)
R1.5.1
update from TC kernel
enabled SELinux (was disabled in r1.5 for testing)
ARM: 7006/1: Migrate to asm-generic wrapper support
added jRCU (thanks to cocafe)
Bugfixes
reverted to LK 3.2.0
fixed disappeared data usage monitor and probably data arrows also
fixed wifi/usb tethering - hopefully, need tests
fixed incorrect display of RAM occupied by some applications
fixed incorrect phone recognition on codina P in CWM/TWRP - thanks to @ace2nutzer
R1.5
Completely reworked file systems update:
fixed reboots, apps FC
fixed CWM loop
fixed huge battery drain (hopefully)
F2FS backported to Linux 3.2
R1.4
Bumped to Linux 3.2.9
File systems: big update from LK 3.2
Writeback: update from LK 3.2
Reduced wlan_rx_wake wakelock by half - zwliew
F2FS support in /system
Fixed more potential and real memory leaks in kernel
Removed u8500 hotplug driver again
R1.3
added BLN separate configuration of blink on and off delays
added MCDE tweaks (read below)
tweaked PegasusQ governor (based on script by ace2nutzer)
fixes:
reverted commits which caused most of random reboots reasons
finally fixed kernel panic in CFQ I/O scheduler (I hope so)
interactive governor reverted to stock TC
R1.2
workaround for s6d display bug (separate kernel version - soon)
CPU freq settings for screen off
Updates from linux kernel 3.2 (currently updated to 3.2):
File systems
Specific drivers
Security
Various core changes
Reverted:
Proportional Rate Reduction for TCP
Power management update from 3.2
1000 MHz messy workaround, provide another workaround instead
r1.1
Fixed 100 MHz bug
Added 300 MHz CPU step
Added VR I/O scheduler again (thanks to @cocafe for fixes compile errors)
Updates from Linux Kernel 3.2:
Process bandwith controller
Thin provisioning and recursive snapshots in the Device Mapper
I/O-less dirty throttling, reduce filesystem writeback from page reclaim
Proportional Rate Reduction for TCP
Memory management (Cross Memory Attach, "vmscan: add block plug for page reclaim", "thp: mremap support and TLB optimization", etc.)
Networking
Device Mapper
Virtualization
Crypto
Tracing/Profiling
r1
backport new zRam driver from 3.5 LK by @faux123. Also enables LZ4 compressor for zRam.
add u8500 hotplug driver by @zwliew again
revert voltage of display and other regulators to stock
add vpnclient.ko
a somewhat fixes and optimizations from CoCore - thanks to @cocafe
fix lagfree, lulzactiveq and interactive wrong tunables
adjust voltage(0x37) for 1200 and 1250 MHz
17.08.2014
Undervolt display from 1800 to 1400 mV
Undervolt various regulators
Revert CFQ to 3.0 branch to fix reboot issue
Add Lionheart governor, disable InteractiveQ and Hotplug
Support for 4.2.x ROMs (thanks to @PolishVodka for initramfs)
12.08.2014
fixed CFQ reboot issue (i hope so )
reboot into recovery from extended power menu should work (JB 4.1.2)- thanks to Rox
TWRP recovery instead CWM for ext4 kernel versions
Update to 3.1.10
9.08.2014
Fixed reboot issue (I hope so)
Add BFQ scheduler again
Fixed UMS bugs - thanks to cocafe
Upgrade kernel to 3.1.1
4.08.2014
Fixed bug of random change min CPU freq to 1Ghz.
Removed u8500 hotplug driver
Update sioplus from [email protected]
Temporarily removed BFQ and VR I/O scheds because they are became broken for some reasons.
Update LMK from [email protected]
Updates from 3.1 LK:
Sound cards, input devices, watchdogs, networking, staging, multifunctional devices, ... etc. See full list of changes on github.
29.07.2014
Added CPU 100MHz freq step
U8500 hotplug driver - zwliew
Universal exfat driver - zwliew
Switch to SLUB again
Updates from LK 3.1:
SLUB
Memory management (6/7 commits)
VFS (9/10 commits)
Dynamic writepage throttling
21.07.2014
revert CPU voltages to default for 0-3 steps
some changes in memory management
17.07.2014
Switch to SLQB memory allocator
Update BFQ I/O sched from v7r3 to v7r5
Enable UHID support (testing)
Some fixes in memory management
Remove some buggy "fixes" from last build
5.07.2014
fixed headset bug that appeared in last build
fixed the file permissions for CoCore Manager (for JB)
4.07.2014
F2FS support (still only KK version)
Usb drivers from STEXperia sola kernel instead stock samsung
(probably, UMS bug has been fixed. For me it works perfectly now.)
LZ4-compressed kernel support
minor fixes
27.06.2014
sources updated
enabled init.d support in kernel (JB)
added Lagfree governor
added ROW I/O scheduler
23.06.2014
fixed cpu oc via 3rd party apps
lowmemorykiller should be less aggressive
19.06.2014
cwm 6.0.48 instead stock recovery
14.06.2014
initial build
Kernel Tweaks:
(GPU/CPU undervolting and related tweaks)
Undervolting the CPU/GPU will bring battery savings but possible instability.
1) to undervolt CPU use ChronoKernel app or via init.d scripts:
Code:
echo *cpufreq* varm=xx > /sys/kernel/liveopp/arm_summary
for example, following sets voltage varm=0x10 for 200 MHz:
Code:
echo 200000 varm=0x10 > /sys/kernel/liveopp/arm_summary
or
Code:
echo 200000 varm-=10 > /sys/kernel/liveopp/arm_summary
(default varm voltage for 200 MHz is 0x1a but, code above sets 0x1a - 0xa(10) = 0x10 )
2) to undervolt GPU use init.d script:
Code:
echo x vape=yy > /sys/kernel/mali/mali_dvfs_config
Example:
Code:
echo 2 vape=0x1c > /sys/kernel/mali/mali_dvfs_config
"2" stands for DVFS idx (look at mali_boost_high/mali_boost_low).
To prevent overriding of such settings by ChronoKernel app, add line to your init.d script after GPU undervolting
Code:
chmod 444 /sys/kernel/mali/mali_dvfs_config
Don't change voltage of both GPU/CPU at the same time - otherwise if you'll get reboot if won't know what it caused. The same is for different frequencies - if you'll change voltage of too many steps you won't know which frequency caused reboot. It's not easy process, though, following method simplifies it: https://github.com/mkaluza/i9070_kernel_CoCore-E/wiki/Undervolting-janice .
3) Custom LiveOPP table.
By default some LiveOPP steps such as 100, 200, 500 ... MHz aren't used. You can re-enable those by following way:
Code:
echo 200000 enable=1 > /sys/kernel/liveopp/arm_summary
Or use CK app instead. Don't enable it unless it uses the same voltage as 400 MHz. The same is for the rest frequencies - until some of them uses same voltage, no point to enable steps with lower freq. I've added 100 MHz just to further make some tests with it once again. It can't use lower varm than 200 MHz - that's why it's disabled by default. Furthermore, not all phones well keep undervoltage, that's why 100-400 MHz steps uses same stock voltage varm=0x1a.
UPD. thanks to @borkins for this nice editor LiveOPP ARM steps: http://forum.xda-developers.com/showpost.php?p=60311291&postcount=2921
(CPU freq management tweaks)
CPU freq. limiter for screen OFF, adjust it via:
Code:
SYSFS=/sys/kernel/cpufreq/cpufreq_limits_on_suspend
echo min=100000 > $SYSFS
echo max=400000 > $SYSFS
echo on > $SYSFS
Too low frequency may cause freezes after wakeup and sound scrathes. If you use Dynamic govermor, it make no sense to use cpufreq limiter, because Dynamic already takes care about CPUfreq usage optimization. For more, read wiki.
Input boost
This feature has been originally written by zwliew.
Not all governors support input boost. Supported governors: ondemand, interactive, conservative, ZenX, lionheart and some others. Dynamic governor has its own boost interface.
Default boost frequency is 400 MHz.
Code:
echo 450000 > /sys/kernel/cpufreq/input_boost_freq # echo '0' to disable
echo 35 /sys/kernel/cpufreq/input_boost_ms
(BackLight Notification)
To configure time intervals of BLN blinking type(bln_ondelay stands for time of blink and bln_offdelay - delay between two blinks):
Code:
echo bln_ondelay=500 > /sys/kernel/bln/blink_mode
echo bln_offdelay=6000 > /sys/kernel/bln/blink_mode
Make sure BLN enabled:
Code:
echo 1 > /sys/class/misc/backlightnotification/enabled
# to enable bln_wakelock.
echo on > /sys/kernel/bln/bln_wakelock
Use /sys/devices/virtual/misc/backlightnotification/blink_mode to changes modes.
Blink modes:
0 = no blinking
1 = blink backlight only
2 = blink backlight + rear cam flash
3 = blink rear cam flash only
(Module autoload)
Now there is a simple way to load modules at boot. Just move needed modules to /system/lib/modules/autoload and reboot device(or execute /etc/init.d/00autoload)
(DDR overclock)
This feature has been developed by me and allows you to improve DDR and GPU performance. Please note, that DDR OC might work unstable and cause filesystem corruption. Though, DDR clock of 975 MHz has been highly tested and should work fairly stable on most devices.
Overclocking DDR over 975 MHz is highly NOT recommended, especially in case if you not sure that you can deal with possible consequences.
How to OC DDR:
1) by using
this script .
2) by using Terminal Emulator(in example below 975 MHz):
Code:
echo 0x5017f > /sys/kernel/liveopp/pllddr_oc_on_suspend
This setting will be applied right after disabling screen.
(Minimum APE/DDR OPP on screen on)
This feature has been developed by me and allows to set minimum APE/DDR OPP states which are used when screen is ON. APE controls many systems such as an image, video, audio system etc. DDR OPP determines performance of DDR. Default values are APE50 and DDR50. Lower states(APE25/DDR25) reduces power consumption, but may cause graphical glitches like screen blinking or filling it by vertical grey lines. If you don't have mentioned effects, it's recommended to use APE25/DDR25:
Code:
echo ddropp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
echo apeopp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
* if you don't have folder /sys/devices/pri_lcd_ws2401.0, use /sys/devices/pri_lcd_s6d27a1 instead.
(Screen refresh rate)
This feature has been developed by cocafe and modified by me. Lower lcdclk frequency cause less power usage, but too low values makes system unusable.
Following command allows to change screen refresh rate:
Code:
echo x > /sys/kernel/mcde/lcdclk
use
Code:
cat /sys/kernel/mcde/lcdclk
to see supported lcdclk modes. Default mode is 60 Hz which is recommended in most typical cases. If you've screen tearings, blinking etc. change resresh rate mode to "60+ Hz":
Code:
echo 0 > /sys/kernel/mcde/lcdclk
(ABB charger tweaks)
added tweakable interfaces for termination current. To adjust it type(just an example):
Code:
echo 90 > /sys/kernel/abb-chargalg/termination_curr_1st
echo 70 > /sys/kernel/abb-chargalg/termination_curr_2nd
curr_2nd should be less or same as curr_1st. Lower values prolongs battery lifetime, but also slows battery charging.
Default values are curr_1st == curr_2nd == 150 mA. Please note, too low values maybe aren't usable.
(Dynamic FSync)
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.
How to enable/disable the Dynamic FSync (default enabled):
1) By downloading and using Trickster MOD
2) By directly editing the file /sys/kernel/dyn_fsync/Dyn_fsync_active and setting 1 to enable the dynamic fsync, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic fsync feature
Code:
su
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
- Or run this command to re-enable the dynamic fsync feature
Code:
su
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
Click to expand...
Click to collapse
(Software CRCs)
Disabling software CRCs gives you a slight bump(10-30% is what they say) of MMC performance, at the cost of a possibility of your Ace 2 freezing randomly.
Code:
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Click to expand...
Click to collapse
(Dynamic dirty page writebacks)
This feature has been developed by Christopher83 and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss).
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.
How to customize the dynamic dirty page writebacks feature (default disabled):
Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature, set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page writebacks when the system is active (screen on), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)
1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic dirty page writebacks feature
Code:
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
echo 1 > /proc/sys/vm/dynamic_dirty_writeback
- Run this command to set customize the two intervals (30 seconds while the screen is on, 10 seconds when the screen is off)
Code:
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs
(Storages switch)
By default, this kernel comes with internal and external storages switched. You can revert this behavior, by changing the line
Code:
use_swap=1
to
Code:
use_swap=0
in file /ramdisk/fstab_specs.txt and flashing the kernel package. This setting will remain until you format /ramdisk partition.
(Tweak app)
ChronoKernel settings
Thanks mars_army for this app!
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Other information
How to install kernel with F2FS support:
For those who don't know what F2FS is, check these links out:
General info
Benchmarks
Warnings
1. Make sure you have a standard kernel for backup that uses ext4 just in case. If anything goes wrong, just install the backup kernel and reboot to recovery.
2. You will have to wipe your /data and /cache partitions for this. Basically factory reset.
3. For 2, you could try to backup data and restore after formatting. I haven't tried this but I could work.
Click to expand...
Click to collapse
Installation method of kernels with full F2FS support:
Before installation make sure that you have at least ~25% free space on each partition that will be formatted to F2FS.
for CWM:
make backup
format /system partition to F2FS (and also /data and /cache if you didn't do it before)
restore /system partition
for TWRP
disable md5 generation
make backup of /system
find backup folder, run terminal and rename file system.ext4.win to system.f2fs.win (it won't work via filemanager)
Code:
mv system.ext4.win system.f2fs.win
format /system as f2fs
restore backup
Then install kernel.
To install kernel on ROM that isn't supported by installer:
(supported ROMs):
Stock ROM 4.1.2
CyanogenMod 10.1*
CyanogenMod 10.2*
CyanogenMod 11*
CyanogenMod 12
* most ROMs that based on this ROM are also supported. Despite of that some ROMs are supported, they can work incorrectly due to difference in their initramfs scripts(ramdisk).
1. Install needed ROM first,
2. Type following command in terminal emulator:
Code:
cd /
find . -xdev | cpio -o -Hnewc | gzip -9 > /sdcard/x.y.z.cpio.gz
where x.y.z is OS version (for example - CM11-based ROM - 4.4.4.cpio.gz)
3. put this file in installer at osfiles/x.y.z/ (e.g. osfiles/4.4.4/4.4.4.cpio.gz)
4. install kernel
To install a new ROM that is not F2FS compatible:
Use EXT4 to F2FS converter script
or edit the updater-script as follows
(manual method)
1. Replace strings
"mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");"
with string
"run_program("/sbin/busybox", "mount", "/system");"
2. Replace string
"format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");"
with string
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
3. Add string
"run_program("/sbin/busybox", "mount", "/data");"
after strings
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
"run_program("/sbin/busybox", "mount", "/system");"
4. Add string
"unmount("/data");"
before string
unmount("/system");
Click to expand...
Click to collapse
Fix for CodinaP, recognized as Codina in recovery (thanks @fluffi444 )
http://forum.xda-developers.com/showpost.php?p=58839849&postcount=2448
Various tweaks (thanks @xo.en )
xo.en said:
do NOT use swapiness more than 30, bigger values can bog machine down!
small advice:
Code:
#!/system/bin/sh
#chmod -R 755 /system/etc/init.d
chown root:root /proc/sys/vm;
echo "30" > /proc/sys/vm/swappiness;
busybox chmod ugo+rw /proc/sys/vm/vfs_cache_pressure;
echo "50" > /proc/sys/vm/vfs_cache_pressure;
echo "2000" > /proc/sys/vm/dirty_expire_centisecs;
echo "1500" > /proc/sys/vm/dirty_writeback_centisecs;
busybox chmod ugo+rw /proc/sys/vm/dirty_ratio;
echo "90" > /proc/sys/vm/dirty_ratio;
busybox chmod ugo+rw /proc/sys/vm/dirty_background_ratio;
echo "75" > /proc/sys/vm/dirty_background_ratio;
echo "512" > /sys/devices/virtual/bdi/default/read_ahead_kb;
echo "10" > /proc/sys/fs/lease-break-time;
echo "4" > /proc/sys/vm/page-cluster;
echo "5360" > /proc/sys/vm/min_free_kbytes;
echo "8" > /proc/sys/vm/min_free_order_shift;
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "1" > /proc/sys/vm/overcommit_memory
busybox sysctl -w kernel.random.write_wakeup_threshold=256;
busybox sysctl -w kernel.random.read_wakeup_threshold=1376;
and
Code:
#!/system/bin/sh
chmod 0644 /sys/module/lowmemorykiller/parameters/adj
echo "0,3,6,10,12,15" > /sys/module/lowmemorykiller/parameters/adj;
chmod 0644 /sys/module/lowmemorykiller/parameters/minfree
echo "1024,2048,2560,4096,6144,8192" > /sys/module/lowmemorykiller/parameters/minfree;
chmod 0644 /sys/module/lowmemorykiller/parameters/debug_level
echo "0" > /sys/module/lowmemorykiller/parameters/debug_level;
works miracles in my case, especially second one, imho it would be hard to use different values, i was trying different setups for YEARS(with this machine), so it is not just random throw. Bigger LMK REALLY makes things worse here. It usually has tremendous influence over fluidity of gui, and whole sys.
Click to expand...
Click to collapse
Odin kernel
with TWRP
with CWM
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Master-ZizO said:
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Click to expand...
Click to collapse
This kernel based on stock CM kernel by TeamCanjica, and it's have same changes.
Damn, I was so excited to see a new kernel, but I noticed that it's actually for 4.1.2. I almost flashed it on a 4.4.3, not that it would have been such a tragedy.
Is there gonna be a version for the KitKat ROMs?
dragos281993 said:
Is there gonna be a version for the KitKat ROMs?
Click to expand...
Click to collapse
yes, please wait a little bit.
ChronoMonochrome said:
yes, please wait a little bit.
Click to expand...
Click to collapse
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
This is for stock samsung JB?
yes it is
Even if in the download section it says 4.4.2, I flashed the kernel on a Carbon 4.4.3 and it's working like a charm. The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
five attempts and each time bootloop and recovery keys do not work.
dragos281993 said:
The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
Click to expand...
Click to collapse
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
dragos281993 said:
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
Click to expand...
Click to collapse
Maybe I'll add this Governor.
mPiter said:
five attempts and each time bootloop and recovery keys do not work.
Click to expand...
Click to collapse
please post your last_kmsg log.
@ChronoMonochrome how do I do ksmg log when the phone does not turn on?
ChronoMonochrome said:
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
Maybe I'll add this Governor.
please post your last_kmsg log.
Click to expand...
Click to collapse
If you added "lagfree", you'd be the first on to do it, so it would obviously be amazing and it would make you a better developer than others, of course.
EDIT: About the frequency thing, for me it shows 0MHz probably because I've got kitkat 4.4.3. Everything else's working fine.
@mPiter ,
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Click to expand...
Click to collapse
p.s. restore stock kernel first.
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
ip3000 said:
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
Click to expand...
Click to collapse
I have no idea what caused this problem. Because on stock kernel and CM kernel i did not have this problem. Try to remove this folder and create text file with same name.
Would love to see lag free if anyone could make possible
Sent from my GT-I8160 using Tapatalk
1. Compatible for aosp 4.4.4 or only for CM?
2. Whats is the different with custom kernel by zwliew?
@ChronoMonochrome

Categories

Resources