October 8, 2021

Detailed Changelogs

DATE: 08/10/2021

Upstreamed to 4.9.285

- arm64: configs: sakura: Update and Regenerate defconfig
- arm64: Guard optimizations for Clang and GCC
- gen_headers: add missing headers
- kbuild: avoid unrecognized option error for DTC
- scripts: Drop branch from localversion name
- drivers: fingerprint: goodix: Set fingerprintd priority to max when screen is off
- drivers: fingerprint: fpc: Set fingerprintd priority to max when screen is off
- drivers: touchscreen: goodix: Move some kcallocs to kzallocs
- drivers: touchscreen: focaltech: Move to async probe.
- drivers: touchscreen: goodix: Move to async probe.
- cpuset: uclamp_assist: Tune uclamp
- cpuset: uclamp_assist: Add camera-daemon to uclamp tunables
- uapi/sched: Implement SCHED_FLAG_ALL macro
- BACKPORT: ANDROID: sched: Make uclamp changes depend on CAP_SYS_NICE
- BACKPORT: FROMGIT: sched: Skip priority checks with SCHED_FLAG_KEEP_PARAMS
- BACKPORT: FROMGIT: sched: Don't report SCHED_FLAG_SUGOV in sched_getattr()
- BACKPORT: FROMGIT: sched: Fix UCLAMP_FLAG_IDLE setting
- BACKPORT: sched/uclamp: Fix incorrect condition uclamp_update_active() should perform the update when p->uclamp[clamp_id].active is true. But when the logic was inverted in [1], the if condition wasn't inverted correctly too.
- UPSTREAM: sched: Fix out-of-bound access in uclamp Util-clamp places tasks in different buckets based on their clamp values for performance reasons. However, the size of buckets is currently computed using a rounding division, which can lead to an off-by-one error in some configurations.
- ARM: dts: msm: Add rcu_nocbs kernel parameter to chosen node
- rcu: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
- rcu: Avoid unnecessary softirq when system is idle
- [Backport] swait: Add idle variants which don't contribute to load average
- rcu: fix a performance regression
- rcu: Create RCU-specific workqueues with rescuers
- rcu: Make need_resched() respond to urgent RCU-QS needs
- rcu: Export init_rcu_head() and destroy_rcu_head() to GPL modules
- rcu: Fix up pending cbs check in rcu_prepare_for_idle
- doc: Fix various RCU docbook comment-header problems
- rcu: Remove extraneous READ_ONCE()s from rcu_irq_{enter,exit}()
- rcu: Remove exports from rcu_idle_exit() and rcu_idle_enter()
- rcu: Add warning to rcu_idle_enter() for irqs enabled
- rcu: Make rcu_idle_enter() rely on callers disabling irqs
- rcu: Add assertions verifying blocked-tasks list
- rcu: Add TPS() protection for _rcu_barrier_trace strings
- rcu: Use idle versions of swait to make idle-hack clear
- rcu: Add event tracing to ->gp_tasks update at GP start
- rcu: Move rcu.h to new trivial-function style
- rcu: Add TPS() to event-traced strings
- rcu: Create reasonable API for do_exit() TASKS_RCU processing
- rcu: Drive TASKS_RCU directly off of PREEMPT
- srcu: Provide ordering for CPU not involved in grace period
- rcu: Move callback-list warning to irq-disable region
- rcu: Remove unused RCU list functions
- rcu: Localize rcu_state ->orphan_pend and ->orphan_done
- rcu: Advance callbacks after migration
- rcu: Eliminate rcu_state ->orphan_lock
- rcu: Advance outgoing CPU's callbacks before migrating them
- rcu: Make NOCB CPUs migrate CBs directly from outgoing CPU
- rcu: Check for NOCB CPUs and empty lists earlier in CB migration
- rcu: Remove orphan/adopt event-tracing fields
- rcu: Make expedited GPs correctly handle hardware CPU insertion
- rcu: Migrate callbacks earlier in the CPU-offline timeline
- sched,rcu: Make cond_resched() provide RCU quiescent state
- BACKPORT: rcu: Ports some of RCU's taken from k4.14
- Revert "sched/core: Improve CPU hotplug latency for rcu_expedited=1 case"
- Revert "rcu: Make expedited grace periods recheck dyntick idle state"
- rcu: Make expedited grace periods recheck dyntick idle state
- Merge: Performance improvements.
- mm: vmalloc: Fix Qualcomm customizations revert
- net: wireguard: fix compilation after vmalloc backport
- Backport new vmalloc for "large performance benefits"
- smpboot: fix duplicate and misplaced inlining directive
- smpboot: Mark idle_init() as __always_inlined to work around aggressive compiler un-inlining
- locking/semaphore: Add might_sleep() to down_*() family
- lib/sort: Move swap, cmp and cmp_r function types for wider use
- media: lib/sort.c: implement sort() variant taking context argument
- lib/sort.c: fix kernel-doc notation warnings
- lib: reciprocal_div: implement the improved algorithm on the paper mentioned
- lib/int_sqrt: adjust comments
- crc32: fix ambiguous aliases
- lib/crc: Use consistent naming for CRC-32 polynomials
- lib/crc: Move polynomial definition to separate header
- crypto: skcipher - fix crash in virtual walk
- crypto: asymmetric_keys - set error code on failure
- crypto: doc - clarify AEAD memory structure
- crypto: testmgr - add/enhance test cases for CRC-T10DIF
- crypto: algif_aead - fix AIO handling of zero buffer
- crypto: algif_skcipher - set error code when kcalloc fails
- crypto: skcipher - fix crash in skcipher_walk_aead()
- crypto: testmgr - Do not test internal algorithms
- crypto: glue_helper - Add skcipher xts helpers
- crypto: simd - Add simd skcipher helper
- crypto: api - Do not clear type bits in crypto_larval_lookup
- crypto: xts - Convert to skcipher
- crypto: lrw - Convert to skcipher
- crypto: crc32c-vpmsum - Rename CRYPT_CRC32C_VPMSUM option
- crypto: drbg - advance output buffer pointer
- crypto: gf128mul - Zero memory when freeing multiplication table
- crypto: jitterentropy - drop duplicate header module.h
- net: fix sleeping for sk_wait_event()
- crypto: gf128mul - remove dead gf128mul_64k_lle code
- crypto: dh - Consistenly return negative error codes
- crypto: engine - Handle the kthread worker using the new API
- crypto: cmac - fix alignment of 'consts'
- crypto: cmac - return -EINVAL if block size is unsupported
- crypto: api - Remove no-op exit_ops code
- crypto: api - Fix Kconfig dependencies for FIPS
- crypto: arm64/crc32 - accelerated support based on x86 SSE implementation
- crypto: arm64/crct10dif - port x86 SSE implementation to arm64
- crypto: arm64/aes-ce-ccm - Fix AEAD decryption length
- crypto: arm64/aes-ce-ctr - fix skcipher conversion
- crypto: arm/aes-ce - fix broken monolithic build
- crypto: arm/aes - Select SIMD in Kconfig
- crypto: arm64/sha2 - add generated .S files to .gitignore
- crypto: arm64/aes - Convert to skcipher
- crypto: aes-ce-ccm - Use skcipher walk interface
- crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512
- crypto: arm64/chacha20 - implement NEON version based on SSE3 code
- cfq: clear queue pointers from cfqg after unpinning them in cfq_pd_offline
- BACKPORT: block: use ktime_get_ns() instead of sched_clock() for cfq
- block/cfq: cache rightmost rb_node
- block/cfq: replace cfq_rb_root leftmost caching
- block: Initialize cfqq->ioprio_class in cfq_get_queue()
- cfq-iosched: temporarily boost queue priority for idle classes
- tcp_westwood: tune up a bit
- tcp_westwood: make 'rtt_min' and 'init_rtt' tunables and remove HZ dependency
- tcp: Disable slow start after idle
- BACKPORT: tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth
- BACKPORT: tcp_bbr: clarify that bbr_bdp() rounds up in comments
- BACKPORT: tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning
- BACKPORT: tcp_bbr: centralize code to set gains
- BACKPORT: tcp_bbr: add bbr_check_probe_rtt_done() helper
- BACKPORT: tcp_bbr: fix bbr pacing rate for internal pacing
- BACKPORT: net-tcp_bbr: set tp->snd_ssthresh to BDP upon STARTUP exit
- BACKPORT: tcp_bbr: remove bbr->tso_segs_goal
- BACKPORT: tcp_bbr: better deal with suboptimal GSO (II)
- BACKPORT: tcp: avoid min RTT bloat by skipping RTT from delayed-ACK in BBR
- BACKPORT: tcp: avoid min-RTT overestimation from delayed ACKs This patch avoids having TCP sender or congestion control overestimate the min RTT by orders of magnitude. This happens when all the samples in the windowed filter are one-packet transfer like small request and health-check like chit-chat, which is farily common for applications using persistent connections. This patch tries to conservatively labels and skip RTT samples obtained from this type of workload.
- UPSTREAM: tcp: remove unnecessary skb_reset_tail_pointer()
- UPSTREAM: tcp: use TS opt on RTTs for congestion control
- BACKPORT: tcp: fix tcp_rearm_rto()
- tcp: Convert remaining TCP TS options to use 1ms clock
- BACKPORT: tcp: switch TCP TS option (RFC 7323) to 1ms clock
- UPSTREAM: tcp: replace misc tcp_time_stamp to tcp_jiffies32
- UPSTREAM: tcp_lp: cache tcp_time_stamp
- UPSTREAM: tcp: uses jiffies_32 to feed tp->chrono_start
- UPSTREAM: tcp_bbr: use tcp_jiffies32 instead of tcp_time_stamp
- UPSTREAM: tcp: use tcp_jiffies32 to feed tp->lsndtime
- BACKPORT: tcp: use tp->tcp_mstamp in output path
- BACKPORT: tcp: tcp_get_info() should read tcp_time_stamp later
- UPSTREAM: tcp: tcp_rack_reo_timeout() must update tp->tcp_mstamp
- BACKPORT: tcp: switch rcv_rtt_est and rcvq_space to high resolution timestamps
- UPSTREAM: tcp: remove ack_time from struct tcp_sacktag_state
- UPSTREAM: tcp: use tp->tcp_mstamp in tcp_clean_rtx_queue()
- UPSTREAM: tcp: do not pass timestamp to tcp_rack_advance()
- BACKPORT: tcp: do not pass timestamp to tcp_rate_gen()
- UPSTREAM: tcp: do not pass timestamp to tcp_fastretrans_alert()
- UPSTREAM: tcp: do not pass timestamp to tcp_rack_identify_loss()
- UPSTREAM: tcp: do not pass timestamp to tcp_rack_mark_lost()
- UPSTREAM: tcp: do not pass timestamp to tcp_rack_detect_loss()
- UPSTREAM: tcp: add tp->tcp_mstamp field
- UPSTREAM: tcp: internal implementation for pacing
- UPSTREAM: net: pending_confirm is not used anymore
- UPSTREAM: net: use dst_confirm_neigh for UDP, RAW, ICMP, L2TP
- UPSTREAM: net: add confirm_neigh method to dst_ops
- UPSTREAM: tcp: replace dst_confirm with sk_dst_confirm
- BACKPORT: sctp: add dst_pending_confirm flag
- BACKPORT: net: add dst_pending_confirm flag to skbuff
- UPSTREAM: sock: add sk_dst_pending_confirm flag
- UPSTREAM: tcp: include locally failed retries in retransmission stats
- UPSTREAM: tcp: record pkts sent and retransmistted
- UPSTREAM: tcp: disable fack by default
- UPSTREAM: tcp: remove thin_dupack feature
- UPSTREAM: tcp: remove RFC4653 NCR
- UPSTREAM: tcp: remove early retransmit
- UPSTREAM: tcp: remove forward retransmit feature
- UPSTREAM: tcp: extend F-RTO to catch more spurious timeouts
- UPSTREAM: tcp: enable RACK loss detection to trigger recovery
- UPSTREAM: tcp: check undo conditions before detecting losses
- UPSTREAM: tcp: use sequence to break TS ties for RACK loss detection
- UPSTREAM: tcp: add reordering timer in RACK loss detection
- BACKPORT: tcp: record most recent RTT in RACK loss detection
- UPSTREAM: tcp: new helper for RACK to detect loss
- UPSTREAM: tcp: new helper function for RACK loss detection
- UPSTREAM: tcp: tsq: move tsq_flags close to sk_wmem_alloc
- UPSTREAM: net: reorganize struct sock for better data locality
- UPSTREAM: tcp: tcp_mtu_probe() is likely to exit early
- UPSTREAM: tcp: tsq: add a shortcut in tcp_small_queue_check()
- UPSTREAM: tcp: tsq: avoid one atomic in tcp_wfree()
- UPSTREAM: tcp: tsq: add shortcut in tcp_tasklet_func()
- UPSTREAM: tcp: tsq: remove one locked operation in tcp_wfree()
- BACKPORT: tcp: SOF_TIMESTAMPING_OPT_STATS option for SO_TIMESTAMPING
- BACKPORT: tcp: export sender limits chronographs to TCP_INFO
- UPSTREAM: tcp: instrument how long TCP is limited by insufficient send buffer
- BACKPORT: tcp: instrument how long TCP is limited by receive window
- UPSTREAM: tcp: instrument how long TCP is busy sending
- BACKPORT: tcp: instrument tcp sender limits chronographs

  • And more...