[OnePlus 5 ROMs, Kernels, Recoveries, & Other Devel] adinkwok:
Release Six is out

Even though the changelog here seems short, just look at my source on GitHub... I spent a crap load of time upstreaming this scheduler.

I also have testers helping me test builds with Sultanxda's simplified thermal driver... more on that later.

Also, considering that this kernel will be included in all of our CarbonROM builds, should I rename this project to Carbonite Kernel?

DO NOT flash this on any AOSP custom ROMs unless they say they are compatible. Although CarbonROM includes this kernel, these builds are not compatible.

Changelog:

Upstreamed scheduler with commits from Linux v4.9

Here's the changelog that shows all the new patches: (sorry XDA Labs users)

sched: SCHED_LOAD_SCALE is now SCHED_CAPACITY_SCALE

91dbd29 sched/autogroup: Fix 64-bit kernel nice level adjustment

25bd345 sched/autogroup: Do not use autogroup->tg in zombie threads

857026e sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()

2f79d52 sched/core: Remove pointless printout in sched_show_task()

cd950a4 sched/core: Fix incorrect utilization accounting when switching to fair class

5cb98bf sched/core: Optimize __schedule()

32c3f60 sched/fair: Fix and optimize the fork() path

4c17729 sched/fair: Optimize find_idlest_cpu() when there is no choice

6a26a91 sched/fair: Optimize sum computation with a lookup table

9315f16 sched/fair: Rename SCHED_LOAD_SHIFT to NICE_0_LOAD_SHIFT and remove SCHED_LOAD_SCALE

4339f65 ANDROID: sched/fair: add tunable to set initial task load

5fa42dc sched/fair: Initiate a new task's util avg to a bounded value

9c60d3d Revert "sched/fair: add tunable to set initial task load"

86f50f7 sched/fair: Update comments after a variable rename

965462f sched/fair: Generalize the load/util averages resolution definition

921bb24 sched/core: Enable increased load resolution on 64-bit kernels

1eedba3 sched/core: Add switch_mm_irqs_off() and use it in the scheduler

571456d sched/deadline: Fix a bug in dl_overflow()

3cc44b8 sched/fair: Move cpufreq hook to update_cfs_rq_load_avg()

9c6510b sched/fair: Fix asym packing to select correct CPU

6ac7005 sched/cpuacct: Check for NULL when using task_pt_regs()

d4419fb2 sched/clock: Make local_clock()/cpu_clock() inline

b2da99b sched/clock: Remove pointless test in cpu_clock/local_clock

65ed7b2 sched/core: Add preempt checks in preempt_schedule() code

1fb20f9 sched/numa: Remove unnecessary NUMA dequeue update from non-SMP kernels

14313b0 sched/cpuacct: Split usage accounting into user_usage and sys_usage

a2088f3 sched/cpuacct: Show all possible CPUs in cpuacct output

bb7248a locking/atomic, sched: Unexport fetch_or()

fe7862b kernel: add kcov code coverage

b4e0bf0 sched/cpuacct: Simplify the cpuacct code

49caa67 sched/cpuacct: Rename parameter in cpuusage_write() for readability

5d59e7d sched/kasan: remove stale KASAN poison after hotplug

66990dd kasan: add functions to clear stack poison

29b6d6c cpufreq: Add mechanism for registering utilization update callbacks

a3a9ac6 sched/deadline: Remove dl_new from struct sched_dl_entity

0ce0ae2 sched/cputime: Fix steal time accounting vs. CPU hotplug

30103fa sched: Account rr tasks

a5d7507 sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()

3bf4278 sched/deadline: Remove superfluous call to switched_to_dl()

8646aa1 sched/debug: Fix preempt_disable_ip recording for preempt_disable()

b97ec22 sched, time: Switch VIRT_CPU_ACCOUNTING_GEN to jiffy granularity

18306cc sched/rt: Kick RT bandwidth timer immediately on start up

1d0041c sched/debug: Add deadline scheduler bandwidth ratio to /proc/sched_debug

478d047 sched/debug: Move sched_domain_sysctl to debug.c

2597cfb sched/debug: Move the /sys/kernel/debug/sched_features file setup into debug.c

11741da sched/core: Remove duplicated sched_group_set_shares() prototype

a1db8de sched: Always inline context_switch()

9ebe8dd sched: Mark __schedule() stack frame as non-standard

b548bfc wait.[ch]: Introduce the simple waitqueue (swait) implementation

a0782c0 cgroup: convert cgroup_subsys flag fields to bool bitfields

8f95251 sched/core: Remove dead statement in __schedule()

b24a03a atomic: Export fetch_or()

2a5ecfb sched/numa: Spread memory according to CPU and memory use

1c2fe70 sched/deadline: Fix the earliest_dl.next logic

1f39a2f sched/fair: Disable the task group load_avg update for the root_task_group

2e899f7 sched/fair: Move the cache-hot 'load_avg' variable into its own cacheline

3a958e0 sched/core: Move the sched_to_prio[] arrays out of line

31aa5fa sched/cputime: Convert vtime_seqlock to seqcount

4fcf43d sched/cputime: Introduce vtime accounting check for readers

be0b200 sched/cputime: Rename vtime_accounting_enabled() to vtime_accounting_cpu_enabled()

9d1bce5 sched/cputime: Correctly handle task guest time on housekeepers

0ec969a sched/cputime: Clarify vtime symbols and document them

3e10a6e sched/cputime: Remove extra cost in task_cputime()

8fd4846 sched/fair: Make it possible to account fair load avg consistently

855a73a locking, sched: Introduce smp_cond_acquire() and use it

971c8db objtool: Add STACK_FRAME_NON_STANDARD() macro

11d96a0 buildscript: Should've been included already...

0d03c69 Merge 4.4.76 into nougat-oss

cd950a4 sched/core: Fix incorrect utilization accounting when switching to fair class

5cb98bf sched/core: Optimize __schedule()

32c3f60 sched/fair: Fix and optimize the fork() path

4c17729 sched/fair: Optimize find_idlest_cpu() when there is no choice

6a26a91 sched/fair: Optimize sum computation with a lookup table

9315f16 sched/fair: Rename SCHED_LOAD_SHIFT to NICE_0_LOAD_SHIFT and remove SCHED_LOAD_SCALE

4339f65 ANDROID: sched/fair: add tunable to set initial task load

5fa42dc sched/fair: Initiate a new task's util avg to a bounded value

9c60d3d Revert "sched/fair: add tunable to set initial task load"

86f50f7 sched/fair: Update comments after a variable rename

965462f sched/fair: Generalize the load/util averages resolution definition

921bb24 sched/core: Enable increased load resolution on 64-bit kernels

1eedba3 sched/core: Add switch_mm_irqs_off() and use it in the scheduler

571456d sched/deadline: Fix a bug in dl_overflow()

3cc44b8 sched/fair: Move cpufreq hook to update_cfs_rq_load_avg()

9c6510b sched/fair: Fix asym packing to select correct CPU

6ac7005 sched/cpuacct: Check for NULL when using task_pt_regs()

d4419fb2 sched/clock: Make local_clock()/cpu_clock() inline

b2da99b sched/clock: Remove pointless test in cpu_clock/local_clock

65ed7b2 sched/core: Add preempt checks in preempt_schedule() code

1fb20f9 sched/numa: Remove unnecessary NUMA dequeue update from non-SMP kernels

14313b0 sched/cpuacct: Split usage accounting into user_usage and sys_usage

a2088f3 sched/cpuacct: Show all possible CPUs in cpuacct output

bb7248a locking/atomic, sched: Unexport fetch_or()

fe7862b kernel: add kcov code coverage

b4e0bf0 sched/cpuacct: Simplify the cpuacct code

49caa67 sched/cpuacct: Rename parameter in cpuusage_write() for readability

5d59e7d sched/kasan: remove stale KASAN poison after hotplug

66990dd kasan: add functions to clear stack poison

29b6d6c cpufreq: Add mechanism for registering utilization update callbacks

a3a9ac6 sched/deadline: Remove dl_new from struct sched_dl_entity

0ce0ae2 sched/cputime: Fix steal time accounting vs. CPU hotplug

30103fa sched: Account rr tasks

a5d7507 sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()

3bf4278 sched/deadline: Remove superfluous call to switched_to_dl()

8646aa1 sched/debug: Fix preempt_disable_ip recording for preempt_disable()

b97ec22 sched, time: Switch VIRT_CPU_ACCOUNTING_GEN to jiffy granularity

18306cc sched/rt: Kick RT bandwidth timer immediately on start up

1d0041c sched/debug: Add deadline scheduler bandwidth ratio to /proc/sched_debug

478d047 sched/debug: Move sched_domain_sysctl to debug.c

2597cfb sched/debug: Move the /sys/kernel/debug/sched_features file setup into debug.c

11741da sched/core: Remove duplicated sched_group_set_shares() prototype

a1db8de sched: Always inline context_switch()

9ebe8dd sched: Mark __schedule() stack frame as non-standard

b548bfc wait.[ch]: Introduce the simple waitqueue (swait) implementation

a0782c0 cgroup: convert cgroup_subsys flag fields to bool bitfields

8f95251 sched/core: Remove dead statement in __schedule()

b24a03a atomic: Export fetch_or()

2a5ecfb sched/numa: Spread memory according to CPU and memory use

1c2fe70 sched/deadline: Fix the earliest_dl.next logic

1f39a2f sched/fair: Disable the task group load_avg update for the root_task_group

2e899f7 sched/fair: Move the cache-hot 'load_avg' variable into its own cacheline

3a958e0 sched/core: Move the sched_to_prio[] arrays out of line

31aa5fa sched/cputime: Convert vtime_seqlock to seqcount

4fcf43d sched/cputime: Introduce vtime accounting check for readers

be0b200 sched/cputime: Rename vtime_accounting_enabled() to vtime_accounting_cpu_enabled()

9d1bce5 sched/cputime: Correctly handle task guest time on housekeepers

0ec969a sched/cputime: Clarify vtime symbols and document them

3e10a6e sched/cputime: Remove extra cost in task_cputime()

8fd4846 sched/fair: Make it possible to account fair load avg consistently

855a73a locking, sched: Introduce smp_cond_acquire() and use it

971c8db objtool: Add STACK_FRAME_NON_STANDARD() macro

Adin-Kernel-R6-OP5-OOS-N.zip

GitHub Source

CarbonROM BETA Builds