Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,730,807 Members 43,634 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL] Mpokang Kernel v10 [3 variations] [773MB RAM] [+50% RAM performance] [14/10]

Tip us?
 
mpokwsths
Old
(Last edited by Rixsta; 4th February 2014 at 06:48 PM.) Reason: v10 final version
#1  
mpokwsths's Avatar
Senior Member - OP
Thanks Meter 1668
Posts: 631
Join Date: Nov 2009
Location: Chania

 
DONATE TO ME
Default [KERNEL] Mpokang Kernel v10 [3 variations] [773MB RAM] [+50% RAM performance] [14/10]

Mpokang kernel


This kernel focuses on MAX USABLE RAM. As we know, the GNex has 1GB of RAM. A big part of it (300+ MB) is reserved for various things.
Is it really needed? No, it looks like that actual usable RAM can be much much more.

Feature List:

 
Many features, just as many as every other kernel. The differentiating points of this kernel are:
1) First kernel with the pioneering RAM reclaiming: from 693 --> 773 MB RAM.
2) Most available RAM: Still has the most RAM available.
3) Flexibility: Choose any of the 3 variations that suits you
4) Sophisticated ZRAM mechanism: zsmalloc from Linux kernel 3.11, enhanced zram mem operations
5) First and only kernel at the moment with huge 50%+ memory performance boost


As of v10, three (3) variations of Mpokang kernel for everyone to choose according to his needs.
Performance is the same, only the available RAM changes:

SuperRAM: 773 MB RAM -- Some rare video apps (or the gay CM video camera) may not work properly.
CM "gay" : 762 MB RAM -- All video apps work OK but still 720p, suitable for CM based roms.
1080p version: 751 MB RAM -- 1080p fully working, compatible with everything, even Android 4.2.2. Does not contain ramdisk. Clean rom installation required.


To sum up: For Android 4.3 all variations are applicable. For Android 4.2.2 ONLY the 1080p variation applies.


Valuable Notes

 
Note 1: Many redundant and practically useless stuff is removed. Badass sounding governors and schedulers, which don't actually offer anything were removed.

Note 2: Interactive gov from kernel 3.4, hyper gov and SIOPlus, deadline and row are the best out there. Maybe FIOPS on the future.

Note 3: In general .. more useless stuff removed equals more RAM. This does not apply to the SuperRAM variation, where many many features can be added as modules without reducing the available memory.


Kernel source: https://github.com/mpokwsths/mpokang_kernel

DOWNLOADS:

Moderation - Deleted Links.

FAQs:
Q: When using SuperRAM version I have trouble running apps like Video editor, video calling in some apps.
A: Some rare apps don't like this extreme RAM reclaiming. Use another variation.

Q: My screen colors seem a bit changed. Even if I change them like I used to in TricksterMod...
A: It's because of Purple Tint Fix. Many users experience that ugly tint, and this kernel cures it. Slightly change your color settings in Trickster. If, whatever you do, the colors look bad, report it here and I will see what I can do.

Q: I want the full 1GB of RAM. Is this possible?
A: No, full 1GB is unachievable (with TI's ION code). But if someone is willing to drop all the media support (camera, video, media playback) close to 900MB is achievable.
The Following 228 Users Say Thank You to mpokwsths For This Useful Post: [ Click to Expand ]
 
mpokwsths
Old
(Last edited by mpokwsths; 4th October 2013 at 06:03 PM.)
#2  
mpokwsths's Avatar
Senior Member - OP
Thanks Meter 1668
Posts: 631
Join Date: Nov 2009
Location: Chania

 
DONATE TO ME
Changelog:

Ver. 1:
- Now using ramdisk (Osmosis modified). Now you can flash the kernel unconditionally (no more screwing from other ramdisks) and my preferred settings are kept.
- Introduction of Cleancache from kernel 3.7
- Introduction of Zsmalloc, Zcache and Frontswap from kernel version 3.8

Ver. 2:
- Reclaimed 4 MB of RAM (now it should be at 771 MB) from the frame buffer. TI has been very generous spending GNex's RAM all over the place.
- Pushed some commits from ASPK, mainly memory hotplugging related
- Went back to Anykernel format. No ramdisk since there were some complains of problems with some roms.
- Fixed vfs_cache_pressure (script not needed)
- Some memory reservation and ram leaks fixing (900KB RAM more).
- Should have a bit better battery consumption since I altered the dirty ratios.

Ver. 3:
- Modified the installation script. Now it copies the hacked Power HAL to the system so that altered gov settings do not reset after screen off (No need to check "Frequency Lock" in Trickster now).
- Removed a bunch of useless stuff. The kernel itself shrunk significantly. Boot time should be faster than ever.
- Reclaimed another 600K
- Changed interactive governor default settings. Only above_highspeed_delay needs to change to 20000 now.

Ver 4:
- Disabled all kernel debugging (should be a bit faster)
- Reclaimed another 512KB (compared to 4.1)
- Added some battery preservation routines (should consume a little less battery when watching videos)
- Some scheduler tinking

Ver. 5:
- Updated Linux kernel 3.0.88 --> 3.0.94
- Enabled ZRAM from kernel 3.7 (thanks Boype & Faux)
- Disabled Cleancache & Zcache
- Some more battery preservation additions
- Enabled full Hard Float kernel building.

Ver. 6
- ARM patches for slightly improved performance
- pushed a commit for ZRAM that will provide somewhat better memory management
- some other changes for the next version (ZRAM working together with Zcache & Frontswap)

Ver. 7
- Using Linaro Toolchain 2013.09
- Updated Linux 3.0.94 --> 3.0.96
- Improved mem operations of zram
- Backported zsmalloc from latest kernel 3.11 (zsmalloc = zram memory allocator)
- Some kernel scheduler and timer fixes
- Changes in VFS cache pressure and swappiness values to find the sweet spot

Ver. 8
- Several mutex code commits (multithreading optimization)
------ ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+
------ mutex: place lock in contended state after fastpath_lock failure
------ ARM: mutex: use generic atomic_dec-based implementation for ARMv6+
------ mutex: dynamically disable mutex spinning at high load
- Added VUSIM voltage regulation. This is a screen regulator, so undervolting it should save some power (I have it at 1500mV without problems)
- ARM: mm: lazy cache flushing on non-mapped pages
- A couple of cache related optimizations for Cortex-A9
- Set default temperature limit @ 75C. Should be absolutely safe.
- voltage.h: Set VDDMIN to 810 - Smartreflex calibrated MPU min voltage now is 810mV
- i2c: use usleep_range to wait instead of msleep (imoseyon reported potential performance benefits)
- ARM: 7178/1: fault.c: Port OOM changes into do_page_fault
- readahead: fault retry breaks mmap file read random detection
- Some scheduler improvements?

Ver. 9
- Updated Linux 3.0.96 --> 3.0.98
- New ramdisk for the kernel. Now it can be flashed unconditionally anytime.
- Enabled loadable module support.
- Compiled many modules as external modules. Reclaimed 400KB of RAM.
- Reverted the 300Hz kernel timer. The load calculation was all over the place
- Reverted some UV commits (especially IVA) that seemed to produce freezes and SODs. Hopefully they are fixed.
- Some CPU cache code and kernel scheduler improvements.
- Added the io_is_busy interface to Interactive governor
- Now, apps that seeked 1080p won't crash anynore. 1080p support is removed in the media_profiles.xml
- Altered some default settings: color scheme slightly colder, interactive above_highspeed_delay=20000, io_is_busy=1
The Following 93 Users Say Thank You to mpokwsths For This Useful Post: [ Click to Expand ]
 
okanb3
Old
#3  
okanb3's Avatar
Senior Member
Thanks Meter 105
Posts: 338
Join Date: Jan 2013
Location: Ankara
Yay, new kernel! Gonna test it when you pushed a build up
 
Lancez
Old
#4  
Lancez's Avatar
Senior Member
Thanks Meter 398
Posts: 1,436
Join Date: Aug 2008
Location: Los Angeles
Looking forward to it

Sent from my Galaxy Nexus using Tapatalk 2
My Devices:
Nexus 5 32G White (Stock Rooted + ElementalX Kernel + Gravity Box KK)
Nexus 7 2013 32G (Stock Rooted + ElementalX Kernel + Gravity Box KK)
Galaxy Nexus (AOKP + Fancy Kernel)
Samsung s8600 bada (Stock Wave 2.0, Damn you Samsung)
Samsung i9100 (NeatROM + PhilZ Kernel)
Sony Ericsson X10a (TripNMiUI "Iris" 1.7.3)
Samsung Captivate (Apex 9.2)
Samsung i8000 (my own custom HTC Sense 2.5_23699)
Samsung i900 (my own custom M2D 2.0_21916)
 
mpokwsths
Old
#5  
mpokwsths's Avatar
Senior Member - OP
Thanks Meter 1668
Posts: 631
Join Date: Nov 2009
Location: Chania

 
DONATE TO ME
Going to need some testers. Are you interested? All the people interested for testing, sign up here.
The Following 14 Users Say Thank You to mpokwsths For This Useful Post: [ Click to Expand ]
ronnie_1712 Old
#6  
Guest
Thanks Meter
Posts: n/a
I'm ready if you can enable module for PGM. Can't live without it
 
Lancez
Old
#7  
Lancez's Avatar
Senior Member
Thanks Meter 398
Posts: 1,436
Join Date: Aug 2008
Location: Los Angeles
Quote:
Originally Posted by ronnie_1712 View Post
I'm ready if you can enable module for PGM. Can't live without it
+1

Sent from my Galaxy Nexus using Tapatalk 2
My Devices:
Nexus 5 32G White (Stock Rooted + ElementalX Kernel + Gravity Box KK)
Nexus 7 2013 32G (Stock Rooted + ElementalX Kernel + Gravity Box KK)
Galaxy Nexus (AOKP + Fancy Kernel)
Samsung s8600 bada (Stock Wave 2.0, Damn you Samsung)
Samsung i9100 (NeatROM + PhilZ Kernel)
Sony Ericsson X10a (TripNMiUI "Iris" 1.7.3)
Samsung Captivate (Apex 9.2)
Samsung i8000 (my own custom HTC Sense 2.5_23699)
Samsung i900 (my own custom M2D 2.0_21916)
The Following User Says Thank You to Lancez For This Useful Post: [ Click to Expand ]
 
UlbaWan-
Old
#8  
Member
Thanks Meter 18
Posts: 83
Join Date: Mar 2012
A kernel who can be really different ! It deserve to be tested. I'm interested
Bootloader : PRIMELC03
Radio : XXLJ1
Recovery : ClockworkMod Recovery 6.0.4.7
Kernel : Stock Shiny ROM
ROM : Shiny ROM
 
doomed151
Old
#9  
doomed151's Avatar
Senior Member
Thanks Meter 2067
Posts: 1,366
Join Date: Dec 2009
I shall test this kernel.
Also, it would be nice if you could list down stuff that you changed/added compared to stock kernel.
If I don't reply to your PM, it simply means that I've nothing useful to say.
 
nudou350
Old
#10  
nudou350's Avatar
Senior Member
Thanks Meter 89
Posts: 297
Join Date: Oct 2012
Looks awesome! I could be a tester!

Sent from my Galaxy Nexus using xda premium

THREAD CLOSED
Subscribe
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes