alpha#1.00
alpha#1.01
- Reverted some under the hood commits to prepare for future updates
- Different cpuidle fixes and optimizations (thanks to @wrongway213)
Thanks to @eng.stk for these changes:
- Merge branch android-msm-sunfish-4.14-android11-qpr2 (Apr 2021.1)
- BACKPORT: GKI: hwtracing: Add a driver for disabling coresight clocks (backport from Pixel 5, less idle draw)
- Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
- Revert "AIO: Don't plug the I/O queue in do_io_submit()"
- power: smb5: Disable debug logging
- Revert "f2fs: Fix deadlock between f2fs_quota_sync and block_operation"
- f2fs: shrink node_write lock coverage
- Revert "kbuild: disable clang's default use of -fmerge-all-constants"
- techpack: data: don't build emac-dwc-eqos
- Remove some logspam in net/sched
alpha#1.02
- A bunch of optimization commits used in Kirisakura included. Huge respect to @Freak07.
These changes mainly concern the GPU and the CPU architecture.
- In addition to this, normal grace periods are now preferred to reduce power usage (Thanks a lot to @kdrag0n for his approach).
- Finally, boeffla wakelock blocker doesn't block any wakelock by default for now, but you can add your own to the blocklist.
alpha#1.03
- BBR v2 set as the default TCP network congestion control instead of Westwood (thanks to @Freak07).
- Thanks to @LazerL0rd for having these changes imported :
- Imported upstream Bluetooth fixes.
- fs: ext4: fsync: optimize double-fsync() a bunch.
- Initialize ata before graphics.
- Re-enabled BPF JIT compiler to improve gaming and overall system performance
(thanks to
@Sultanxda).
- arm64: lib: memory utilities optimization.
alpha#1.04
- defconfig: Don't pre-create any loop devices (speeds up the booting process slightly)
- defconfig: Disable UFS logging
- sched: fair: Stop running idle_balance on active migration kick
- cpufreq: Avoid leaving stale IRQ work items during CPU offline
- Different CAF fixes and patches (thanks to @arter97 for providing the CAF repo mirror)
- Revert "fs: ext4: fsync: optimize double-fsync() a bunch"
- Revert "msm: kgsl: Increase worker thread priority"
- Revert: "defconfig: Enable the BPF JIT compiler"
beta #1.00
- drivers: char: mem: Reroute random fops to urandom
- defconfig: Boot with schedutil
- Revert "linux: blkdev: Set nr_requests to 64"
- include: linux: Update nr_requests and read-ahead values (to stock 128, and 512 respectively)
- defconfig: Reduce timer frequency to 100 Hz (for less power consumption)
- block: Disable I/O stats accounting by default (to reduce approximate 0.5/1% overhead for block devices)
- defconfig: Disable debug and some unused drivers config
- net: add WireGuard from wireguard-linux-compat
- Different scheduler improvement commits cherry-picked from Sultan kernel
- More CAF patches and fixes for the KGSL graphic driver
beta#1.01
- wireguard: Update to version 1.0.20210219
- Revert "defconfig: Reduce PELT half-life from 32 ms to 16 ms"
beta#1.02
- Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
- Revert "AIO: Don't plug the I/O queue in do_io_submit()"
- power: smb5: Disable debug logging
beta#1.03
Thanks to Sultanxda and kdrag0n for the following changes:
- disp: msm: Don't clear dim layers when there aren't any applied
- defconfig: Enable the BPF JIT compiler (again)
- defconfig: Enable ZSTD
- defconfig: Omit CPU and PID from console printk
- defconfig: Disable GPU memory usage tracing
- scsi: ufs: Only create one pm_qos object for the IRQ
- scsi: ufs: Only apply pm_qos to the CPU servicing UFS interrupts
- scsi: ufs: Remove 10 ms CPU idle latency unvote timeout
- Revert "mutex: Add a delay into the SPIN_ON_OWNER wait loop."
- Revert "usb: gadget: mtp: Increase RX transfer length to 1M"
- Revert "usb: gadget: f_mtp: Increase default TX buffer size"
- scatterlist: Don't allocate sg lists using __get_free_page
- mm: kmemleak: Don't die when memory allocation fails
- mm: kmemleak: Don't require global debug options or debugfs
- pinctrl: msm: Remove explicit barriers from mmio ops where unneeded
- dma-buf/sync_file: Speed up ioctl by omitting debug names
- msm: camera: Stub out the camera_debug_util API and compile it out
- locking/rwsem: Don't hog RCU read lock while optimistically spinning
- locking/mutex: Don't hog RCU read lock while optimistically spinning
- cpuidle: Mark CPUs idle as late as possible to avoid unneeded IPIs
- cpuidle: Optimize pm_qos notifier callback and IPI semantics
- arm64: Allow IPI_WAKEUP to be used outside of the ACPI parking protocol
- kernel: Only set one CPU in the default IRQ affinity mask
- kernel: Don't allow IRQ affinity masks to have more than one CPU
- qos: Don't allow userspace to impose restrictions on CPU idle levels
- msm: kgsl: Wake GPU upon receiving an ioctl rather than upon touch input
beta#1.04
Thanks to Sultanxda and engstk for the following changes:
- msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
- bpf: Avoid allocating small buffers for map keys and values
- defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
- defconfig: Enable USB2 Fast Charge
- drivers: misc: power: implement usb2 fast charge mode
beta#1.05
Revert the following changes:
- msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
- bpf: Avoid allocating small buffers for map keys and values
- defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
stable#1.00
Thanks to everyone involved in the following changes, and to my testers from the Telegram group:
- sched: Import sched_irq_work_queue()
- cpufreq: schedutil: Queue sugov irq work on policy online cpu
- cpufreq: schedutil: Fix the incorrect average capacity calculation
- drivers: binder: silence logging
- mm: Increase vmstat interval to 1 minute
- msm: ipa: add check to see if pm client is not NULL
- drm/msm/sde: Skip heavy autorefresh checks when it's not enabled
- do accept() in LIFO order for cache efficiency
- power: Reduce debug logging if logbuffer is still enabled
- defconfig: Unset CONFIG_SCHEDSTATS
- defconfig: Set timer frequency to 250 Hz
- defconfig: Disable some crufts
- defconfig: Disable SLUB per-CPU partial caches
- defconfig: Disable unnecessary errata
- Kbuild: Optimize more crypto drivers with crypto extensions
- kbuild: Proper CPU optimization flags for Clang and GCC
- scsi: ufs: Keep UniPro in FASTMODE
- scsi: ufs: Fix ufshcd_probe_hba() return value when fails to reinit
- scsi: ufs: handle error to avoid kernel panic
- usb: dwc3: gadget: Issue soft reset as part of composition switch
- UPSTREAM: sched/rt: Disable RT_RUNTIME_SHARE by default
- Revert "msm_geni_serial: reduce wakelock timeout from ISR to 100ms"
- Revert "msm: camera: Stub out the camera_debug_util API and compile it out"
- Revert "msm: camera: disable debug logging"
- Revert "msm: camera: Fix memory leak"
- dts: fix missing frequency on sd730
- arm64: Makefile: Proper CPU optimization flags for Clang and GCC
- arm64: dts: sdmmagpie: Allow big cluster to idle in USB perf mode
- arm64: dts: sdmmagpie: Power off DSI PHY during idle PC
- arm64: Kconfig: disable some tracers
- ARM64: sdmmagpie: fix a few freq inconsistencies
- ARM64: sdmmagpie: add lower freq to llcc-bw bus
- ARM64: dst: sdmmagpie-idp: scale SSOC with BSOS
- ARM64: dts: sdmmagpie: fix max frequencies
- ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region
stable#1.01
Thanks to everyone involved in the following changes:
- drivers: thermal: Return zero on success for qmi_tmd_send_state_request.
- drivers: thermal: step_wise: Handle the temperature stable trend.
- drivers: thermal: step_wise: Clear mitigation on reaching clear threshold
- sched/core: fix preemption disable tracking during context switch to idle
- cpumask: Add cpumasks for big and LITTLE CPU clusters
- defconfig: Configure big and LITTLE CPU masks
- defconfig: set exfat-linux options
- fs: exfat: add version 2.2.0-3arter97 (like it is the case with CAF latest changes)
- kernel: Add API to mark IRQs and kthreads as performance critical
- drm/msm: Offload commit cleanup onto an unbound worker
- workqueue: Affine unbound workqueues to little CPUs by default
- msm: ipa: Do not acquire wakelocks
- msm: vidc: Disable msm_vidc_fw_debug_mode
- msm: kgsl: Mark IRQ as performance critical
- drm: Mark IRQ as performance critical
- msm: adreno: Set GPU timeout to 64 ms
- ARM64: dts: sdmmagpie: Set GPU idle timeout to 64 ms
- ARM64: dts: qcom: Delete CDSP sec memory region
- arm64: dts: sdmmagpie: Avoid run-time IPIs from expedited grace periods
stable#1.02
Thanks to everyone involved in the following changes:
- sched/core: Free dead mm structs asynchronously in finish_task_switch()
- sched/core: Free dead tasks asynchronously in finish_task_switch()
- kgsl: msm: Prevent userspace from changing the GPU idle timeout
- scsi: ufs: use WQ_HIGHPRI for gating work
- sched: fair: placement optimization for heavy load
- sched: Improve the scheduler
- sched: fair: Improve the scheduler
- sched/fair: Add timeout for detach_tasks() in load balance
- ARM64: sdmmagpie: switch to calculated capacities
- kernel: sched: Checkout energy to Common kernel
- schedutil: Tune the down rate limits for better battery life using PK's tuning script v9 values (thanks to pkgnex and also engstk for the tuning method)
stable#1.03
Thanks to everyone involved in the following changes:
- ext4: optimize file overwrites
- lib/lz4: explicitly support in-place decompression
- mmap() backports for better performance
- mm, truncate: do not check mapping for every page being truncated
- zsmalloc: switch from alloc_vm_area to get_vm_area
- mm/zsmalloc.c: rework the list_add code in insert_zspage()
- mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
- mm/zsmalloc.c: fix duplicated words
- mm/zswap: fix passing zero to 'PTR_ERR' warning
- mm/zswap: make struct kernel_param_ops definitions const
- arm64: Add missing dependency for ARM erratum 1188873 workaround
- arm64: dts: sdmmagpie: Implement RHEL's Low Latency Kernel cmdline
- arm64: dts: sdmmagpie: Set silver cluster qos-cores for msm_fastrpc
- arm64: dts: sdmmagpie-sde: Configure PM-QoS IRQ latency
- arm64: dts: sdmmagpie: remove pm qos latency overrides
- arm64: dts: sdmmagpie: use 67us latency for cdsp
- drm/msm/sde: Remove redundant write memory barriers from IRQ routines
- drm/msm/sde: Consolidate IRQ status reads into IRQ dispatcher
- drm/msm/sde: Don't read and clear VBIF errors upon commit
- disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS
- disp: msm: sde: add dt based support for pm qos irq latency
- disp: msm: sde: modify Qos vote for irq latency during idle cases
- disp: msm: sde: add pm QoS vote on CPU receiving display IRQ
- sde: rotator: Remove PM-QOS usage
- sched/rt: Optimize checking group RT scheduler constraints
- scsi: ufs: Add simple IRQ-affined PM QoS operations
- scsi: ufs: Scrap Qualcomm's PM QoS implementation
stable#1.04
Thanks to everyone involved in the following changes, especially to
@eng.stk:
- Merge branch android-msm-sunfish-4.14-android11-qpr2 (May 2021.1)
- Android: Implement Sony LowMemoryKiller TNG from 55.0.A.11.25
- net/wireguard: merge v1.0.20210424
- lib/lzo: implement run-length encoding (set as zRAM default's compression algorithm)
- ext4: remove additional tracings added by CAF
- mm: oom_kill: Reduce some verbose logging
- bpf: Eliminate CONFIG_MODULES limitation from JIT for arm64
- scripts/kallsyms: set relative_base more effectively
- scripts/kallsyms: shrink table before sorting it
- scripts/kallsyms: remove unneeded #ifndef ARRAY_SIZE
- block: Disable preemption during IPI consideration
- block: Track DISCARD statistics and output them in stat and diskstat
- block: Add and use op_stat_group() for indexing disk_stat fields.
- block: Define and use STAT_READ and STAT_WRITE
- block: Add part_stat_read_accum to read across field entries.
- block: make bdev_ops->rw_page() take a REQ_OP instead of bool
- defconfig: further disable audit
- kbuild: Don't try to add '-fcatch-undefined-behavior' flag
- Makefile: add -fno-builtin-stpcpy
- Revert "kernel: Add API to mark IRQs and kthreads as performance critical"
- Revert "msm: kgsl: Mark IRQ as performance critical"
- Revert "drm: Mark IRQ as performance critical"
stable#1.05
Thanks to everyone involved in the following changes, especially to kerneltoast:
- include: linux: Set nr_requests and read-ahead values to 64 and 256 respectively
(thanks to pkgnex and HolyAngel)
- cpufreq: Ensure the minimal frequency is lower than the maximal frequency
- usb: gadget: f_mass_storage: Add Drivedroid Support
- arm64: dts: msm: disable kpti on sdmmagpie
- arm64: dts: sdmmagpie: Enable freq-energy-model
- tcp: change pingpong threshold to 3
- tcp: Refactor pingpong code
- sched/fair: Compile out NUMA code entirely when NUMA is disabled
- sched: Resolve sched_feat() at compile time to improve code optimization
- sched: Add API to migrate the current process to a given cpumask
- sched/idle: Micro-optimize the idle loop
- sched/fair: Kill spam about max cpu_capacity
- sched: core: silence no longer affine to cpu logspam
- mm: Perform PID map reads on the little CPU cluster
- scsi: ufs: Enable NO_FASTAUTO quirk for all vendor
- BACKPORT: crypto: arm64/aes-modes - get rid of literal load of addend vector
- crypto: arm64/aes-blk - add 4 way interleave to CBC-MAC encrypt path
- crypto: arm64/aes-blk - add 4 way interleave to CBC encrypt path
- crypto: arm64/aes-blk - remove configurable interleave
- crypto: arm64/aes-blk - move kernel mode neon en/disable into loop
- mm: compaction: avoid 100% CPU usage during compaction when a task is killed
- BACKPORT: mm: process_reclaim: consider compound pages
- Revert "sched: fair: placement optimization for heavy load"
- Revert "qos: Execute notifier callbacks atomically"
- Revert "drm/msm/sde: Wait for ctl_start asynchronously on cmd mode panels
- Revert "disp: msm: Don't clear dim layers when there aren't any applied"
- Revert "disp: msm: Use the PM_QOS_REQ_AFFINE_IRQ feature to control SDE PM QoS"
- Revert "mmc: disable SPI CRC"
- bpf: fix subprog verifier bypass by div/mod by 0 exception
- bpf: fix net.core.bpf_jit_enable race
- bpf, lpm: make longest_prefix_match() faster
- msm: camera: utils: Demote unwanted logging to debug
- msm: vidc: Silence video instance logging
- Commits reverted until the kernel version gets upstreamed:
- Revert "block: Disable preemption during IPI consideration"
- Revert "block: Track DISCARD statistics and output them in stat and diskstat"
- Revert "block: Add and use op_stat_group() for indexing disk_stat fields."
- Revert "block: Define and use STAT_READ and STAT_WRITE"
- Revert "block: Add part_stat_read_accum to read across field entries."
- Revert "block: make bdev_ops->rw_page() take a REQ_OP instead of bool"
stable#1.10
Thanks to everyone involved in the following changes:
- qcacld-3.0: Free a bunch of pkts at once (to reduce CPU consumption)
- qcacld: disable qcom_rx_wakelock (to reduce power consumption)
- fs: Override default relatime mount flag for noatime (to improve FS performance)
- Revert "usb: gadget: f_mass_storage: Add Drivedroid Support"
stable#1.11
Thanks to everyone involved in the following changes:
- Revert changes from the recent updates that were causing possible stability issues
- Cherry-pick last chipset patches from CAF
- sched: fair: Modify capacity margins for sm7150ab.
- Revert "ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region"
- android: binder: add rate limit for possible excessive log
- defconfig: Don't initialize early random pool
- include: linux: Set nr_requests and read-ahead values back to default
(thanks to eng.stk for their tuning approach)
- sched: fair: Cover more WALT balancing cases.
- diag: disable DIAG_DEBUG
stable#1.50
Thanks to everyone involved in the following changes:
- Full source rebase from scratch
- sched: fair: Fix load balancing for big tasks
- msm: ipa: Add an option to allow IPA wakelocks (disabled by default)
- msm: ipa_v3: Do not acquire wakelocks
- msm: ipa_v3: block ipa_ws wakelocks
- blkdev: Set QUEUE_FLAG_NONROT
stable#1.65
Thanks to everyone involved in the following changes:
- treewide: Merge tag 'android-11.0.0_r0.85' of
https://android.googlesource.com/kernel/msm (June 2021 security patch)
- Merge fixes from CAF
- Merge security fixes from GrapheneOS
- wireguard: Update to version 1.0.20210606
- Implement josenk's srandom driver (faster than random and urandom - https://github.com/josenk/srandom)
- Implement zRAM deduplication with arter97's changes
- mm: compaction: Add automatic compaction mechanism
- techpack: audio: Merge last update
- mbcache: Speed up cache entry creation
- msm/sde/rotator: Remove unneeded PM QoS requests
- drm/msm/sde: Remove unneeded PM QoS requests
- msm: kgsl: Remove L2PC PM QoS feature
- scsi: ufs: Add sultanxda's simple IRQ-affined PM QoS operations
- scsi: ufs: Scrap Qualcomm's PM QoS implementation
- qcacld-3.0: use power efficient workingqueue
- qcacld-3.0: Nuke as much debug bloat as possible
- qcacmn: Disable all of qdf_trace when WLAN_DEBUG is disabled
- sched: fair: consider all running tasks in cpu for load balance
- cpuidle: don't disable cpuidle when entering suspend
- defconfig: Disable EDAC