[ONE Original Android Development] RenderBroken:
R13 (Rebase) is Here!!

Download

Major, major changes in this rebase. I am very pleased with how its going the the outcome so far. I have been able to finally do things I have been wanting since I first got this phone. I was able to merge in some really cool scheduler/cpu-boost stuff. Really makes the scheduler smarter in terms of how it schedules load onto certain cores and when it should. The changelog is pretty massive so def check it out. I have been able to merge in most of the major features. Since I have reverts a rather large upstream devfreq commit, I have to redo how Overclocking/underclocking works. So that's really the only main feature missing but its not important at all in m eyes. Also I re-did how undervolting works so it is rock solid now. I have been able to sustain -75mv. As always, let me know how it goes for you!

Changelog:

e27ab01 (HEAD, origin/cm-12.x, rebase-t2, cm-12.x) Defconfig: Update

aed0969 Thermal: Cleanup for Franco's simplified Thermal Control

486ab62 msm: thermal: add my cleaned up in-kernel driver

5694f2a Revert "Bricked Thermal: Initial Port for OPO"

a3d4a02 Defconfig: Update

e075721 base.c: Fix merge error

8745976 fastcharge: limit the max charge level to 2100 mA

18afa6d fastcharge: backported and adapted for OnePlus One

8eea47e msm: pm: Fix cpu collapse timeout

09cea0e msm: simple gpu Algorithm: fix val may be used uninitialized in this function

36c1d04 msm: simple gpu Algorithm: Initial coding for devfreq based Adreno Drivers

c777063 selinux: Add option to force audit

1c923b4 ARM: topology: Suppress clock-frequency error

cbae7629 ARM: topology: Add efficiency coefficient for Krait

09ca4eb arm: remove cast for kzalloc return value

bf8a6f4 ARM: kernel: update topology to use new MPIDR macros

ad38f42 ARM: kernel: enhance MPIDR macro definitions

a24d76c ARM: 7482/1: topology: fix section mismatch warning for init_cpu_topology

d14a1fe ARM: 7463/1: topology: Update cpu_power according to DT information

1af2218 ARM: 7462/1: topology: factorize the update of sibling masks

ade1568 block: scheduler: add TRIPNDROID

5578469 softirq: use ffs() in __do_softirq()

4100901 irq: Optimize softirq stack selection in irq exit

09745d6 irq: Justify the various softirq stack choices

8ec9ae1 irq: Improve a bit softirq debugging

2176ae5e irq: Optimize call to softirq on hardirq exit

e73dbaf irq: Consolidate do_softirq() arch overriden implementations

1002728 irq: Force hardirq exit's softirq processing on its own stack

19da7aa Fix lockup related to stop_machine being stuck in __do_softirq.

51205fd irq: Don't re-enable interrupts at the end of irq_exit

3938e29 irq: Remove IRQ_EXIT_OFFSET workaround

276bd0f irq: Sanitize invoke_softirq

26f757d irq: Ensure irq_exit() code runs with interrupts disabled

145686c smp: Implement kick_all_cpus_sync()

78218d5 genirq: Add devm_request_any_context_irq()

9a30dc3 genirq: Generic irq chip requires IRQ_DOMAIN

f41ea83 genirq: Prevent spurious detection for unconditionally polled interrupts

8e35ccb genirq: Set the irq thread policy without checking CAP_SYS_NICE

c063a62 genirq: Set irq thread to RT priority on creation

b5a3939 genirq: Provide means to retrigger parent

ec0282c genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n

7447ea8 cpufreq: zzmoove: add new [MENTION=3279788]ZaneZam[/MENTION] governor

fe69d35 cpufreq: slim: tuning and burning [MENTION=4911350]RobbieL811[/MENTION] settings

58a1f4b cpufreq: slim: add new [MENTION=233732]slim[/MENTION] governor

186e85f cpufreq: intellimm: add new [MENTION=3332811]faux123[/MENTION] governor

b149c6a CPUFREQ: Impulse: Initial port of [MENTION=3795148]neobuddy89[/MENTION] 's conservative take on Interactive

576c8a7 Fix gcc-4.9.0 miscompilation of load_balance() in scheduler

97a051f workqueue: usb: move hub init and LED blink work to power efficient workqueue

f613427 workqueue: net: rfkill: move poll work to power efficient workqueue

80e3b0b workqueue: net: wireless: move regulatory timeout work to power efficient workqueue

c04cca2 workqueue: asoc: compress: Use power efficient workqueue

b5c58ad workqueue: fbcon: queue work on power efficient wq

8dcaf84 workqueue: timekeeping: move clock sync work to power efficient workqueue

875e47e workqueue: asoc: jack: Use power efficient workqueue

b6c09c0 workqueue: asoc: pcm: Use the power efficient workqueue for delayed powerdown

d34e407 workqueue: phylib: queue work on system_power_efficient_wq

e8fa996 workqueue: block: queue work on power efficient wq

c75ab33 mm, oom: make dump_tasks public

e466b5b lowmemorykiller: enhance debug information

3c33714 staging: android: lmk: add rcu lock while test task flag

5a225a3 staging: android: lmk: Tune up

ab5a05d lowmemorykiller: Account for highmem during kswapd reclaim

472c6f1 staging:android:lmk: Use for_each_thread helper

16b78da staging: android: lmk: check TIF directly

f0c420f staging: android: lmk: skip if killed by lmk

4b7946e staging: android: lmk: check free memory when tasks switch to background

ff4029c staging: android: lowmemorykiller: implement task's adj rbtree

1decd50 staging: android: lowmemorykiller: select a new task to kill

22620c3 Revert "lowmemorykiller: Account for highmem during kswapd reclaim"

1a60557 timer: optimize apply_slack()

a851b317 mm, memcg: move all oom handling to memcontrol.c

86ea293 OOM, PM: OOM killed task shouldn't escape PM suspend

024d5be trace: allow memkill tracing to be selectively enabled

68219ac mm, oom: base root bonus on current usage

65ed78c mm, oom: prefer thread group leaders for display purposes

43ec1ed oom_kill: add rcu_read_lock() into find_lock_task_mm()

965d7db oom_kill: has_intersects_mems_allowed() needs rcu_read_lock()

0a0fccd oom_kill: change oom_kill.c to use for_each_thread()

a3b54f6 mm/oom_kill: remove weird use of ERR_PTR()/PTR_ERR().

fda5fb4 mm, oom: remove redundant sleep in pagefault oom handler

991a90e mm, oom: cleanup pagefault oom handler

4cfd6a3 oom: use N_MEMORY instead N_HIGH_MEMORY

b69f6fb mm, oom: fix race when specifying a thread as the oom origin

66e1a6d mm, oom: change type of oom_score_adj to short

0cabc71 mm, oom: allow exiting threads to have access to memory reserves

cce93b9 mm, oom: reduce dependency on tasklist_lock

02e13d0 mm, oom: reintroduce /proc/pid/oom_adj

adaa3f9 mm, memcg: introduce own oom handler to iterate only over its own threads

0c58c0e mm, oom: introduce helper function to process threads during scan

ff9c0f4 mm, oom: fix potential killing of thread that is disabled from oom killing

9e8a857 mm, oom: do not schedule if current has been killed

be31732 mm, oom: fix and cleanup oom score calculations

f46837e mm, oom: fix badness score underflow

631d3f9 oom: remove deprecated oom_adj

619c201 mm, oom: normalize oom scores to oom_score_adj scale only for userspace

d3787b0 trace: memkill: trace LMK and OOM kills

9d492ef GPU: Set Initial Freq at 200MHz

be36c6d GPU: Enable OC Freq of 657MHz

6a8d4a0 block: zen: Optimize usage for android

9309818 msm: mdss: KCAL: Do not read from picture adjustment registers

429d053 msm: mdss: KCAL: Read values from MDP registers wherever possible

69bbbe8 msm: mdss: KCAL: Apply default values on boot

0ca9496 msm: mdss: KCAL: Queue changes when panel is powered off

3056742 msm: mdss: KCAL: Remove MODULE_DESCRIPTION

d1dec3f msm: mdss: KCAL: Update Kconfig description

11f51dc msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl

77a7b73 msm: mdss: KCAL: Check panel power state before applying values

6d4992a msm: mdss: KCAL: Allow kcal_enable to control all post-processing features

5a3fa92 msm: mdss: Keep KCAL within its own source file

c9982c9 msm: mdss: Replace PGC implementation with PCC for KCAL

ab2a4e1 msm: mdss: Remove deprecated __dev* markings

7f35078 msm: mdss: Add pa_v2 support to KCAL

fc769d4 msm: mdss: Add KCAL support for post processing control [v2]

223aab3 msm: slimbus: use interruptible wait to reduce system's load average

a492f90 mdss: we can probably use interruptible thread on this code path

aa375a5 sound: add sound control to increase headphones, speaker and mic gain.

43a2791 tick: don't update idle time if cpu offline

deb9b15 msm: mpm: disable debugging

2ede9a1 smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread()

5c6a3a5 msm: kgsl: Report correct GPU frequency in sysfs

6d8a5fb selinux: conditionally reschedule in hashtab_insert while loading selinux policy

ff3e6a3 selinux: conditionally reschedule in mls_convert_context while loading selinux policy

cb5f9a9 selinux: no recursive read_lock of policy_rwlock in security_genfs_sid()

7dc35a7 selinux: fix a possible memory leak in cond_read_node()

1e86a2a selinux: simple cleanup for cond_read_node()

3245a6a mm/page-writeback.c: fix dirty_balance_reserve subtraction from dirtyable memory

8706e82 block: Reserve only one queue tag for sync IO if only 3 tags are available

abaf874 readahead: make context readahead more conservative

de4790b6 binfmt_elf.c: use get_random_int() to fix entropy depleting

8b43e7ea writeback: fix race that cause writeback hung

3f84d11 msm: clock-krait-8974: User voltage control for msm-cpufreq device

aec209f Revert "Voltage Control: generic voltage control for DTS based kernels"

a85d6c3 Revert "Voltage Control: Fix voltage setting bug"

0ef7948 Linux 3.4.107

0506314 Linux 3.4.106

79a2121 mm: vmscan: If kswapd has been running too long, allow it to sleep

15575ea writeback: fix writeback cache thrashing

aed7def exFAT support

9cd65df Linux 3.4.68 - 3.4.105

093341a power: catch wake-up requests in suspend_again

99795b3 kexec: update kexec hardboot patch for Lollipop release

18628f5 Change KEXEC_HB_KERNEL_LOC

4be84c4 Implement kexec-hardboot

31a3ffd fs: introduce a generic shutdown ioctl

309c9aa f2fs: bring up to date with Jaegeuk's branch

5d75ac5 fs: Add support for f2fs

4acd96b Input: Send events one packet at a time

9878cc4 netfilter: disallow unsafe ffast math optimizations

7ae4e2e block: Make CFQ default to IOPS mode on SSDs

80bc928 prima: Update to LA.BF.1.1.1.c3-02800-8x74.0

a3e7ea7 fs: take i_mutex during prepare_binprm for set[ug]id executables

1d264a5 cpufreq: conservative: set min_sampling_rate to 10000 like into others governors

382900e5 cpufreq: conservative: squashed updates from my ak branch

ee80950 CPUFREQ: SMARTMAX GOV: added new governor based on ondemand and smartass2

d8de174 cpufreq: yankactive: Tune default parameters

ce7aebb cpufreq: yankactive: Update to latest

091eab7 cpufreq: yankactive: added new governor for latency-sensitive workloads

af9470a Bricked Thermal: Initial Port for OPO

0eafc31 PM: Enable asynchronous noirq resume threads to save the resuming time

4e283ae char: frandom: initial commit v1.1

9ec9add msm: lpm-levels: add suspend_again handler

4a93957 power: quickwakeup: initial driver

333fd2d sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire

68e9d25 fs: sync: add missing return if fsync is disabled from userspace.

5421fb9 fs: sync: enable fsync by default.

5a4f059 Add BFQ/SIO/FIOPS/ZEN/VR IO Schedulers

3d498f4 Voltage Control: Fix voltage setting bug

4c5c394 Voltage Control: generic voltage control for DTS based kernels

f78fcea TESTING!!!: Revert changes made by Google Merge

573d24b TESTING!!! Revert "hrtimers: Move lock held region in hrtimer_interrupt()"

45aa4bf TESTING!!! Revert "hrtimers: Move SMP function call to thread context"

a69d0bd TESTING!! Revert "hrtimer: Update hrtimer base offsets each hrtimer_interrupt"

ff319e4 hrtimer: Prevent remote enqueue of leftmost timers

cf81c13 PM: devfreq: Fix simple_ondemand crashing on startup

0f7bbd1 irq: ratelimit is useless

dc9eab2 msm: msm_rq_stats: Tone down mpdecision

50b09f6 sched: Add controls for sched features

c18fc93 TESTING!!! Revert "tracing/sched: add load balancer tracepoint"

bab8e5d TESTING!!! Revert "tracing/sched: Track per-cpu rt and non-rt cpu_load."

283d0d6 TESTING!!! Revert "sched: Fix the relax_domain_level boot parameter"

f027863 Revert "sched: Remove get_online_cpus() usage"

7495c48 Defconfig: Initial Setup

1555994 Makefile: Optimize

b19ed9f PM: Introduce suspend state PM_SUSPEND_FREEZE

5bc16f4 CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug

f5f168f writeback: increase bdi_min_ratio to 5

9e660fa tty: Fix high cpu load if tty is unreleaseable

0a092c2 genirq: Sanitize spurious interrupt detection of threaded irqs

7e8f10f2 hrtimer: Set expiry time before switch_hrtimer_base()

bcb3e5c hrtimer: Prevent all reprogramming if hang detected

d3ac9ab msm: bam_dmux: Tune values and remove panic

1a9c35c lib/memcopy: use glibc version

67f5740 lib/string: use glibc version

849ab91 sync: don't block the flusher thread waiting on IO

f7b5b4c soc: qcom: smd: Fix SMD packet sync loss issue

a206b02 sched: Fix reference to stale task_struct in try_to_wake_up()

54bbf2d sched: Remove redundant update_runtime notifier

82e0b9d sched: Introduce preempt_count accessor functions

b83d95c sched: Fix inaccurate accounting for real-time task

af356a6 sched/nohz: Clean up select_nohz_load_balancer()

3d74f7b printk: rename printk_sched to printk_deferred

1521165 sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check

f28b35e sched: Fix double normalization of vruntime

022cff5 sched/nohz: Fix rq->cpu_load calculations some more

26942d9 sched/nohz: Fix rq->cpu_load[] calculations

7708d6a sched/rt: Avoid updating RT entry timeout twice within one tick period

98e3e35 sched,rt: fix isolated CPUs leaving root_task_group indefinitely throttled

d0acb38 sched: Guarantee new group-entities always have weight

a06cbfd sched: Fix hrtimer_cancel()/rq->lock deadlock

90b1dc5 sched: Fix cfs_bandwidth misuse of hrtimer_expires_remaining

7692c60 sched: Fix race on toggling cfs_bandwidth_used

f518d3d sched: Avoid throttle_cfs_rq() racing with period_timer stopping

d468e15 sched/rt: Fix rq's cpupri leak while enqueue/dequeue child RT entities

753f5c6 sched: Fix select_idle_sibling() bouncing cow syndrome

9d20346 sched: Force sleep on consecutive sched_yields

a5b38bc power: make sync on suspend optional

5ca6550 net/neighbour: queue work on power efficient wq

b79146f workqueue: rename kernel/workqueue_sched.h to kernel/workqueue_internal.h

0e9631f regulator: core: Use the power efficient workqueue for delayed powerdown

438da4d workqueue: Add system wide power_efficient workqueues

4ad7a8f workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues

9faa5d8 mm/huge_memory: use new hashtable implementation

f3bb8f9 block,elevator: use new hashtable implementation

8b56cbf cgroup: use new hashtable implementation

fe76aa4 lib/int_sqrt.c: optimize square root algorithm

f242f13 rwsem: Implement writer lock-stealing for better scalability

5e89c50 cpufreq: Add Frequency limiter driver

2508783 msm: Add Bricked Hotplug driver

166ebef msm: Add Intelli Hotplug driver

3965a7d msm: Add MSM hotplug driver

abb2e651 mutex: Back out architecture specific check for negative mutex count

79c1869 mutex: Queue mutex spinners with MCS lock to reduce cacheline contention

eea7381 mutex: Make more scalable by doing less atomic operations

9bda001 cpufreq: cpu-boost: Upgrade to enhanced version

af11e1b drivers: notifier: switch to backlight solution

d984530 drivers: Add state notifier driver

a7c0668 sched: Skip load update for idle task

67cf73a sched/debug: Fix sd->*_idx limit range avoiding overflow

ca965f6 sched/debug: Limit sd->*_idx range on sysctl

1e16bd5 sched: Fix memory leakage in build_sched_groups()

6ef0cd9 sched: Micro-optimize the smart wake-affine logic

20218e1 sched: Implement smarter wake-affine logic

f50aedc mutex: Move mutex spinning code from sched/core.c back to mutex.c

8be7d31 sched: window-stats: Fix overflow bug

af45819 sched: Window-based load stat improvements

efbe821 sched: Disable wakeup hints for foreground tasks by default

ad78ac3 sched: Call the notify_on_migrate notifier chain for wakeups as well

a973e2f cpufreq: cpu-boost: Consider only task load to decide on sync frequency

e917f7f cpufreq: cpu-boost: Handle wakeup hints received for foreground tasks

a932f34 cpufreq: cpu-boost: Introduce scheduler assisted load based syncs

78a35a6 TESTING: Revert "sched: Fix reference to stale task_struct in try_to_wake_up()"

9353b20 sched: window-based load stats for tasks

55e7d79 sched: Make scheduler aware of cpu frequency state

f1af8fb smp: Allow booting a specific subset of CPUs

b31aa3d cpufreq: Introduce new relation for freq selection

b4cbd64 cpufreq: Break out early when frequency equals target_freq

c7815da msm:rq_stats: Register for Cpufreq policy notification

06fdf1e msm: msm_rq_stats: Add hotplug enable toggle

8592e78 soc: qcom: rq_stats: Pass correct cpu id to update_average_load function

7ce1ca0 cpufreq: Prevent mpdecision changing scaling freq

6e51a7e cpufreq: Use signed type for 'ret' variable, to store negative error values

7483994 cpufreq: Improve debug prints

431f248 cpufreq: Make sure target freq is within limits

5a5a0fa cpufreq: Restore policy min-max properly

e7b363b cpufreq: Simplify cpufreq_add_dev()

f5bce9a cpufreq: Add policy notifiers

ba4f843 cpufreq: Notify governors when cpus are hot-[un]plugged

95fa50c cpufreq: expose scaling_cur_freq sysfs file for set_policy() drivers

4119866 cpufreq: Export user_policy min/max

b663c3b cpufreq: Return directly in __cpufreq_get if policy is NULL

6e2c190 drivers: cpufreq: Upstream optimizations

775f050 cpufreq: Always allow update of user policy

9c47593 TESTING: Revert "PM / devfreq: Refactor Cache HWmon governor to be more generic"

a835f04 Build: Setup Environment

f84ca2f CPUFREQ: TESTING!! Performing cleanup

721c76d msm: use of swp{b} is deprecated for ARMv6+

9464a57 build: GCC Fixes