[ONE Android Development] nikhil18:
Update new version 24

Changelog

cherry-pick: mutex: Move mutex spinning code from sched/core.c back to mutex.c
cherry-pick: sched: Implement smarter wake-affine logic
commit (cherry-pick): sched: Micro-optimize the smart wake-affine logic
cherry-pick: sched: Fix memory leakage in build_sched_groups()
drivers: usb: Use Android device as USB keyboard/mouse
cherry-pick: zlib: clean up some dead code
cherry-pick: mutex: Make more scalable by doing less atomic operations
cherry-pick: mutex: Queue mutex spinners with MCS lock to reduce cacheline contention
cherry-pick: mutex: Back out architecture specific check for negative mutex count
cherry-pick: smp: Add task_struct argument to __cpu_up()
cherry-pick: smp, idle: Allocate idle thread for each possible cpu during boot
cherry-pick: softirq: Use hotplug thread infrastructure
cherry-pick: drivers: usb: Use Android device as USB keyboard/mouse
cherry-pick: Bluetooth: Prevent Bluetooth L2CAP Remote Heap Memory Corruption
cherry-pick: Bluetooth: Cancel power_on and power_off work
cherry-pick: Bluetooth: Fix missing length checks for L2CAP signalling PDUs
cherry-pick: Bluetooth: Fix invalid length check in l2cap_information_rsp()
cherry-pick: Bluetooth: fix possible info leak in bt_sock_recvmsg()
cherry-pick: futex: Prepare for mainstream commits
commit (cherry-pick): futex: fix kernel-doc notation and spello
cherry-pick: futex: move user address verification up to common code
cherry-pick: futexes: Clean up various details
cherry-pick: futexes: Increase hash table size for better performance
cherry-pick: futexes: Document multiprocessor ordering guarantees
cherry-pick: futexes: Avoid taking the hb->lock if there's nothing to wake up
cherry-pick: futexes: Fix futex_hashsize initialization
cherry-pick: futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test
cherry-pick: futex: revert back to the explicit waiter counting code
cherry-pick: futex: avoid race between requeue and wake
cherry-pick: futex: update documentation for ordering guarantees
commit (cherry-pick): futex: Add another early deadlock detection check
cherry-pick: futex: Validate atomic acquisition in futex_lock_pi_atomic()
cherry-pick: futex: Always cleanup owner tid in unlock_pi
cherry-pick: futex: Make lookup_pi_state more robust
cherry-pick: futex: Ensure get_futex_key_refs() always implies a barrier
cherry-pick: futex: Mention key referencing differences between shared and private futexes
cherry-pick: futex: Make unlock_pi more robust
cherry-pick: futex: Use futex_top_waiter() in lookup_pi_state()
cherry-pick: futex: Split out the waiter check from lookup_pi_state()
cherry-pick: futex: Split out the first waiter attachment from lookup_pi_state()
commit (cherry-pick): futex: Simplify futex_lock_pi_atomic() and make it more robust
cherry-pick: futex: Fix argument handling in futex_lock_pi() calls
cherry-pick: ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim
cherry-pick: mm, vmalloc: use well-defined find_last_bit() func
cherry-pick: mm, vmalloc: remove useless variable in vmap_block
cherry-pick: readahead: make context readahead more conservative
cherry-pick: mm: vmscan: If kswapd has been running too long, allow it to sleep
cherry-pick: writeback: increase bdi_min_ratio to 5
cherry-pick: CPU hotplug, writeback: Don't call writeback_set_ratelimit() too often during hotplug
cherry-pick: mm/page-writeback.c: fix dirty_balance_reserve subtraction from dirtyable memory
cherry-pick: memcg: prevent OOM with too many dirty pages
cherry-pick: memcg: further prevent OOM with too many dirty pages
cherry-pick: memory hotplug: reset pgdat->kswapd to NULL if creating kernel thread fails
cherry-pick: mm: vmpressure: scale pressure based on reclaim context
cherry-pick: mm: vmpressure: account allocstalls only on higher pressures
cherry-pick: mm: vmpressure: fix backport
cherry-pick: alucard cpufreq governor: check if the new frequency is valid before set!