[Xperia Z5 Android Development] zacharias.maladroit:
Custom kernel NovaCore I.1_n_1

has been updated

to C_2_1_2

LineageOS 14.1 (CM-14.1)

https://drive.google.com/open?id=0BykGGWB96CBQd1c0OEJtMHRxWHc

CarbonRom 5.1

https://drive.google.com/open?id=0BykGGWB96CBQTEZwSjhRUmlSdDQ

crDroid

https://drive.google.com/open?id=0BykGGWB96CBQNnp6cUtUalh0Qms

RR (Resurrection Remix)

https://drive.google.com/open?id=0BykGGWB96CBQek9Qem93cDhDTm8

Other builds / ROMs / devices will follow later

Changelog

other changes (?)

sched: fallback CPU when no CPUs are available (should make hotplug + cpusets some more reliable)

LMK: avoid false adaptive LMK triggers (only probably applies if adaptive LMK is activated)

gpiolib fix

genirq - this should make the overhaul of the big IRQ work complete (how to test ?) [Currently PM QoS is not getting notifications if irq affinity is changed by core isolation with irq_do_set_affinity. Use irq_set_affinity_locked instead to get notifications when updating affinity.]

do a few changes/fixes to FauxSound, that should make it work better (locked toggles)

big-core off value has been lowered from 74°C to 68°C which should be way more friendly :eek:

switched to 7.2.1 Linaro Toolchain [testing]

several stability-fixes

optimized compiler flags

[BACKPORTS] several bluetooth stability-fixes, this should make reliability much better (?)

underclock of the BIG core to 1536 MHz, underclock of the little core to 1344 (best efficiency)

fixed additional Hz references in drivers to prepare for higher timer rate

sched: prefer awake CPUs over idle [might save more energy]

core_ctl: online delay - keep cores offline for 0.5s (500 ms) once unplugged (cooler, makes more sense)

core_ctl: additional fixes

timer-rate raised from 100 to 1000 Hz (smoother, less battery drain, better race-to-idle)

enhanced rwsem implementation for ARM [fixme ? arm64 ?]

re-add of: don't hotplug the perf(ormance) cluster on BCL event, since we're downclocked and cooler, performance should stay at or close to max all the time

qseecom & other few fixes

several scheduler changes that are supposed to send the CPUs faster to sleep (potential power savings)

MUCH lower hotplug and throttling temperatures = cooler [need feedback if the whole concept of the 2 sets of temperatures were understood correctly]

raised the little core temperatures a bit for better performance, less lag

cpu-boost: input boost now with high priority scheduling ! (less lag/latency)

avoid IPI on hot plugged cores (mostly only applies to big cores / less overhead ? more smoother/performance ?) [tracked down: stability issues - so reverted]

reverted: WiFi PM

WiFi driver: updated to .160 source [kudos to [MENTION=8041676]GreyLeshy[/MENTION] for diffing the source]

WiFi driver: updated to .436 (Japan) source [kudos to [MENTION=8041676]GreyLeshy[/MENTION] for diffing the source]

WiFi: fixed power saving tweaks so that pre-set limits + settings match

added: PowerSuspend 1.7 [stability evaluation, perhaps this helped with much better idle drain]

added: Adreno Idler

Adreno Idler tweaks to make it more aggressive (needs feedback, testing)

reverted: default frequency of the GPU of 27 MHz (might have been too laggy), need feedback how it works out with Adreno Idler now

RCU: several additional improvements - much less overhead, less wakeups (better battery ? better smoothness ?) + fixed a case where booting would fail

camera: reduce framedrop, reduce latency

camera: fix nullpointer exception

reverted PDesire Audio: even though sound was better, there was potential for overflow (?) of buffers and thus recurring "blip" with it and FauxSound enabled, also there was a constant "rrrrrrr" sound on lower volumes -

very annoying

(at least for me - instead of discreet white noise from default sound output) - so going back to non-PDesire Audio for now

enabling High Performance Mode by default for anything else but 24bit/192kHz

additional optimization flags [stable, those have been reviewed to work (fixme: need evaluation for bugzilla on graphite flags)]

FauxSound: unlock microphone settings [this should fix the "too low" microphone]

backported binder 4.9 with fine-grained locking (NO global binder lock, this should make performance for >=2 clients/pairs MUCH better; better smoothness, less lags/latency, better consistency)

several RCU improvements

RCU priority boosting + RCU fixes to avoid priority inversion, guarantee consistent operation (lower latency/lags) [NOT possible on Sony Stock ROM]

a few other things not mentioned

Info on binder from msm-4.9:

Another Milestone reached:

fine-grained locking in binder driver

[...]

https://lwn.net/Articles/726821/

Fine-grained locking

https://source.android.com/devices/architecture/hidl/binder-ipc#locking

This kernel has the binder IPC driver backported from 4.9 kernel (state September 6th, so bleeding edge)

since we're running on 3.10 kernel - a relatively early Android kernel base which still has several "features"/components missing from upstream Linux kernel,

the "global lru shrinker" feature could not be used (for now ?) since it would require several (bigger or smaller) subsystem changes throughout the kernel ...

Base source branch

:

https://github.com/zachariasmaladro...mi_r2/commits/Sun-Kernel_NovaCore_I.1_n_1_C_2