sabato 5 ottobre 2013

Rilasciato il [KERNEL] Mpokang Kernel v9 [3.0.98] [772MB RAM] [Purple tint fix] [4-10-2013]

Quasi in sordina è stato presentato ieri sera la nona versione del rivoluzionario kernel per Samsung Galaxy Nexus che riesce a recuperare 80 MB di memoria RAM nascosta del dispositivo portandola da 693 a 772 MB e a ottimizzare il consumo della batteria e aumentare le prestazioni. Non ho avuto ancora modo di testare questa nuova versione che adotta il nuovo kernel 3.0.98. Potete scaricare Mpokang Kernel v9 qui:

Il link al progetto è qui:

Di seguito, invece, il 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