[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Freak07:
detailed changelog :)

detailed changelog of all the 4.9 backport releated commits:

be9b99c defconfig: bump

643ff7f locking/atomic: Add atomic_cond_read_acquire()

96c1d80 qrlock.h: fit in https://github.com/freak07/CAF_4.9/...c0e7d74#diff-35d5aeaf6572032a2e2e8346808b98fb as it was previously missed while integrating the 4.9 kernel/locking changes

1b4b64d locking/qrwlock: Prevent slowpath writers getting held up by fastpath

4e9322e locking/qrwlock, arm64: Move rwlock implementation over to qrwlocks

4cff23f locking/qrwlock: Use atomic_cond_read_acquire() when spinning in qrwlock

098e5ab locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock'

028827e locking/locktorture: Fix num reader/writer corner cases

a62af975 rtmutex: Fix PI chain order integrity

3a1a5f7 osq_lock: avoid live-lock issue for RT task

8f43773 Revert "locking/spinlock/debug: Remove spinlock lockup detection code"

9428d76 locking/spinlock/debug: Remove spinlock lockup detection code

5266422 defconfig: bump

d0bac3c lowmemorykiller: enable oom reaper

41b92b1 lowmemorykiller: Account for extra_free_kbytes in calcuations

957f56b ANDROID: lowmemorykiller: account for unevictable pages

2eda613 mm: separate out the invocation of lowmemorykiller shrinker

04a8e50 ANDROID: lowmemorykiller: Add tgid to kill message

e6ba007 lowmemorykiller: fix scan_mutex contention

ff5dd21 PARTIAL PICK: android/lowmemorykiller: Check all tasks for death pending

daed66e ANDROID: lowmemorykiller: fix declaration order warnings

f6fadf4 lowmemorykiller: fix memory corruption

608d597 lowmemorykiller: ignore the tasks that has null mm for reaping

bd258f0 lowmemorykiller: avoid selecting task reaped by oom_reaper

bcb8f2c ANDROID: restrict store of prefer_idle as boolean

9b4e9b9 locking/atomic: Introduce inc/dec variants for the atomic_fetch_$op() API

78d15ec locking/atomic, arch/arm64: Implement atomic{,64}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()

883116a locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()

a512db2 atomics: Add test for atomic operations with _relaxed variants

2fb8cde locking/atomic: Fix atomic64_relaxed() bits

eb3235f locking/spinlock: Update spin_unlock_wait() users

d089e5c locking/spinlock, arch: Update and fix spin_unlock_wait() implementations

1080605 locking/rwsem-spinlock: Fix EINTR branch in __down_write_common()

4cd71cf locking/rwsem: Fix down_write_killable() for CONFIG_RWSEM_GENERIC_SPINLOCK=y

679ee1c lockdep: Fix report formatting

4d7091a lib: spinlock: Cause a watchdog bite on spin_dump

f6bcc199 lockdep: Limit static allocations if PROVE_LOCKING_SMALL is defined

9d8c96e locking/pv-qspinlock: Use cmpxchg_release() in __pv_queued_spin_unlock()

28cb88e locking/rwsem: Scan the wait_list for readers only once

fb5ed07 locking/rwsem: Remove a few useless comments

f2cf419 locking/rwsem: Return void in __rwsem_mark_wake()

c461b7a locking/pvstat: Separate wait_again and spurious wakeup stats

b3b6e42 locking/qspinlock: Improve readability

6d09380 locking/pvqspinlock: Fix a bug in qstat_read()

218f30b locking/pvqspinlock: Fix double hash race

01c41cd locking/qspinlock: Use __this_cpu_dec() instead of full-blown this_cpu_dec()

69fd48c locking/atomic, arch/rwsem: Employ atomic_long_fetch_add()

1807dcd locking/atomic, arch/qrwlock: Employ atomic_fetch_add_acquire()

f8fbc37 locking/atomic: Remove the deprecated atomic_{set,clear}_mask() functions

531d2ea locking/barriers: Introduce smp_acquire__after_ctrl_dep()

a9b8c6b ipc/sem.c: update/correct memory barriers

4ee8bb2 Revert "locking/spinlock: Update spin_unlock_wait() users"

94897f5 locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire()

b005206 locking/rwsem: Streamline the rwsem_optimistic_spin() code

1a50ae71 locking/rwsem: Improve reader wakeup code

883093e locking/rwsem: Protect all writes to owner by WRITE_ONCE()

92b96f4 locking/rwsem: Add reader-owned state to the owner field

1e57cf0e locking/rwsem: Convert sem->count to 'atomic_long_t'

fdea305 locking/qspinlock: Add comments

e7511a3 locking/qspinlock: Clarify xchg_tail() ordering

f617567 locking/rtmutex: Only warn once on a trylock from bad context

636e19b locking/lockdep: Use __jhash_mix() for iterate_chain_key()

2ff06d6 locking/mutex: Set and clear owner using WRITE_ONCE()

0b96921 locking/rwsem: Optimize write lock by reducing operations in slowpath

af871ef locking/rwsem: Rework zeroing reader waiter->task

de81ef0 locking/rwsem: Enable lockless waiter wakeup(s)

410e8a5 add down_write_killable_nested()

9f7a6e5 locking/rwsem: Fix down_write_killable()

38d8cf2 locking/pvqspinlock: Robustify init_qspinlock_stat()

79440d1 locking/pvqspinlock: Avoid double resetting of stats

63c2010 lcoking/locktorture: Simplify the torture_runnable computation

26a5e61 lockdep: Fix lock_chain::base size

c4e226d locking/lockdep: Fix ->irq_context calculation

fb8b182 locking/pvqspinlock: Fix division by zero in qstat_read()

13ad364 locking/lockdep: Deinline register_lock_class(), save 2328 bytes

7d0917b locking/locktorture: Fix NULL pointer dereference for cleanup paths

7fdb7b7 locking/locktorture: Fix deboosting NULL pointer dereference

5eac605 locking/lockdep: Fix print_collision() unused warning

fb801b3 locking/lockdep: Print chain_key collision information

a991c7f tags: Fix DEFINE_PER_CPU expansions

fc32926 locking/lockdep: Detect chain_key collisions

28a8f2e locking/lockdep: Prevent chain_key collisions

4229c17 locking/pvqspinlock: Enable slowpath locking count tracking

f46647a locking/qspinlock: Use smp_cond_acquire() in pending code

9ec1948 locking/pvqspinlock: Move lock stealing count tracking code into pv_queued_spin_steal_lock()

0b31490 locking/lockdep: Eliminate lockdep_init()

2eb0608 locking/lockdep: Convert hash tables to hlists

59c3acd locking/lockdep: Fix stack trace caching logic

6f3e61d rtmutex: Make wait_lock irq safe

36f5e74 locking/pvqspinlock: Queue node adaptive spinning

2710d8df locking/pvqspinlock: Allow limited lock stealing

2ad4d4b locking/pvqspinlock: Collect slowpath lock statistics

12812fd locking/pvqspinlock, x86: Optimize the PV unlock code path

9352681 locking/qspinlock: Avoid redundant read of next pointer

575e777 locking/qspinlock: Prefetch the next node cacheline

eaec1f1 arm64: lse: convert lse alternatives NOP padding to use __nops

2864a11 locking/atomic, arch/arm64: Implement atomic{,64}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}() for LSE instructions

7250e69 arm64: spinlock: Ensure forward-progress in spin_unlock_wait

034050e arm64: spinlock: order spin_{is_locked,unlock_wait} against local locks

e9869d2 locking/qspinlock: Use atomic_sub_return_release() in queued_spin_unlock()

6611985 locking/rwsem: Introduce basis for down_write_killable()

ebce8b8 locking/rwsem: Provide down_write_killable()

5df8a9a locking/rwsem: Get rid of __down_write_nested()

d6277ea stop_machine: Remove stop_cpus_lock and lg_double_lock/unlock()

58ed3a5 locking, sched: Introduce smp_cond_acquire() and use it

c26b7f6 locking/qspinlock: Use _acquire/_release() versions of cmpxchg() & xchg()

5253ba9 userfaultfd: don't pin the user memory in userfaultfd_file_create()

bdc992f sched: add schedule_timeout_idle()

fbb78ad locking/spinlock: Update spin_unlock_wait() users

21fffa2 wait: allow sys_waitid() to accept __WNOTHREAD/__WCLONE/__WALL

0ad7837 mm, oom: remove 3% bonus for CAP_SYS_ADMIN processes

7afa20d mm, oom_reaper: fix memory corruption

1d048a8 mm, oom_reaper: gather each vma to prevent leaking TLB entry

af5b3fd mm: oom: let oom_reap_task and exit_mmap run concurrently

3044a97 mm/oom_kill.c: add tracepoints for oom reaper-related events

13139bf oom-reaper: use madvise_dontneed() logic to decide if unmap the VMA

9e48d19 mm: drop zap_details::check_swap_entries

cf792d7 mm: drop zap_details::ignore_dirty

b63d0d1 mm, oom_reaper: skip mm structs with mmu notifiers

17431d6 lowmemorykiller: use oom reaper to free pages of task killed by lmk

aac7341 mm, oom: run the showmem notifier in oom

9c39c6c oom: print nodemask in the oom report

b2a6eba mm: don't emit warning from pagefault_out_of_memory()

082908a oom: warn if we go OOM for higher order and compaction is disabled

606fbd0 oom, oom_reaper: allow to reap mm shared by the kthreads

4364f62 mm: make sure that kthreads will not refault oom reaped memory

4302284 mm, oom: enforce exit_oom_victim on current task

69c990c oom, suspend: fix oom_killer_disable vs. pm suspend properly

1564dce mm, oom: get rid of signal_struct::oom_victims

9d811f1 oom: keep mm of the killed task available

cdb6a64 mm: oom: deduplicate victim selection code for memcg and global oom

0c1806f oom, suspend: fix oom_reaper vs. oom_killer_disable race

a674f8f mm,oom_reaper: do not attempt to reap a task twice

9cba099 mm,oom_reaper: reduce find_lock_task_mm() usage

619bc87 mm/oom_kill.c: fix task_will_free_mem() comment

6832ef6 mm, oom: fix uninitialized ret in task_will_free_mem()

de3331e mm, oom: tighten task_will_free_mem() locking

ee22876 mm, oom: hide mm which is shared with kthread or global init

54d4d4a mm, oom_reaper: do not attempt to reap a task more than twice

7e18125 mm, oom: task_will_free_mem should skip oom_reaped tasks

ea99253 mm, oom: fortify task_will_free_mem()

7d53e9c8 mm, oom: kill all tasks sharing the mm

536abeb mm, oom: skip vforked tasks from being selected

773f046 mm, oom_reaper: make sure that mmput_async is called only when memory was reaped

0f981a3 mm,oom: remove unused argument from oom_scan_process_thread().

7f61561 mm: oom: add memcg to oom_control

bfc5059 mm: zap ZONE_OOM_LOCKED

39d7229 oom_reaper: avoid pointless atomic_inc_not_zero usage.

0d9720b mm,oom_reaper: don't call mmput_async() without atomic_inc_not_zero()

6f2be6b mm, oom_reaper: do not use siglock in try_oom_reaper()

24a2df6 oom_reaper: close race with exiting task

c70b33f mm: oom: do not reap task if there are live threads in threadgroup

8a934f5 mm,oom: speed up select_bad_process() loop

2568a54 [PARTIAL PICK] mm, oom_reaper: do not mmput synchronously from the oom reaper context

14a27fc mm, oom_reaper: hide oom reaped tasks from OOM killer more carefully

8e5f590 mm, oom_reaper: clear TIF_MEMDIE for all tasks queued for oom_reaper

2571732 oom, oom_reaper: try to reap tasks which skip regular OOM killer path

8240cd8 mm, oom: move GFP_NOFS check to out_of_memory

26e5bc4 mm,oom: do not loop !__GFP_FS allocation if the OOM killer is disabled

fe3bfc7 oom, oom_reaper: do not enqueue task if it is on the oom_reaper_list head

07bf001 oom, oom_reaper: protect oom_reaper_list using simpler way

5a64223 oom: make oom_reaper freezable

1301da2 oom: make oom_reaper_list single linked

fa249d1 oom, oom_reaper: disable oom_reaper for oom_kill_allocating_task

e61dfc7 mm, oom_reaper: implement OOM victims queuing

1d1f724 mm, oom_reaper: report success/failure

2da7086 oom: clear TIF_MEMDIE after oom_reaper managed to unmap the address space

909a269 mm, oom: introduce oom reaper

e18ad9e mm,oom: make oom_killer_disable() killable

3793fd9 mm: oom_kill: don't ignore oom score on exiting tasks

fd6ba9c LMK: Move boosting up

a462e31 lmk: Boost CPU and DDR bus when mem reclaim is invoked

9f9a860 android: silence some logging

4fce7a9 android,lowmemorykiller: Don't abuse TIF_MEMDIE.

f034fb1 Revert "android: reset lowmemorykiller to android-4.4"

ca00335 Revert "lowmemorykiller: Account for extra_free_kbytes in calcuations"

can also be found on my github :)