[Galaxy S 4 i9505 Android Development] Synergy510:
September Test Build

After a long vacation, and having to deal with the problems with my ROM, I've decided to tone down on even more things to reach a stable platform. The biggest problem we face is the lags that occur after some period of time, usually hours after a boot. I've narrowed this down to the FIOPS IO scheduler that I made default and a memory leak I accidentally created.

Once I made enough apps run in the background (FaceBook, G+, Instagram, Snapchat...) I had used a lot of memory, which put our phone under stressful conditions, which FIOPS doesn't really like. FIOPS is a great IO scheduler for fluid UI and was going to be CM's candidate for the default scheduler, but after some testing, it had some really bad edge cases that created a lot of lag.

Regarding the memory leak, I saw that having a lot of recently opened apps would cause a lot of slowdown in apps that needed a lot of memory to function, SnapChat for example. On the kernel side, my commit for an optimized Low Memory Killer Tree had an extra read mutex lock in it that would never be unlocked. The lag would go away when I cleared recent apps, forcefully freeing this (possibly) locked memory. This coupled with FIOPS' downfall with the low memory situation caused some lags with us.

The default scheduler has now been changed to BFQ to go in hand with some changes in the CM upstream that are related to making the UI really fly. Some commits have come in regarding this, included in this build and the UI does seem a bit more responsive. I've also kept the same Low Memory Killer Tree commit, with the read lock fix. If everything goes well, this can stay, but with more testing, I may remove it based on your guys' feedback.

I labeled this as a test build, but it's just as solid as any other release. I'd like to get your guys' feedback on how well everything is performing.

ROM:

Updated SaberMod GCC 4.8 Toolchains

Removed Strict Aliasing Optimization

Reverted some device specific optimization

Built with a slightly optimized Bionic Repo, many thanks to [MENTION=5576897]-+BB+-[/MENTION] and the JDCTeam

Built with an updated Jemalloc repo, the memory allocator used with Bionic, thanks to [MENTION=4898097]arter97[/MENTION]

Added the Android M Preview 3 Bootanimation

Added Blue/Red/Green/Yellow Google colored LED animation during boot, all credited goes to [MENTION=5464206]AntaresOne[/MENTION] for his implementation

Removed Nova Launcher, and added back Trebuchet

Re-added all previously removed apps

Updates for boot_trim: F2FS partitions can now be trimmed at boot

Updates for boot_sqlite3: Add a 60 second delay

Changed the Ambient Display pulse schedule:

Initial pulse is now a bit faster

Pulses stay on for 10 seconds

Once you get a notification you will see: An initial pulse, one 15 seconds after the first disappears, another 30 seconds after the first, and a final pulse 1 minute after the second

Sync with CM Upstream up and until Sept 13 @ 12 noon PST

For the kernel, I've removed many things, so it's just easier to say what I re-added

Kernel:

Change back to latest SaberMod GCC 4.9 toolchain

Intelliactive is the only new CPU gov I forgot to enable it in this release

BFQ IO scheduler added

BFQ/Interactive is the default config

Built with XZ compression for smaller boot.img

Enabled sched_autogroup for better multitasking support

Added NVIDIA power saving commits

Made LMK a bit more aggressive thanks to [MENTION=4898097]arter97[/MENTION]

Still using an RB Tree for the LMK, this needs testing still

So far bluetooth is working for me. I've been trying to stress out my phone for a while now, but I won't see any lags/bugs until I get some more usage out of it. But what I'd like for you guys to help me test is:

Bluetooth stability: I'm unsure of how it is with the nightlies, but I'm able to use my Jaybird bluebud X and G Watch without any Bluetooth Share FCs

Lags: Stress you phone out and see how it reacts. Try closing apps with the home button and keep an eye out for any low memory situations. If clearing some recent apps makes the lag go away, I need to look into freeing up more memory. Or switch IO schedulers to see which ones remedy this.

Ambient display weirdness: I tweaked some of the values that could possibly go below the workable threshold, so if any glitches occur, let me know.

A full wipe is recommended

SaberModCM12.1-20150913-jflte-test.zip