Linux 6.0 has been released on Sunday, 2 Oct 2022.
Summary: This release includes a Runtime Verification system that aims to complement classical exhaustive verification techniques; several io_uring features such as async buffered writes, a io_uring based userspace block driver, and networking zero-copy send, a new Btrfs send protocol version with improvement features, XFS scalability enhancements; task scheduler performance improvements; a dma-buf API for exporting and importing sync files; BPF improvements; and LRU list quality improvement with DAMON. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- io_uring features
- Runtime verification system
- Btrfs send v2 and other improvements
- XFS scalability improvements
- New perf tools: lock contention and kwork
- BPF improvements
- Task scheduler improvements
- Better LRU list quality with DAMON
- dma-buf: Add API for exporting and importing sync files
- Support for Intel SGX2
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. io_uring features
This release includes several io_uring improvements: async buffered writes (3x performance improvements using XFS), an userspace block driver which delivers io request from an ublk block device (/dev/ublkbN) into ublk server; a synchronous cancellation API, networking zerocopy send, LSM hooks for IORING_OP_URING_CMD, multishot recvmsg, and other features.
Recommended LWN article: Zero-copy network transmission with io_uring
1.2. Runtime verification system
Runtime Verification is a lightweight (yet rigorous) method that complements classical exhaustive verification techniques (such as model checking and theorem proving) with a more practical approach for complex systems.
Instead of relying on a fine-grained model of a system (e.g., a re-implementation a instruction level), RV works by analyzing the trace of the system's actual execution, comparing it against a formal specification of the system behavior.
Recommended LWN article: The runtime verification subsystem
Recommended video: Formal Verification Made Easy (and fast!)
1.3. Btrfs send v2 and other improvements
This release includes support for a new version of the protocol that is used by the btrfs send/receive utility. The protocol includes new commands: ability write larger data chunks than 64K, send raw compressed extents using the encoded data ioctls (avoiding the uncompress-compress process), send 'otime' (inode creation time), send file attributes (file flags and xflags).
There are also performance improvement in several areas, especially in direct I/O reads (improved throughput by 3x on sample workload).
1.4. XFS scalability improvements
This release includes some XFS log scalability improvements by removing spinlocks and global synchronization points. Also, there are lockless lookups for the buffer cache, which provide much better performance with higher CPU counts.
1.5. New perf tools: lock contention and kwork
This release brings support for a new 'perf lock contention' subtool, using new lock contention tracepoints and using BPF for in kernel aggregation and then userspace processing using the perf tooling infrastructure for resolving symbols, target specification, etc
There is also a new 'perf kwork' tool to trace time properties of kernel work (such as softirq, and workqueue), uses eBPF skeletons to collect info in kernel space, aggregating data that then gets processed by the userspace tool.
1.6. BPF improvements
As usual, the BPF subsystem includes support for several new features. This release adds support for type match support, 64 bit enums, sleepable uprobes, improved loop performance, a new eBPF-based LSM flavor, and many other improvements.
1.7. Task scheduler improvements
This release includes several improvements for the task scheduler: improved NUMA balancing on AMD Zen systems for affine workloads; improve handling of reduced-capacity CPUs in load-balancing; energy Model improvements; spend much less time searching for an idle CPU on overloaded systems, improved NUMA imbalance behavior, improved core scheduling and wakeup-balancing...
1.8. Better LRU list quality with DAMON
This release includes a DAMON-based LRU-lists Sorting, a static kernel module that is aimed to improve the quality of LRU-lists, which are used to determine if a page has
As page-granularity access checking overhead could be significant on huge systems, LRU lists are normally not proactively sorted but partially and reactively sorted for special events including specific user requests, system calls and memory pressure. As a result, LRU lists are sometimes not so perfectly prepared to be used as a trustworthy access pattern source for some situations including reclamation target pages selection under sudden memory pressure.
DAMON can identify access patterns of best-effort accuracy while inducing only user-specified range of overhead, so proactively running DAMON_LRU_SORT could be helpful for making LRU lists more trustworthy access pattern source with low and controlled overhead. DAMON_LRU_SORT finds hot pages (pages of memory regions that showing access rates that higher than a user-specified threshold) and cold pages (pages of memory regions that showing no access for a time that longer than a user-specified threshold) using DAMON, and prioritizes hot pages while deprioritizing cold pages on their LRU-lists. To avoid it consuming too much CPU for the prioritizations, a CPU time usage limit can be configured.
Documentation: DAMON-based LRU-lists Sorting
1.9. dma-buf: Add API for exporting and importing sync files
Modern userspace APIs like Vulkan are built on an explicit synchronization model. This doesn't always play nicely with the implicit synchronization used in the kernel and assumed by X11 and Wayland. The client -> compositor half of the synchronization isn't too bad, because the kernel can control whether or not the graphic driver synchronizes on the buffer and whether or not it's considered written. The harder part is the compositor -> client synchronization when we get the buffer back from the compositor. We're required to be able to provide the client with a VkSemaphore and VkFence representing the pointin time where the window system (compositor and/or display) finished using the buffer. With current APIs, it's very hard to do this in such a way that we don't get confused by the Vulkan driver's access of the buffer. In particular, once we tell the kernel that we're rendering to the buffer again, any CPU waits on the buffer or GPU dependencies will wait on some of the client rendering and not just the compositor.
This release adds a new ioctl that solves this problem by allowing to get a snapshot of the implicit synchronization state of a given dma-buf in the form of a sync file. It's effectively the same as a poll() or I915_GEM_WAIT only, instead of CPU waiting directly, it encapsulates the wait operation, at the current moment in time, in a sync_file so we can check/wait on it later. As long as the Vulkan driver does the sync_file export from the dma-buf before we re-introduce it for rendering, it will only contain fences from the compositor or display. This allows to accurately turn it into a VkFence or VkSemaphore without any over-synchronization.
There is also another ioctl that allows you to import a sync_file into a dma-buf. Unlike the previous one, however, this does add genuinely new functionality to dma-buf. Without this, the only way to attach a sync_file to a dma-buf is to submit a batch to your driver of choice which waits on the sync_file and claims to write to the dma-buf. Even if said batch is a no-op, a submit is typically way more overhead than just attaching a fence. A submit may also imply extra synchronization with other work because it happens on a hardware queue.
In the Vulkan world, this is useful for dealing with the out-fence from !vkQueuePresent. Current Linux window-systems (X11, Wayland, etc.) all rely on dma-buf implicit sync. Since Vulkan is an explicit sync API, we get a set of fences (VkSemaphores) in vkQueuePresent and have to stash those as an exclusive (write) fence on the dma-buf. We handle it in Mesa today with the above mentioned dummy submit trick. This ioctl would allow us to set it directly without the dummy submit. This may also open up possibilities for GPU drivers to move away from implicit sync for their kernel driver uAPI and instead provide sync files and rely on dma-buf import/export for communicating with other implicit sync clients.
1.10. Support for Intel SGX2
This release includes support for the Intel Software Guard Extensions v2, also referred to as Enclave Dynamic Memory Management (EDMM). These extensions allow for several features absent in the first version, allowing changes to initialized enclaves: modifying enclave page permissions and type, and dynamically adding and removing of enclave pages. When an enclave accesses an address within its address range that does not have a backing page then a new regular page will be dynamically added to the enclave.
2. Core (various)
(FEATURED) The Runtime Verification (RV) interface, a lightweight (yet rigorous) method that complements classical exhaustive verification techniques (such as model checking and theorem proving) with a more practical approach for complex systems. Instead of relying on a fine-grained model of a system (e.g., a re-implementation a instruction level), RV works by analyzing the trace of the system's actual execution, comparing it against a formal specification of the system behavior commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add hostname kernel parameter commit
idmapping: Introduce dedicated type for idmapped mounts. They allow to establish a type safety boundary in the VFS for idmapped mounts preventing confusion betwen {g,u}ids mapped into an idmapped mount and {g,u}ids mapped into the caller's or the filesystem's idmapping commit, commit, commit, commit, commit, commit, commit, commit
fanotify: New FAN_MARK_IGNORE API for ignoring events, to try and sort the historic mess of FAN_MARK_IGNORED_MASK commit, commit, commit
- (FEATURED) io_uring
Support io-uring async buffered writes, 3x performance improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Userspace block driver, which delivers io request from ublk block device(/dev/ublkbN) into ublk server which is the userspace part of ublk for communicating with ublk driver and handling specific io logic by its target module. Another thing ublk driver handles is to copy data between user space buffer and request/bio's pages, or take zero copy if mm is ready for support it in future. ublk driver doesn't handle any IO logic of the specific driver, so it is small/simple, and all io logics are done by the target code in ublkserver commit, commit
Add sync cancelation API through io_uring_register() commit, commit, commit
Cleanups and poll optimisations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add alloc cache for sendmsg/recvmsg commit, commit, commit, commit
Networking zerocopy send commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Task work lock contention improvments commit, commit, commit, commit, commit, commit, commit
Deprecate epoll_ctl support commit
Let setting a range for file slot allocation commit
- Scheduler
Energy Model improvements: fix & refine all the energy fairness metrics (PELT), and remove the conservative threshold requiring 6% energy savings to migrate a task. Doing this improves power efficiency for most workloads, and also increases the reliability of energy-efficiency scheduling (recommended LWN article) commit, commit, commit, commit, commit, commit, commit
Optimize/tweak select_idle_cpu() to spend (much) less time searching for an idle CPU on overloaded systems. There's reports of several milliseconds spent there on large systems with large workloads commit
Improve NUMA imbalance behavior. On certain systems with spare capacity, initial placement of tasks is non-deterministic, and such an artificial placement imbalance can persist for a long time, hurting performance. Note that some performance regressions were reported against this, caused by workloads that are not memory bandwith limited, which benefit from the artificial locality of the placement bug(s); the choice has been done that consistency is better than random workload benefits from non-deterministic bugs commit, commit, commit, commit
Improve wakeup latency by allowing same-LLC wakeup of idle CPUs for newly woken tasks commit
Do not check capabilities and do not issue capability check denial messages when a scheduler syscall doesn't require privileges (such as increasing niceness) commit
Binder: add TF_UPDATE_TXN to replace outdated txn commit
Remove CONFIG_ANDROID commit
Power management: Add PM_USERSPACE_AUTOSLEEP Kconfig. This allows for certain sleep-sensitive code (wireguard/rng) to decide on what preparatory work should be performed (or not) in their pm_notification callbacks commit
RCU: Add an option to offload all CPUs on boot commit
RCU: Add option to opt rcuo kthreads out of RT priority commit
driver core: Set fw_devlink.strict=1 by default commit
kbuild: add dtbs_prepare target commit
kunit: tool: introduce --qemu_args commit
3. File systems
- BTRFS
(FEATURED) Send protocol v2 (backwards compatible). The protocol includes new commands: ability write larger data chunks than 64K, send raw compressed extents using the encoded data ioctls (avoiding the uncompress-compress process), send 'otime' (inode creation time), send file attributes (file flags and xflags) commit, commit, commit, commit, commit, commit, commit, commit, commit
Performance improvements and cleanups around delayed items: reduced amount of reserved metadata for delayed items, improvements when inserted items can be batched into one leaf, when deleting batched directory index items, when deleting delayed items used for deletion, overall improved count of files/sec, decreased subvolume lock contention commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Increase direct io limit for read to 256 sectors, improved throughput by 3x on sample workload commit
Repair all known bad mirrors commit
- sysfs
- XFS
- NFSD
Overhaul NFSD filecache, a cache of server-side "struct file" objects recently used by NFS clients. The purposes of this overhaul are an immediate improvement in cache scalability in the number of open files, and preparation for further improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- NTFS3
- CEPH
Add session already open notify support commit
- EROFS
- EXT2
Remove nobh support commit
- FAT
- AFS
Enable multipage folio support commit
4. Memory management
smaps: add Pss_Dirty to show the dirty private pages of a process commit
(FEATURED) dma-buf: Add an API for exporting sync files. Modern userspace APIs like Vulkan are built on an explicit synchronization model. This doesn't always play nicely with the implicit synchronization used in the kernel and assumed by X11 and Wayland. This release adds a new IOCTL that solves this problem by allowing to get a snapshot of the implicit synchronization state of a given dma-buf in the form of a sync file. It's effectively the same as a poll(), instead of CPU waiting directly, it encapsulates the wait operation, at the current moment in time, in a sync_file so we can check/wait on it later. This allows to accurately turn it into a VkFence or VkSemaphore without any over-synchronization commit, commit
hwpoison: enable 1GB hugepage support commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Extend DAMOS for Proactive LRU-lists Sorting commit, commit, commit, commit, commit, commit, commit, commit
hugetlb: support write-faults in shared mappings commit
mprotect: try avoiding write faults for exclusive anonymous pages when changing protection commit
Introduce shrinker debugfs interface commit, commit, commit, commit, commit, commit
page_pool: Add stats counters commit, commit, commit, commit, commit, commit
tools/vm/slabinfo: Handle files in debugfs commit
Updates cacheinfo to populate and use the information from there for all the cache topology. This intends to fix some discrepancies we have in the CPU topology parsing from the device tree /cpu-map node. Also this diverges from the behaviour on a ACPI enabled platform. The expectation is that both DT and ACPI enabled systems must present consistent view of the CPU topology commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Folios work
Finish the conversion from alloc_pages_vma() to vma_alloc_folio(), finish converting shrink_page_list() to folio, start converting shmem from pages to folios commit, commit, commit, commit, commit
Convert the swap code to be more folio-based commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Removes find_get_pages_range(), pagevec_lookup() and pagevec_lookup_range(), converting all callers to use the new filemap_get_folios() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
5. Block layer
dm verity: optionally use tasklets to DM verity target checksums commit, commit, commit, commit, commit, commit
Direct I/O DMA alignment commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- scsi
Remove UBLK_IO_F_INTEGRITY commit
6. Tracing, perf and BPF
- BPF
(FEATURED) Introduce type match support, a new way for performing type queries to BPF. It introduces the "type matches" relation, similar to what is already present with "type exists" (in the form of bpf_core_type_exists) commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add 64bit enum value support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a ksym BPF iterator commit
(FEATURED) Sleepable uprobe support commit, commit, commit, commit, commit
cgroup_sock lsm flavor for attaching per-cgroup programs to existing lsm hooks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bpftool: Add command to list BPF types, helpers commit, commit
bpftool: Add KIND_RESTRICT support commit
libbpf: Textual representation of enums commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add SEC("ksyscall")/SEC("kretsyscall") sections and corresponding bpf_program__attach_ksyscall() API that simplifies tracing kernel syscalls through kprobe mechanism commit, commit, commit, commit, commit
libbpf: remove deprecated APIs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: perfbuf: Add API to get the ring buffer commit
- perf
(FEATURED) Introduce 'perf lock contention' subtool, using new lock contention tracepoints and using BPF for in kernel aggregation and then userspace processing using the perf tooling infrastructure for resolving symbols, target specification, etc commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add new 'perf kwork' tool to trace time properties of kernel work (such as softirq, and workqueue), uses eBPF skeletons to collect info in kernel space, aggregating data that then gets processed by the userspace tool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Compress the pmu_event tables commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Rewrite jevents program in python commit, commit, commit, commit
perf record: Preparation for sideband injection commit, commit, commit, commit, commit
perf tools: Support reading PERF_FORMAT_LOST commit, commit, commit, commit
perf stat: Add JSON output option commit
Add a new read format to get a number of lost samples commit
ftrace: host klp and bpf trampoline together commit, commit, commit, commit
7. Virtualization
vmxnet3: upgrade to version 7 commit, commit, commit, commit, commit, commit, commit, commit
virtio pci support VIRTIO_F_RING_RESET commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
virtio_net: notifications coalescing support commit
ifcvf/vDPA: support query device config space through netlink commit, commit, commit, commit
Implement vdpasim suspend operation commit, commit, commit, commit
- vdpa_sim_blk
VDUSE: Support registering userspace memory as bounce buffer commit, commit, commit, commit, commit
virtio pci support VIRTIO_F_RING_RESET commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: debugfs: expose pid of vcpu threads commit
xen: Add support for HVMOP_set_evtchn_upcall_vector commit
vhost scsi: Allow user to control num virtqueues commit
8. Cryptography
Remove CONFIG_ARCH_RANDOM commit
HCTR2 support commit, commit, commit, commit, commit, commit, commit, commit, commit
aria: Implement ARIA symmetric cipher algorithm commit
rsa: implement Chinese Remainder Theorem for faster private key operations commit
9. Security
Add support for proper labeling of memfd_secret anonymous inodes commit
Add LSM hook to setgroups() syscall commit
- apparmor
LoadPin: Enable loading from trusted dm-verity devices commit, commit, commit
LSM: SafeSetID: Add setgroups() security policy handling commit
10. Networking
- Bluetooth
IPv4/IPv6: new option to accept garp/untracked na only if in-network commit, commit, commit
Allow to inherit from VLAN encapsulated IP commit, commit, commit, commit
ip6mr: add RTM_GETROUTE netlink op commit
- TCP
- af_unix
- Bonding
bridge: allow add/remove permanent mdb entries on disabled ports commit
Implement dev info and dev flash for line cards commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dsa: add get_pause_stats support commit
mptcp: Support changes to initial subflow priority commit, commit, commit, commit, commit
ping: support ipv6 ping socket flow labels commit
seg6: add support for SRv6 Headend Reduced commit, commit, commit, commit
smc: Introduce virtually contiguous buffers for SMC-R commit, commit, commit, commit, commit, commit
- TLS
wifi: more MLO work (required for WiFi 7) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New BPF nf_conntrack kfuncs for insertion, changing timeout, status commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tun: support not enabling carrier in TUNSETIFF commit
11. Architectures
11.1. ARM
Device Tree updates, new SoCs
A whole family of Broadcom broadband SoCs, both 32-bit and 64-bit: BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146, BCM6856, commit, BCM6756, BCM63148, and BCM6813.
The new NXP i.MX93 SoC, the follow-up to the popular i.MX6 and i.MX8 embedded SoCs, now using Cortex-A55 cores and the Ethos-U65 NPU commit, commit, commit
Qualcomm Snapdragon 8cx Gen3 (SC8280XP), the current high end of Arm based Laptop SoCs, and its automotive cousin, the SA8540P. The SC8280XP is used in the Lenovo Thinkpad X13s laptop that also gets added here in addition to the reference boards commit, commit, commit, commit, commit, commit
Allwinner H616, a newer version of the H6 SoC, targeted at Set-top-box applications. It comes with dts files for the Orange Pi zero2 single-board computer and the X96 Mate set-top-box commit, commit, commit, commit, commit
Marvell Prestera 98DX2530 (AlleyCat5), a network switch chip in the Armada SoC family based on the Cortex-A55 core commit
Add Sunplus SP7021 SoC Support commit, commit, commit, commit, commit, commit, commit, commit, commit
Nuvoton Arbel NPCM8XX BMC SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Device Tree updates, support for new machines based on previously supported SoC:
Several new machines on NXP i.MX platforms: multiple Toradex Colibri boards using the "Iris" commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and "Ixora" carriers [https://git.kernel.org/linus/966b48d983daa15ae4af56b24ae5ec6ec5eae0d7|commit]], commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, DH electronics i.MX8M Plus DHCOM and PDK2 commit, commit, TQ-Systems TQMa8MPQL commit, and phytech phyBOARD-Polis-i.MX8MM commit
Google Chameleon v3 FPGA board based on Intel Arria10 and Stratix 10 Software Virtual platform, both in the SoCFPGA platform commit, commit, commit, commit, commit
Two new wireless devices based on Broadcom SoCs: The Asus GT-AX6000 Router commit and the Cisco Meraki MR26 access point commit
Improved Chromebook support for both the Mediatek and Qualcomm SoC families brought added machines: Acer Chromebook 514 (MT8192) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, Acer Chromebook Spin 513 (MT8195) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and a couple of SC7180 based machines including the Lenovo IdeaPad Chromebook Duet 3 commit, commit, commit, commit, commit
mediatek: SVS: introduce MTK SVS commit, commit, commit, commit, commit, commit
Xiaomi Mi Mix2s commit, LG G7 and LG V35 commit are mobile phones based on Qualcomm SDM845, while Mi 5s Plus commit is based on MSM8996
A few development board on other chips: PCB8309 (Microchip lan966x) commit, commit, Radxa Rock Pi S (Rockchips RK3308) commit, DH DRC Compact (ST STM32MP1) commit and Inforce IFC6560 (Qualcomm SDM660) commit
dts: aspeed: centriq2400: drop the board commit
davinci: Delete DM644x board files commit
davinci: Delete DM646x board files commit
Add support for Stratix 10 Software Virtual Platform commit
Introduce the Qualcomm SA8540P automotive platform and the SA8295P ADP development board commit
soc: qcom: Add compatibles for MSM8909 commit, commit, commit, commit, commit, commit, commit, commit
ACPI: Enable Platform Runtime Mechanism(PRM) support commit, commit, commit
coresight: Add config flag to enable branch broadcast commit
ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS commit
soc: fujitsu: Add A64FX diagnostic interrupt driver commit
Add mutex support for MDP commit, commit, commit, commit, commit
coresight: Add config flag to enable branch broadcast commit, commit, commit, commit
- ARM64
Enable THP_SWAP for arm64 commit
BPF trampoline, which converts native calling convention to bpf calling convention and is used to implement various bpf features, such as fentry, fexit, fmod_ret and struct_ops commit, commit, commit, commit
sme: Expose SMIDR through sysfs commit
boot: add zstd support commit
Trap implementation defined functionality in userspace commit
Cleanup ioremap() and support ioremap_prot() commit, commit, commit, commit, commit, commit
Disabling SVE/SME from the command-line commit, commit, commit, commit, commit, commit, commit, commit, commit
Start allocating upper bits of AT_HWCAP2 commit, commit, commit
perf c2c: Support data source and display for Arm64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
lib/rwmmio/arm64: Add support to trace register reads/writes commit, commit, commit, commit, commit, commit, commit, commit, commit
11.2. X86
Enable STIBP for IBPB mitigated RETBleed commit
Prefer MWAIT over HLT on AMD processors commit, commit, commit
- platform
chrome: cros_kbd_led_backlight: add EC PWM backend commit, commit, commit, commit, commit
surface: Add support for tablet mode switch via Surface Aggregator Module commit, commit, commit, commit
surface: aggregator_registry: Rename and add more HID device nodes commit, commit, commit, commit
surface: aggregator: Add support for client hot-removal commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
surface: aggregator_registry: Add support for Surface Laptop Go 2 commit
Add Raptor Lake and PCI error recovery support commit, commit, commit, commit
intel/pmc: Add Alder Lake N support to PMC core driver commit
serial-multi-instantiate: Add CLSA0101 Laptop commit
thinkpad-acpi: Add support for automatic mode transitions commit
thinkpad-acpi: Add support for hotkey 0x131a commit
amd_nb: Add AMD PCI IDs for SMN communication commit
Add CPU model numbers for Meteor Lake commit
Add new Raptor Lake CPU model number commit
tlb: Avoid reading mm_tlb_gen when possible commit
rdrand: Remove "nordrand" flag in favor of "random.trust_cpu" commit
crypto: Use rng seeds from setup_data commit
(FEATURE) Support SGX2 also referred to as Enclave Dynamic Memory Management (EDMM) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introducing AMD x2AVIC and hybrid-AVIC modes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- KVM
IPI virtualization support for VM commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nVMX: Support loading MSRs before nested state commit, commit, commit, commit, commit
Add a cap to disable NX hugepages on a VM commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend Eager Page Splitting to the shadow MMU commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add basic support to enable guest PEBS via DS commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add CMCI and UCNA emulation commit, commit, commit, commit, commit, commit, commit, commit
Extend KVM_{G, S}ET_VCPU_EVENTS to support pending triple fault commit
VMX: Enable Notify VM exit commit
- perf
amd-iommu: Add multiple PCI segments support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.3. POWERPC
Remove the 'nobats' kernel parameter commit
Remove 'noltlbs' kernel parameter commit
KASAN Full support for BOOK3E/64 commit
Atomics support for eBPF commit, commit, commit, commit, commit
Add DTS file for CZ.NIC Turris 1.x routers commit
Reorganise virtual memory commit
11.4. LOONGARCH
Add LoongArch-related irqchip drivers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.5. RISCV
Implement Zicbom-based CMO instructions + the t-head variant commit, commit, commit, commit
Add Zihintpause support commit
Introduce unified static key mechanism for ISA ext commit, commit
11.6. S390
KVM: Add PV dump support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.7. UM
Seed rng using host OS rng commit
11.8. ARC
Drop support for CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 commit
12. Drivers
12.1. Graphics
Add support for the LogiCVC display controller commit
Add a panel API to set orientation properly commit, commit, commit, commit, commit, commit, commit, commit
- amdgpu
Add support for DCN 3.2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable high priority gfx queue on asics which support it commit
Add SubVP required code commit
Add basic infrastructure for enabling FAMS commit
Add debug parameter to retain default clock table commit
Add support for HF-VSIF commit
Enable ASPM support for PCIE 7.4.0/7.6.0 commit
Adding device coredump support commit
Add peer-to-peer support among PCIe connected AMD GPUs commit
- amdkfd
- Intel
Preparation for Ponte Vecchio and new blitter engines commit, commit, commit, commit, commit
Add support for DRM_I915_GEM_VM_BIND/UNBIND ioctl, which allows UMD to bind/unbind GEM buffer objects (BOs) or sections of a BOs at specified GPU virtual addresses on a specified address space (VM) commit, commit, commit
dg2: Support 4k@30 on HDMI commit
Expose crtc current bpc via debugfs commit
Expose media freq factor to per-gt sysfs commit
Enable THP on Icelake and beyond commit
Support programming the EU priority in the GuC descriptor commit
Improve on suspend / resume time with VT-d enabled commit
Improve user experience and driver robustness under SIGINT or similar commit
Turn on small BAR support commit
- msm
- mediatek
- tegra
- meson
Support YUV422 output commit
- mgag200
Support damage clipping commit
- mxsfb/lcdif
Support i.MX8MP LCD controller commit
- nouveau
Recognise GA103 commit
- panfrost
Add Mali-G57 "Natt" support commit
- ast
- bridge
Add some DRM bridge drivers support for i.MX8qm/qxp SoCs commit,