[G3 Android Development] mostafaz:
Features/Changelog

KERNEL 2.3

* restore f2fs driver to 3.4.y stable

* codes compiled with gnu gcc 7.1.0 toolchain compile by me

* kernel use updated libraries instead of linux ones by gcc 7.1.0

* add CFS kernel scheduler switch (how to balance tasks onto different CPU unit)

* fix devfreq nodes unavailable

* remove async-fsync

* add fsync control

* remove sched relaxing cpu-idle by nvidia

* merge kernel cpu codes

* merge cpu-idle codes from 3.10.y kernel mainline

* merge codes to fat, exfat from 3.10.y kernel mainline

* add interactivex, nightmare, darkness governors

* merge massive codes to crypto, of, cgroup, kernel time, ntp, tick, rcu, lib

* merge codes to net

* merge codes to zram driver from 4.11.y kernel mainline

* merge codes to base/power & base/core & qos driver from 3.10.y kernel mainline

* merge codes to mdss

* merge codes to selinux

* merge codes to kernel/irq

* merge codes to kernel scheduler, cputime, cpu accounting from 3.10.y kernel mainline

##### Ramdisk/Stweak

* add dcop7 profile by [MENTION=4161740]dcop7[/MENTION]

* add salvation profile by me

* add per governor profile for alucard & nighmare cpu governors

* add profile for alucard hotplug

* add adreno-idler controls

* add multicore power saving controls

* fix thermal driver switch

* fix synapse stats, now it shows kernel stats

* fix node path for cpu-boost & devfreq governors

* update busybox to latest codes from branch "busybox.net/master", compiled by me

KERNEL 2.2

* allow modem to enter deep sleep (control interface in mastercore tab)

* merge random driver from 3.16.y

* disable more debug option to save space and cpu cycle

* add maple io scheduler (based on zen & sio)

* merged alucard touch-boost driver's option and stability to caf cpu-boost to fix the min freq locking to boosted freq and boosted core & freq in heat.

* merge NTFS fs from 3.10.y

* merge EXT4 & F2FS fs from 3.10.y ( better coded file system can save power )

* merge update to selinux

* removed dyn_fsync and add fast async_fsync from htc

* merge update to ZRAM & ZSMALLOC from 4.8 kernel

* merge swap speed update to ZRAM driver

* merged massive update to memory code from 3.10.y and upstream code aurora updates backported from 4.5.y

* merge updates to memory code and ram leaks fixes ( slub, OOM, LMK, page_aloc, etc )

* merged some updates to memory code from 4.6.y and some fixes to shrinker code

* merged many updates to memory code, including vmpressure and new shrinker API & tunable process reclaim control available in memory tab

* add zen-interactive tuning to optimized & overclocked version and all ondemand based GOVs (Tunes the kernel for responsiveness at the cost of throughput and power usage) (web)

Thank you [MENTION=2376110]dorimanx[/MENTION]

##

* all profiles will be reset at fisrt boot after flash

KERNEL 2.1

* merge kernel printk driver from 3.10.y

* merge cgroup & library updates from 3.10.y

* merge I/O driver from 3.10.y (all io schedulers converted to use new io update)

* merge LMK driver from 3.10.y and fix panic under memory pressure

* merge ipc & android binder codes from 3.10.y (interprocess communication mechanism, rom and apps should do better under pressure, thanks dorimanx)

* add quick wake-up driver and fix for lpm and cpu-idle

* available in 3 style

1- same as previous versions

2- same as #1 + GCC OPTimization Flags (Ofast, Graphite, ...)

3- same as #1 & #2 + CPU and GPU has been Over Clocked ( CPU 2.8 GHz and GPU 657 MHz )

##### Ramdisk/Stweak

* add suigintou profile

* some typo fixes

* add overclocked frequencies which works only in Over Clocked version

KERNEL 2.0

* merge MMC codes from 3.10.y kernel mainline

* merge cpuidle codes from 3.10.y

* add ability to disable dmesg (kernel logging)

* merge qseecom from 3.10.y

* merge watchdog from 3.10.y

* add frandom

* add Boeffla sound engine

sysfs available at: /sys/class/misc/boeffla_sound/*

enable with : echo 1 > /sys/class/misc/boeffla_sound/boeffla_sound

to change volume you should add left & right chanel : echo "20 20" > /sys/class/misc/boeffla_sound/speaker_volume

##### Ramdisk/Stweak

* add ability to disable dmesg logging (others tab)

* add sound control options

* update busybox

KERNEL 1.9

* merge workqueue from 3.10.y and use new idr

* alucard hotplug is up with latest version to use the new workqueue structure.

##### Ramdisk/Stweak

* add an option to deactivate hotplug protection (you can set hotplug out of the stweak and cortexbrain can't change it to stweak value)

KERNEL 1.8

* Linux kernel version 3.4.113

* merge arm codes

* getting almost same and close features to v 1.7 features

* revert back to 3.4.y kernel scheduler

* multirom support

* merge lge v30j kernel source codes

* merge lmk (low memory killer) & oom (out of mermory) codes

* squashfs implemented (i don't have any tools to enable it)

* lz4 de/compression updated with 3.10.y

* enabled unaligned memory access (faster lz4 de/compression)

* merged latest 3.4.y f2fs updates

* merged latest zram from 3.10.y Motorola

* merged latest zsmalloc codes 3.10.y and some other memory improvement codes

* merged kgls, devfreq codes (gpu update)

* merged much saner idr and using it in most parts of kernel

* zram using new idr and compact in sleep mode (see kernel log for statistics while going to sleep, much improved results will show when ram loaded and have much app)

* kernel uses 300 Mhz internal clock

* swapping scheduled on all cores to free up ram faster

* merged codes to main cpu driver

* added null cpu-idle governor

* merged some CVE commit

* krait boost enabled

* added dynamic fsync

* compiled with latest Linaro 6.1.1

##### Ramdisk/Stweak

* added Gabriel profile (ran asphalt 8 , no lag in high detailed maps and ui)

* added undervolt control

* added sleep state control for VM (there is 2 profile for VM in Gabriel profile that you can adapt and use, one for awake state (speedmod) and one for sleep state (boeffla, adapted from boeffla kernel)

* added more controls on hotplug and cpu

* added kcal profiles

* control for new features, dynfsync, vibrator strength , ...

KERNEL 1.7

* Linux kernel version 3.4.112

* Merge UKSM codes (ultra kernel same page merging)

* Add cpufreq barry_allen, intel, ondemandx, interactive & ondemand from AOSP kernel mainline

* Merge Nvidia Cpuquiet codes (available on kernel adiutor)

* Merge cpu codes

* Merge multi cpu policy limiter

* Merge cpu freq limiter v 5.4 (per core functions)

* Merge cpu-boost update (per core functions)

* Merge sched codes (higher linux mainline)

* Merge workqueue codes (higher linux mainline)

* Merge power codes (higher linux mainline)

* Disable bunch of trace & debug to save cpu cycle

* Merge HMP (heterogeneous multi-process) codes (higher linux mainline)

* Cpu underclock to 268 MHz

* Merge KGSL codes

* Add Thunder-plug hotplug driver

* Add Intelli-plug hotplug driver

* Merge Random codes (3.16.y mainline)

* Merge RWSEM optimization

* Merge sl[a,o,u]b memory codes

* Merge zcache codes (3.18.y mainline)

# with new cpu/sched codes some hotplug driver may don't work properly, codes need more update !

* Implement Stweak support (kernel control with profile support)

* Stweak: add more sleep/awake functions to control kernel

* Stweak: add tunable service control (fstrim,memory reclaim and more)

* Stweak: initial 5 profile support (extreme battery,battery,default,performance,extreme performance)

# install Dorimanx stweak by default as respect him, other different ui available in download folder

KERNEL 1.6

* Introduce Linaro 5.3 Toolchain

* Fixed latest kernel crash

* Add Ondemand CPU_Governor from semaphore kernel (nexus 4)

* Update Intelli_Thermal driver (parameters descriptions)

* Set High Performance Profile After Boot Up to Finish the OS Load Process

As Fast As Possible and Smoothly,

Normal Profile will set after CPU Temp Goes Under 65 degC, Just a While

KERNEL 1.5

* F2FS bring up to date with Kernel.org latest codes,

stable branch 4.7-rc1-3.4 - 2016-06-03

* Sync FS just once before suspend, not all the time

* Mako Hotplug added

* Quick Wakeup driver added

( system back into suspend without fully resuming

if the wake reason was a special quick wakeup event )

* Make MPDecision to be Conservative

* Enhanced Power Efficiency by NVIDIA implemented

* Interactive CPU back to LGe changes

* CPU Boost updates and Relative Dependencies Removed

this should solve last Kernel oops

* Back light control by jon777 added

Force Rom to use defined min/max back light

/sys/module/lm3697/parameters/*

* Arch Power & Gentle Fair Sleepers sysfs added

/sys/kernel/sched/*

disabling gentle fair sleepers may bring you smoother ui

* Add MMC CRC control sysfs

/sys/module/mmc_core/parameters/use_spi_crc

( Enabling software CRCs on the data blocks can be a

significant (30%) performance cost )

KERNEL 1.4

* Support F2FS (see this instruction)

* Neon-mode activated

* Neon optimized Crypto

KERNEL 1.3

* Fix kernel crash/reboot

* Add Smartmax cpu_governor

* cleanup dmseg to produce better logs

* Install custom busybox for my later needs

* Enable msm_thermal by default

KERNEL 1.2

* Support Exfat

* Tune down default thermal limit to 72 & 75 degC

* Switch to XZ kernel compressor

* Initial support for D850, 1 ,2

KERNEL 1.1

* Introducing UBERTC-7 toolchain, Experimental (first time for G3)

* CPU_Governor added:

zzmoove,alucard,impulse,intellimm,hyper,nightmare,darkness,lionheart,(slim & elementalx : gpu_boost feature)

(i can't have slim and elementalx at same time) :\

interactive synced with AOSP source

* GPU_Governor added:

conservative + adreno idler,simple gpu algorithm

* Minimum GPU Freq 27 MHz

* Hotplug added:

alucard,msm

* I/O Scheduler added:

bfq,fiops,sioplus,zen,vr,tripndroid

* CPU_Boost updated

* Scheduled Workqueue implemented

* CPU Voltage control supported

* MSM_Thermal v2 implemented

* KCal v2 implemented

* Live user sharpening control implemented

can access by "/sys/devices/virtual/graphics/fb0/sharpening"

* KSM ,disabled by default

* Adaptive LMK (by motorolla) implemented

* Fsync implemented

* TCP congestion algorithm (westwood & ...)

* State notifier (determine screen state, on & off)

/sys/module/state_notifier/parameters/*

* ZCache,ZRam,Zsmalloc,Frontswap implemented

zram compressor can switch to lzo or lz4

maximum compressor streams can change from 1~4 cpu

## enabling zram can drain battery faster, google zcache,zram,frontswap

## to enable 512 MiB zram copy these commands to your init.d script or run in terminal:

swapoff /dev/block/zram0;
echo "1" > /sys/block/zram0/reset;
echo "lz4" > /sys/block/zram0/comp_algorithm;
echo "2" > /sys/block/zram0/max_comp_streams;
echo "512MB" > /sys/block/zram0/disksize;
mkswap /dev/block/zram0;
swapon /dev/block/zram0;

* Process reclaim implemented (i don't think it's working ...)

* EXT4 filesys updated

* Frandom implemented (10-50 times faster than what you get from Linux urandom)

* Disabled crc check

* memutils, memcpy, memmove optimization

## filename resolution

SLIM is for slim cpu_governor

ELEX is for elementalx cpu_governor

U7 is for UBERTC-7 toolchain

U5 is for UBERTC-5.3.x toolchain

L5 is for Linaro-5.3.x toolchain

OPT is for optimized with gcc build flags

STK is for no-optimization