[Galaxy S Plus I9001 Android Development] Christopher83:
K^Kernel 3.4.93 v2.1 for KK 4.4 ION+PMEM ADSP (from 380MB to 406MB of free RAM)

Hi guys,

I released the new v2.1 kernel builds ready to be used on new ADC CM 11.0 Release 7 (but should work on Release 6 too):

- Kernel 3.4.93
- Sources synched with cm-11.0 repo branch of DevCon Team
- Built with my latest custom Linaro 4.9.1-2014.05 toolchain optimized for Cortex-A8
- New kernel branch based on kk_2.7-stable branch of Code Aurora Forum
- Up to 406MB of free RAM thanks to the dynamic allocation via CMA of ION heap related to MM features (camcorder, video playback/recording/encoding)
- ksm: Provide support to use deferred timers for scanner thread (credits to Chintan Pandya)
- net: ipv6: ping: Use socket mark in routing lookup (credits to Lorenzo Colitti)
- net: add a sysctl to reflect the fwmark on replies (credits to Lorenzo Colitti)
- net: support marking accepting TCP sockets (credits to Lorenzo Colitti)
- mmc: core: enable eMMC5.0 card detection (credits to Subhash Jadavani)
- block: bfq: Squashed update from BFQ-v7r3 to BFQ-v7r4 (credits to arco68)
- futex: Prevent attaching to kernel threads (credits to Thomas Gleixner)
- futex: Add another early deadlock detection check (credits to Thomas Gleixner)
- futex-prevent-requeue-pi-on-same-futex.patch (credits to Thomas Gleixner)
- futex: Validate atomic acquisition in futex_lock_pi_atomic() (credits to Thomas Gleixner)
- futex: Always cleanup owner tid in unlock_pi (credits to Thomas Gleixner)
- futex: Make lookup_pi_state more robust (credits to Thomas Gleixner)
- msm7x30: Update defconfigs (credits to Christopher83)
- Revert "msm: pm2: Setup memory for save/restore cpu registers early" (credits to Christopher83)
- Revert "ARM: 7169/1: topdown mmap support" (credits to Laura Abbott)
- msm7x30: Use CMA for MM ION heap (credits to Christopher83, Blefish, Chintan Pandya)
- msm7x30: Update defconfigs to enable CMA (credits to Christopher83)
- mm: try_to_unmap_cluster() should lock_page() before mlocking (credits to Vlastimil Babka)
- msm:vidc: Amend error checks on ION API failures (credits to Maheshwar Ajja)
- ion: cma: Add debug heap ops for CMA heap (credits to Chintan Pandya)
- ariesve: New high memory configurations (380MB, 388MB, 398MB, 406MB) (credits to Christopher83)
- msm7x30: Update default and custom configs (credits to Christopher83)

Note:

Now the memory of MM ION heap (used by camcorder, video playback/encoding) is dynamically allocated through CMA framework and freed when not used, so it could be reused by other processes.

The new memory configurations are:

- 380MB of free RAM, it has the same amount of free ram than stock kernels, this is more stable, everything is fully working, but you could have some slowdowns with apps that require a high amount of free memory

- 388MB of free RAM, it has additional 8 MB of free ram than stock kernels, this is suitable for the users that use the device primarly for calls, messages, simple apps and simple games. The camera, video recording (both 480p and 720p modes) and video playback are fully working

- 398MB of free RAM, it has additional 18 MB of free ram than stock kernels, this is suitable for the users that use the device also with heavy apps, various concurrently used apps and games. The camera, video recording (both 480p and 720p modes) and video playback are fully working

- 406MB of free RAM, it has additional 26 MB of free ram than stock kernels, this is suitable for the users that use the device also with heavy apps, many concurrently used apps and heavy games. The camera and video playback are fully working, the video recording works only in 480p mode (remember to switch to 480p on camcorder before install this configuration)

Attention:

As already written inside the post of the new ADC CM 11.0 Release 7, please keep KSM (Kernel Samepage Merge) feature disactive inside Settings -> Performance -> Memory Management. That option could cause memory allocation problems when using 720p camcorder or while playing HW/HW+ videos.