KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 45 as of 2020-10-20 19:53:14
KernelNewbies:
  • Linux_5.9

Linux 5.9 has been released on Sun, 11 Oct 2020.

Summary: This release implements better management of anonymous (malloc'ed) memory; a new cgroup slab controller that improves slab utilization by allowing memory cgroups to share slab memory; support for proactive memory defragmentation; CPU Capacity awareness for the deadline scheduling class; support for running BPF programs on socket lookups; new close_range() system call for easier closing of entire ranges of file descriptors, support for FSGSBASE x86 instructions that provide faster context switching, NFS support for extended attributes; and support for ZSTD compressed kernel, ramdisk and initramfs. As always, there are many other new drivers and improvements.

Contents

  1. Prominent Features
    1. Better management of anonymous memory
    2. New cgroup slab controller shares slab memory
    3. Proactive memory compaction
    4. New close_range() system call for easier closing of file descriptors
    5. Support for running BPF programs on socket lookups
    6. CPU Capacity awareness for the deadline scheduling class
    7. Faster context switch with supports FSGSBASE x86 instructions
    8. NFS support for extended attributes
    9. Support for ZSTD compressed kernel, ramdisk and initramfs
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing, perf and BPF
  7. Virtualization
  8. Security
  9. Networking
  10. Architectures
    1. ARM
    2. PowerPC
    3. x86
    4. RISC-V
    5. MIPS
    6. C-SKY
    7. Xtensa
    8. S390
    9. SH
    10. SPARC
    11. UNICORE32
    12. OpenRISC
    13. ARC
  11. Drivers
    1. Graphics
    2. Power Management
    3. Storage
    4. Drivers in the Staging area
    5. Networking
    6. Audio
    7. Tablets, touch screens, keyboards, mouses
    8. TV tuners, webcams, video capturers
    9. Universal Serial Bus / Thunderbolt
    10. Serial Peripheral Interface (SPI)
    11. Watchdog
    12. Serial
    13. CPU Frequency scaling
    14. Device Voltage and Frequency Scaling
    15. Voltage, current regulators, power capping, power supply
    16. Real Time Clock (RTC)
    17. Pin Controllers (pinctrl)
    18. MultiMediaCard (MMC)
    19. Memory Technology Devices (MTD)
    20. Industrial I/O (iio)
    21. Multi Function Devices (MFD)
    22. Pulse-Width Modulation (PWM)
    23. Inter-Integrated Circuit (I2C + I3C)
    24. Hardware monitoring (hwmon)
    25. General Purpose I/O (gpio)
    26. LEDs
    27. DMA engines
    28. Hardware Random Number Generator (hwrng)
    29. Cryptography hardware acceleration
    30. PCI
    31. Clock
    32. PHY ("physical layer" framework)
    33. Memory Controller Drivers
    34. Firmware Drivers
    35. Remote Processors
    36. Various
  12. List of Pull Requests
  13. Other news sites

1. Prominent Features

1.1. Better management of anonymous memory

This release implements better workload detection and protection of anonymous memory (memory that is not file-backed, ie. malloc'ed memory). The Linux kernel manages the memory of anonymous memory placing its pages in either the active list or inactive list. Under memory pressure, unused pages are moved from the active to the inactive list and unmapped, giving them a chance of being referenced again (aka: soft fault) before being moved to swap, if there is more pressure.

In the previous implementation, newly created or swap-in pages were placed on the active list, which could force actively used pages to the inactive list. In this release, newly created or swap-in anonoymous pages are started in the inactive list (thus protecting existing hot workloads), and only promoted to the active list when they are referenced enough. Aditionally, because this change can also cause newly created or swap-in anonymous pages to swap-out existing pages in the inactive list, the existing workingset detection mechanisms have been extended to deal with the anonymous LRU list to make more optimal decisions.

1.2. New cgroup slab controller shares slab memory

The cgroup slab memory controller was based on the idea of replicating slab allocator internals for each memory cgroup, so those cgroups didn't share slab memory, which lead to low slab utilization and higher slab memory usage. The slab controller used to be an opt-int feature, but today it's enabled by default in the memory controller, and modern systems with systemd create many cgroups, so these ineffiencies affect many people.

This release incorporats a new cgroup slab memory controller that allows to share slab memory between memory cgroups. For Facebook, it saved significant amount of memory, measured from high hundreds of MBs to single GBs per host; on average the size of slab memory was reduced by 35-45%. Desktop systems also benefit: on a 16GB Fedora system, the new slab controller saves ~45-50% of slab memory, measured just after loading of the system.

1.3. Proactive memory compaction

Huge Pages (ie. pages bigger than 4KB on x86) are a processor feature that can improve performance due to reduced TBL usage. Making use of these pages requires having large amounts of contiguous free memory, which can difficult to obtain when memory is heavily fragmented. Linux supports memory compaction (ie. defragmentation), but it is only triggered when a huge page needs to be allocated, which can take time and hence hurts allocation latency. This release adds support for proactive memory compaction, that is, automatically triggering memory compaction before doing any allocation, so that future allocations can succeed faster.

Recommended LWN article: Proactive compaction for the kernel

1.4. New close_range() system call for easier closing of file descriptors

This release incorporates a new system call, close_range(2). It allows to efficiently close a range of file descriptors up to all file descriptors of a calling task. Eg, close_range(3, ~0U); will close all descriptors past stderr. It turns out, quite a bunch of projects need to do exactly that: service managers, libcs, container runtimes, programming language runtimes/standard libraries (Rust/Python). This system call has been coordinated with FreeBSD, so it is also available there.

1.5. Support for running BPF programs on socket lookups

As with every new version, there are many improvements to BPF. An interesting new feature is a new BPF program type named BPF_PROG_TYPE_SK_LOOKUP, which runs when transport layer is looking up a listening socket for a new connection request (TCP), or when looking up an unconnected socket for a packet (UDP). This serves as a mechanism to overcome the limits of the bind() API. Two use-cases driving this work are: 1) steer packets destined to an IP range, fixed port to a single socket, 2) steer packets destined to an IP address, any port to a single socket.

1.6. CPU Capacity awareness for the deadline scheduling class

Since Linux 3.14 the Linux task scheduler supports a deadline scheduling class, designed around real-time concepts for applications that need strict time requirements. This scheduling class was not aware of the existence of heterogeneous platforms where CPUs have not the same performance (ie. ARM big.LITTLE), which leads to wrong scheduling decisions. This release makes the deadline class aware of the capacity of each CPU.

Recommended LWn article: Capacity awareness for the deadline scheduler

1.7. Faster context switch with supports FSGSBASE x86 instructions

The FSGSBASE instructions are an Intel feature that has been available for a long time. They allow direct access to the FS and FS segment base registers. In addition to benefits to applications, performance improvements to the OS context switch code are possible by making use of these instructions

Recommended LWN article: A possible end to the FSGSBASE saga

1.8. NFS support for extended attributes

This release incorporates support for extended attributes (RFC 8276), which bridges one of the most relevant gaps in NFS.

1.9. Support for ZSTD compressed kernel, ramdisk and initramfs

This release adds support for a ZSTD-compressed kernel, ramdisk, and initramfs in the kernel boot process (ZSTD-compressed ramdisk and initramfs are supported on all architectures, the ZSTD-compressed kernel is only hooked up to x86 for now). ZSTD offers good compression rates and very high decompression speeds. When Facebook switched from a xz compressed initramfs to a zstd compressed initramfs decompression time shrunk from 12 seconds to 3 seconds. When they switched from a xz compressed kernel to a zstd compressed kernel they saved 2 seconds of boot time.

2. Core (various)

  • Task scheduler
    • (FEATURED) CPU Capacity awareness for SCHED_DEADLINE class, which now attempts to avoid missing task deadlines due to smaller CPU (e.g. big.LITTLE systems) not being capable enough to finish a task in time. This is only supported for now in the idle scenario commit, commit, commit, commit, commit

    • uclamp: Add a new sysctl to control RT default boost value. On battery powered devices, it is desired to control this default (currently hardcoded) behavior at runtime to reduce energy consumed by RT tasks commit, commit

    • isolation: Isolate unbound kthreads commit, commit

  • fanotify: report events with names. With these you can now efficiently monitor whole filesystem, eg to mirror changes to another machine. Two new group flags: FAN_REPORT_NAME, which reports the parent fid and name for directory entry modification events (create/detete/move) and for events on non-directory objects; and FAN_REPORT_DIR_FID which report unique directory id in some cases 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

  • (FEATURED) Add close_range() syscall. It allows to efficiently close a range of file descriptors up to all file descriptors of a calling task, which is something done by many pieces of software. Eg, close_range(3, ~0U); will close all descriptors past stderr commit, commit, commit, commit

  • (FEATURED) Add support for zstd compressed initrd and kernel commit, commit, commit, commit, commit, commit, commit, commit

  • Add the missing support for attaching to time namespaces via pidfds by supporting CLONE_NEWTIME with setns() commit, commit, commit, commit

  • io_uring
    • Support proper async buffered reads, instead of relying on a kernel thread offload for that commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Support EPOLLEXCLUSIVE commit

  • seccomp
    • Add EPOLLHUP support for SECCOMP_RET_USER_NOTIF to more easily detect the death of a monitored process commit, commit, commit, commit, commit

    • Add seccomp "addfd" notifier ioctl. It is a way for a seccomp user_notif process manager to inject files into the managed process in order to handle emulation of various fd-returning syscalls across security boundaries. Containers folks and Chrome are in need of the feature commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Report number of loaded filters in /proc/$pid/status commit

  • speakup screen reader (video console for blind people): Move out of staging commit

  • Power management
    • Make the Energy Model cover non-CPU devices. It will unify the power model for thermal subsystem. It will make simpler to add support for new devices willing to use more advanced features (like Intelligent Power Allocation) commit, commit, commit, commit, commit, commit, commit, commit

    • Emit changed uevent on wakeup_sysfs_add/remove commit

  • gcc-plugins/stackleak: improvements of the stackleak gcc plugin commit, commit, commit, commit

  • kasan: support stack instrumentation for tag-based mode commit, commit, commit, commit, commit

  • bootconfig: Add value override operator commit, commit, commit

  • driver core
    • Add state_synced sysfs file for devices that support it commit

    • Add waiting_for_supplier sysfs file for devices commit

    • Expose device link details in sysfs commit

    • Expose numa_node to users in sysfs commit

  • Remove system call sys_sysctl commit

  • initrd: remove support for multiple floppies commit

  • Makefile: add debug option to enable function aligned on 32 bytes commit

  • kdump: append kernel build-id string to VMCOREINFO commit

  • Generic implementation of common syscall, interrupt and exception entry/exit functionality commit, commit, commit, commit, commit

  • seqlocks: merge preparatory changes/cleanups for the 'associated locks' facilities commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

3. File systems

  • Btrfs
    • Introduce new rescue mount option to group all existing mount options for recovery. usebackuproot is an alias for rescue=usebackuproot and nologreplay is an alias for rescue=nologreplay commit

    • Better fsync() performance (12% decrease on max latency reported by dbench) commit, commit, commit, commit

    • Massive speed up of parallel fsync by reducing number of checksum tree lookups and contention, the improvements start to show up with 2 tasks with +20% throughput and -16% runtime up to 64 with +200% throughput and -66% runtime commit, commit, commit

    • Speed up parallel fsync of files with reflinked/deduped extents, with jobs 16 to 1024 the throughput gets improved roughly by 50% on average and runtime decreased roughly by 30% on average commit

    • Prefetch chunck tree leaves at mount (can improve mount speed in multi-TB file systems) commit

    • FS_INFO ioctl enhancements: add flags to request/describe newly added items, add item with numeric checksum type and checksum size to deal with new checksum types, add item with the file system generation, add item with the metadata UUID commit, commit, commit

    • qgroup: export qgroups in sysfs commit

    • Start deprecation of mount option inode_cache commit

    • Remove deprecated mount option subvolrootid commit

    • Remove deprecated mount option alloc_start commit

    • sysfs: add bdi link to the fsid directory commit

  • XFS
    • Rework inode flushing to make inode reclaim fully asynchronous 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

    • Support that ioctl(SETXFLAGS/GETXFLAGS) can set/get inode DAX commit

  • ext4
    • Block bitmap prefetching commit, commit, commit, commit, commit, commit, commit

  • F2FS
    • Add F2FS_IOC_SEC_TRIM_FILE ioctl to send discard commands or/and zero out to selected data area of a regular file for security reason commit

    • Add GC_URGENT_LOW mode in gc_urgent commit

    • Show more debug info for per-temperature log commit

  • NFS
    • (FEATURED) NFS v4.2 User xattr support (RFC 8276), Server side commit, commit, commit, commit, commit, commit, commit, commit, commit, Client side commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC commit

  • UBIFS
    • Add option to specify version for new file systems commit

  • ZONEFS
    • Add support for zone capacity to zonefs. For devices which expose a zone capacity that is different to the zone's size, the maximum zonefs file size will be set to the zone's (usable) capacity, not the zone size commit

  • Ceph
    • Filesystem client metrics are sent to all available MDSes once per second now commit, commit

  • AFS
    • Expose information from afs_vlserver through /proc for debugging commit

  • DLM
    • Add support to set skb mark value commit, commit, commit

4. Memory management

  • (FEATURED) Implement workingset protection and detection on the anonymous LRU page list. In the previous implementation, newly created or swap-in anonymous (ie. malloc'ed) page were started on the active list, which can demote pages being actively used to the inactive list. In this release, newly created or swap-in anonoymous pages are started in the inactive list, and only promoted to the active list when they are referenced enough. Aditionally, because these changes can cause newly created or swap-in anonymous pages to swap-out existing pages in the inactive list, workingset detection has been extended to deal with the anonymous LRU list to make more optimal decisions commit, commit, commit, commit, commit, commit

  • (FEATURED) New cgroup slab memory controller. It allows to share slab pages between memory cgroups. This leads to a significant win in the slab utilization (up to 45%) and the corresponding drop in the total kernel memory footprint. The reduced number of unmovable slab pages should also have a positive effect on the memory fragmentation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) Proactive compaction, instead of on-demand. A new sysctl, vm.compaction_proactiveness, is added which dictates bounds for external fragmentation which kcompactd tries to maintain commit

  • Transparent Huge Pages in the page cache, preparation patches commit, commit, commit, commit, commit, commit, commit

  • SLUB
    • Extend the slub_debug boot parameter syntax so that multiple blocks of either global or slab-specific options can be specified, with blocks delimited by ';' commit

    • Reduce slub_debug overhead in cases where it's compiled in but not enabled during boot, with a static key commit, commit, commit, commit

    • Make some sysfs attributes read only commit, commit, commit, commit

  • vmstat: new VM events which will help in validating THP migration without split commit

  • vmstat: Add pgreuse counter, measures when a page is reused for COW commit

  • Make updates to vm_committed_as stat more scalable commit, commit, commit, commit

  • memcg: reclaim harder before high throttling commit, commit

  • memcg: Add percpu memory accounting to memory cgroups commit, commit, commit, commit, commit

  • tmpfs: To reduce risk of inode number overflows in tmpfs, make inode numbers per-superblock and add inode64 support commit, commit

5. Block layer

  • fscrypt: Adds support for Inline Encryption using inline encryption hardware. Now when an ext4 or f2fs filesystem is mounted with '-o inlinecrypt', the contents of encrypted files will be encrypted/decrypted via blk-crypto, instead of directly using the crypto API. This model allows taking advantage of the inline encryption hardware that is integrated into the UFS or eMMC host controllers on most mobile SoCs commit, commit, commit, commit, commit, commit, commit, commit

  • bcache: extent bucket_size from 16bit to 32bit width. This is the code base for next step to use zoned device as cache device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Export max open zones and max active zones to sysfs commit, commit

  • blk-cgroup: show global disk stats in root cgroup io.stat commit

  • Device mapper
    • dm crypt: Improve latency and throughput (see article) commit

    • dm crypt: Enable zoned block device support commit

    • dm dust: Introduce interface to list badblocks commit, commit

  • md
    • Allow degraded raid6 do rmw commit, commit

    • raid5: set STRIPE_SIZE as a configurable value in /sys/block/md1/md/stripe_size commit, commit, commit

    • Report the UUID of the MD array in a new md sysfs file 'uuid' read-only commit

6. Tracing, perf and BPF

  • BPF
    • Add a text poke event to record changes to kernel text (i.e. self-modifying code) in order to support tracers like Intel PT decoding through jump labels, kprobes and ftrace trampolines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • (FEATURED) Add a new BPF program type named BPF_PROG_TYPE_SK_LOOKUP, which runs when transport layer is looking up a listening socket for a new connection request (TCP), or when looking up an unconnected socket for a packet (UDP). This serves as a mechanism to overcome the limits of the bind() API. Two use-cases driving this work are: 1) steer packets destined to an IP range, fixed port to a single socket, 2) steer packets destined to an IP address, any port to a single socket commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • XDP link: Following cgroup and netns examples, implement bpf_link support for XDP commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add BPF_CGROUP_INET_SOCK_RELEASE hook. Sometimes it's handy to know when the socket gets freed. In particular, we'd like to try to use a smarter allocation of ports for bpf_bind and explore the possibility of limiting the number of SOCK_DGRAM sockets the process can have commit, commit, commit, commit

    • Add support of SO_KEEPALIVE flag and TCP related options to bpf_setsockopt() routine. This is helpful if we want to enable or tune TCP keepalive for applications which don't do it in the userspace code commit

    • Add d_path helper - preparation changes commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add new BPF link operation that allows processes with BPF link FD to force-detach it from respective BPF hook, similarly how BPF link is auto-detached when such BPF hook (e.g., cgroup, net_device, netns, etc) is removed. This facility allows admin to forcefully undo BPF link attachment, while process that created BPF link in the first place is left intact. Once force-detached, BPF link stays valid in the kernel as long as there is at least one FD open against it commit, commit, commit, commit, commit

    • Change uapi for bpf iterator map elements commit, commit

    • Expose socket storage to BPF_PROG_TYPE_CGROUP_SOCK commit

    • Implement bpf iterator for map elements. User can have a bpf program in kernel to run with each map element, do checking, filtering, aggregation, modifying values etc. without copying data to user space commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Iterator for tcp and udp sockets. This gives great flexibility for users to examine kernel data structure without using e.g. /proc/net commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Introduces a new helper bpf_get_task_stack() commit, commit, commit, commit

    • Make BPF CGROUP_STORAGE map usable by different programs at once commit, commit, commit, commit, commit

    • Support access to bpf map fields commit, commit, commit, commit, commit

    • Introduce the capability to attach and run a XDP program to CPUMAP entries. The idea behind this feature is to add the possibility to define on which CPU run the eBPF program if the underlying hw does not support RSS commit, commit, commit, commit, commit, commit, commit, commit, commit

    • libbpf: Add generic and raw BTF parsing APIs to libbpf commit, commit, commit

    • libbpf: ksym support and bpftool show PIDs commit, commit, commit, commit, commit, commit, commit, commit, commit

    • libbpf: Support disabling auto-loading BPF programs commit, commit

  • perf
    • Enhance the perf ftrace functionality so that we can make full use of kernel ftrace with perf. Two classes of changes are added: usability of existing functions is improved, and new options to support all other ftrace functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Support 'start disabled', 'enable' and 'disable' external control commands which can be provided for stat and record modes of the tool from an external controlling process. 'start disabled' command can be used to postpone enabling of events in the beginning of a monitoring session. 'enable' and 'disable' commands can be used to enable and disable events correspondingly any time after the start of the session. The 'start disabled', 'enable' and 'disable' external control commands can be used to focus measurement on specially selected time intervals of workload execution. Focused measurement reduces tool intrusion and influence on workload behavior, reduces distortion and amount of collected and stored data, mitigates data accuracy loss because measurement and data capturing happen only during intervals of interest
    • Support enable and disable commands in stat and record modes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • perf bench: Add basic syscall benchmark commit

    • Add support to convert and store time of day in CTF data conversion for 'perf data convert' subcommand. New --tod option is added to 'perf data convert' subcommand to convert data with timestamps converted to wall clock time commit

    • perf tests: Add metrics tests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Proper cap_user_time* support commit, commit, commit, commit, commit, commit, commit

7. Virtualization

  • virt: vbox: Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl commit, commit, commit, commit

8. Security

  • capabilities: Introduce CAP_CHECKPOINT_RESTORE, a new security capability that facilitates using checkpoint/restore by non-root users commit, commit, commit, commit, commit, commit, commit

  • audit: log nftables configuration change events commit

  • ima: extends the supported IMA rule conditionals for the KEXEC_CMDLINE hook function commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Allow using Clang's zero initialization for stack variables commit

  • selinux: allow reading labels before policy is loaded commit

  • Make TPM2 logs accessible for non-UEFI firmware commit, commit

9. Networking

  • TCP
    • Improve handling of DSACK covering multiple segments (add new SNMP counter) commit, commit

    • Add the earliest departure time of the timestamped skb to SCM_TIMESTAMPING_OPT_STATS. By tracking EDT values of the skb from different timestamps, we can observe when and how much the value changed. This allows to measure the precise delay injected on the sender host e.g. by a bpf-base throttler commit

    • Segmentation offload: expand to UDP support commit, commit, commit, commit, commit

    • multipath: add full DATA_FIN support at connection shutdown / close commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • multipath: Add REUSEADDR/REUSEPORT/V6ONLY setsockopt support commit, commit, commit

    • multipath: Add receive buffer auto-tuning commit, commit

    • multipath: Add syn cookie support commit, commit, commit, commit, commit, commit, commit, commit, commit

    • multipath: introduce basic mptcp sockets diag support commit, commit, commit, commit

  • Support PMTU discovery with bridged UDP tunnels commit, commit, commit, commit, commit, commit

  • geneve: adds transport ports information for route lookup so that IPsec can select Geneve tunnel traffic to do encryption. This is needed for OVS/OVN IPsec with encrypted Geneve tunnels commit

  • icmp4/6: support RFC 4884 commit, commit, commit, commit

  • Netfilter
    • Introduce support for reject at prerouting stage commit

    • Extend the nftables netlink API to support for anonymous non-base chains. Anonymous non-base chains have two properties: 1) The kernel dynamically allocates the (internal) chain name, 2) If the rule that refers to the anonymous chain is removed, then the anonymous chain and its content is also released commit, commit, commit, commit, commit, commit, commit

    • Add extended netlink error reporting for expression commit

  • Bluetooth
    • Add support for Advertisement Monitor API. The commands and events added are: Read Advertisement Monitor Feature, Add Advertisement Pattern Monitor, Remove Advertisement Monitor, Advertisement Monitor Added event, Advertisement Monitor Removed event commit, commit, commit, commit, commit, commit, commit

    • Add functionality to disable and remove advertising instances, and use that functionality in MGMT add/remove advertising calls commit

    • Add support for BT_PKT_STATUS CMSG data for SCO connections commit

    • Adding a configurable autoconnect timeout commit

    • Add support to enable LL privacy using mgmt with existing set_privacy command commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for reading and setting default system parameters from userspace. In particular, combined with the userspace changes, allows platforms to override default system parameters from a main.conf file commit, commit, commit

    • le_simult_central_peripheral experimental feature which allows a clients to determine if the controller is able to support peripheral and central connections separately and at the same time commit

  • Add ethtool extended link state commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • batman-adv: Introduce a configurable per interface hop penalty commit

  • bonding: initial support for hardware crypto offload commit, commit, commit, commit

  • bridge
    • mrp: Add support for interconnect ring. An interconnect ring is a ring that connects 2 rings. In this way is possible to connect multiple rings commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • fdb activity tracking. Adds extensions needed for EVPN multi-homing proper and efficient mac sync commit, commit, commit, commit

    • mrp: Add support for getting the status commit, commit, commit

  • mac80211
    • Add connected to auth server to meshconf commit; add connected to auth server to station info commit

    • Add support for WPA/WPA2-PSK 4-way handshake in AP mode commit

    • Add mesh_param "mesh_nolearn" to skip path discovery commit

    • Add support to advertise OCV support commit

  • DCCP: Add SIOCOUTQ ioctl to get the send buffer fill of a DCCP socket, like UDP and TCP sockets already have commit

  • devlink
    • Expose port split attributes commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add devlink-health support for devlink ports commit, commit, commit, commit, commit, commit, commit

    • Add support for board.serial_number to devlink info_get cb commit

    • Support get,set mac address of a port function commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ethtool: add support for 100 Gbps per lane link modes commit

  • udp_tunnel: add NIC RX port offload infrastructure commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Packet classifier
    • Add stream gate action policing in IEEE802.1Qci (Per-Stream Filtering and Policing) software support and hardware offload support in tc flower commit, commit, commit, commit

    • Introduce qevents. Those are attach points for TC blocks, where filters can be put that are executed as the packet hits well-defined points in the qdisc algorithms. The attached blocks can be shared, in a manner similar to clsact ingress and egress blocks, arbitrary classifiers with arbitrary actions can be put on them, etc commit, commit, commit, commit

    • sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling commit

    • Allow changing default qdisc to FQ-PIE commit

    • Introduce an extention to the cls flower classifier and allows user to add rules that match on the hash value that is stored in skb->hash while assuming the value was set prior to the classification commit, commit

    • qos offload add flow status with dropped count commit

  • Add support for Parallel Redundancy Protocol (PRP) - a network protocol standard for Ethernet that provides seamless failover against failure of any network component - in the Linux HSR driver as defined in IEC-62439-3 commit, commit, commit, commit, commit, commit, commit

  • Transformation (IPsec)
    • Support ipip and ipv6 tunnels in vti and xfrmi commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Introduce oseq-may-wrap flag commit

  • Adds a "strict mode" to the Virtual Routing and Forwarding infrastructure (VRF). It imposes that each VRF can be associated to a routing table only if such routing table is not already in use by any other VRF. The strict mode feature is designed to be network-namespace aware and it can be directly enabled/disabled acting on the "strict_mode" parameter commit, commit, commit, commit, commit

  • Phylink PCS updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • rtnetlink
    • Add keepalived rtm_protocol commit

    • Add support for protodown reason commit

  • TIPC: update a binding service via broadcast commit

  • TLS: allow MSG_CMSG_COMPAT in sendmsg commit

  • XDP: introduce new statistics for af_xdp: drops due to rx ring being full, drops due to fill ring being empty, and failures pulling an item from the tx ring commit, commit, commit

10. Architectures

10.1. ARM

  • New SoCs

    • Initial support for two chips made by MStar, a taiwanese SoC manufacturer that became part of Mediatek in 2012. For now, the added support is fairly minimal, with just two of its Cortex-A7 based 32-bit camera chips getting support for a limited set of on-chip peripherals commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Microchip adds support for their new Sparx5 family of Ethernet switch chips using 64-bit Cortex-A53 cores. These are descended from earlier VSC7xxx SparX and Ocelot chips using 32-bit MIPS cores commit, commit, commit, commit, commit, commit, commit, commit

    • Intel adds support for the new Keem Bay SoC for computer vision, built around a Movidius VPU with Linux running on Arm Cortex-A53 cores commit, commit, commit, commit, commit

    • Amazon Alpine v3, a 16-core Cortex-A72 SoC from Amazon's Annapurna Labs, otherwise known as AL73400 or first-generation GravitonThis one is added together with the official Evaluation platform commit, commit

    • Qualcomm Snapdragon SDM630, a family of mid-range mobile phone chips from 2017 based on Cortex-A53 or Kryo 260 CPUs. A total of five end-user products are added based on these, all Android phones from Sony: Xperia 10, 10 Plus, XA2, XA2 Plus and XA2 Ultra commit, commit, commit

    • Renesas RZ/G2H (r8a774e1), currently the top model in the Renesas RZ/G family, closely related to the RZ/G2N and RZ/G2M models already supportted but has a faster GPU and additional on-chip peripherals. It is added along with the HopeRun HiHope RZ/G2H development board commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • New boards
    • Allwinner sunxi: revision v1.2 of the Pine64 PinePhone smartphone commit

    • Amlogic Meson: WeTek Core2, an Amlogic S912 (GXM) based set-top box commit

    • Aspeed: EthanolX, AMD's EPYC data center rerence platform, using an ASpeed AST2600 baseboard management controller commit

    • Mediatek: Lenovo IdeaPad Duet 10.1" (kukui/krane), a new Chromebook based on the MT8183 (Helio P60t) SoC commit

    • Nvidia Tegra: ASUS Google Nexus 7 and Acer Iconia Tab A500, two Android tablets from around 2012 using Tegra 3 and Tegra 2, respectively commit, commit

    • Nvidia Tegra: The Jetson Xavier NX Developer Kit uses a SoM and carrier board for the Tegra194, their latest 64-bit chip based on Carmel CPU cores and Volta graphics commit

    • NXP i.MX: Five new boards based on the 32-bit i.MX6 series are added: The MYiR MYS-6ULX single-board computer, and four different models of industrial computers from Protonic commit, commit, commit, commit, commit

    • Qualcomm: MikroTik RouterBoard 3011, a rackmounted router based on the 32-bit IPQ8064 networking SoC commit

    • Qualcomm: Three older phones get added, the Snapdragon 808 (msm8992) based Xiaomi Libra (Mi 4C) and Microsoft Lumia 950, originally running Windows Phone, and the Snapdragon 810 (msm8994) based Sony Xperia Z5 commit, commit, commit

    • Renesas: In addition to the HiHope RZ/G2H board mentioned above, this release gains support for board versions 3.0 and 4.0 of the earlier RZ/G2M and RZ/G2N reference boards. Beacon EmbeddedWorks adds another SoM+Carrier development board for RZ/G2M commit, commit, commit, commit, commit, commit, commit, commit

    • Rockchips: Radxa Rock Pi N8 development board and the VMARC RK3288 SoM it is based on, using the high-end 32-bit rk3288 SoC commit, commit

    • imx6qdl-gw: add Gateworks System Controller support commit

    • Inline crypto support on DragonBoard 845c using the Qualcomm Inline Crypto Engine commit, commit, commit, commit

    • Append new variables to vmcoreinfo (TCR_EL1.T1SZ for arm64 and MAX_PHYSMEM_BITS for all archs) commit, commit

    • coresight: etm4x: Add support to skip trace unit power up commit

  • ARM64
    • Add the time namespace support commit, commit, commit, commit, commit, commit

    • Support for TLBI range operations and translation table level hints (part of the ARMv8.4 architecture version) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • perf: Expose some new events via sysfs commit

  • KVM: Pointer Authentication available for guests on nVHE hosts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

10.2. PowerPC

  • Remove PROT_SAO (specialised system software) support commit, commit, commit

  • Support queued spinlocks and rwlocks, which improves massively the performance in some cases commit, commit, commit, commit, commit, commit

  • Support for a new faster system call ABI using the scv instruction on Power9 or later commit, commit

  • book3s64: Add kernel command line option to disable radix GTSE commit

  • papr_scm: add support for reporting NVDIMM 'life_used_percentage' metric commit, commit

  • Support new flush and sync instructions for persistent storage and sync commit, commit, commit, commit, commit, commit, commit

  • Add support for divde[.] and divdeu[.] instruction emulation commit, commit, commit

  • watchpoint: Enable 2nd DAWR on baremetal and powervm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • perf
    • Add support for power10 PMU Hardware commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • perf stat: Update POWER9 metrics to utilize other metrics commit

    • perf vendor events power9: Added nest imc metric events commit

    • Add cpu hotplug support for powerpc/perf/hv-24x7 commit, commit

  • KVM: Book3SHV: Enable support for ISA v3.1 guests commit

10.3. x86

  • (FEATURED) Enable FSGSBASE instructions, used in 64-bit mode to allow direct access to the FS and GS segment base addresses. In addition to benefits to applications, performance improvements to the OS context switch code are possible by making use of these instructions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add functionality to disable writing to MSRs from userspace. Writes can still be allowed by supplying the allow_writes=on module parameter. The kernel will be tainted so that it shows in oopses commit

  • Support Architectural LBR. LBR (Last Branch Records) enables recording of software path history by logging taken branches and other flows within architectural registers. Architectural LBRs generalize the model specific LBR hardware tracing feature into a model-independent, architected performance monitoring feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family commit

  • x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs commit

  • Platforms
    • asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15 commit

    • dell-wmi: add new keymap type 0x0012 commit

    • mlx-platform: support new watchdog type with longer timeout commit

    • chrome: support Thunderbolt compatibility mode commit, commit

    • Add support to configure various Type C switches appropriately using the Type C connector class API commit

    • Add new intel_atomisp2_led driver commit

    • ISST: Add new PCI device ids commit

  • powercap
    • intel_rapl: add support for AlderLake commit

    • intel_rapl: add support for RocketLake commit

    • intel_rapl: add support for TigerLake Desktop commit

    • Add Power Limit4 support commit

    • RAPL: Add support for !Lakefield commit

    • intel_rapl: add support for Sapphire Rapids commit

  • KVM
    • Add nopvspin parameter to disable PV spinlocks commit

    • Adds a new capability KVM_CAP_SMALLER_MAXPHYADDR which allows userspace to query if the underlying architecture would support GUEST_MAXPHYADDR < HOST_MAXPHYADDR commit

  • XEN: remove 32-bit Xen PV guest support commit

  • perf
    • perf intel-pt: Add support for decoding FUP/TIP only commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • uncore: Add Comet Lake support commit

    • rapl: Add Hygon Fam18h RAPL support commit

    • rapl: Add support for Intel SPR platform commit

  • intel_idle: Customize IceLake server support commit

  • crypto: aesni: add compatibility with IAS commit

10.4. RISC-V

  • Add STACKPROTECTOR supported commit

  • Add jump-label implementation commit, commit

  • Add kmemleak support commit

  • Allow building with kcov coverage commit

  • Enable LOCKDEP_SUPPORT & fixup TRACE_IRQFLAGS_SUPPORT commit

  • Enable context tracking commit

  • Enables using compressed riscv (RVC) instructions in the rv64 BPF JIT commit, commit, commit

10.5. MIPS

  • ingenic: Add support for the RS90 board commit

  • ingenic: Add support for the JZ4725B SoC commit

  • Add support for Ingenic X1830 SoC and Y&A CU1830-Neo board commit, commit

  • Loongson64: DeviceTree for LS7A PCH commit

  • Add X2000 system type commit

  • KVM: Add kvm guest support for Loongson-3 commit

  • Retire kvm paravirtualization support (it's host side support and QEMU support never landed in upstream) commit

10.6. C-SKY

  • Add SECCOMP_FILTER support commit

  • Add context tracking support commit

  • Use top-down mmap layout commit

10.7. Xtensa

  • Add audit support commit

  • Add seccomp support commit

  • Add uImage and xipImage to targets commit

10.8. S390

  • Implements BPF_PROBE_MEM opcode, which is used in BPF programs that walk chains of kernel pointers commit, commit, commit

  • Provide cex4 cca sysfs attributes for cex3 commit

10.9. SH

  • Add SECCOMP_FILTER support commit

  • Remove SH5-based Cayman platform commit

10.10. SPARC

  • Enable HAVE_COPY_THREAD_TLS support commit, commit

10.11. UNICORE32

  • Remove unicore32 port commit

10.12. OpenRISC

  • Add support for external initrd images commit

10.13. ARC

  • Perf sampling fixes commit, commit

  • Fix HIGHMEM broken commit

  • Rewrite show_regs() backend commit

11. Drivers

11.1. Graphics

  • amdgpu
    • Initial support for Sienna Cichlid GPU merge

    • Initial support for Navy Flounder GPU merge

    • SI UVD/VCE support merge, merge, merge

    • Expose rotation property commit

    • Add support for unique id on Arcturus commit

    • amdkfd: Track SDMA usage per process commit

    • SMI events interface commit

    • Add module parameter choose reset mode commit

    • Added a sysfs interface for thermal throttling related V4 commit

  • Intel
    • Rocketlake platform enablement commit, commit, commit, commit

    • Early DG1 enablement commit, commit, commit, commit, commit

    • ehl: Add new PCI ids commit

    • Add Plane color encoding support for YCBCR_BT2020 commit

    • Add psr_safest_params, meant to be used when PSR issues are found commit

    • Extract uc usage details into separate debugfs commit

  • panel
    • simple: Add 50 Hz mode to the Frida FRD350H54004 panel commit

    • simple: Add support for KOE TX26D202VM0BWA panel commit

    • simple: add CDTech S070PWS19HP-FC21 and S070SWV29HG-DC44 commit

    • simple: add Tianma TM070JVHG33 commit

    • st7703: Add support for Xingbangda XBD599 commit

  • msm
    • a650/a640 display and GPU enablement commit

    • dpu dither support for 6bpc panels commit

    • mdp5 enablement for sdm630/sdm636/sdm66 commit

    • a6xx: add module param to enable debugbus snapshot commit

  • ingenic
    • Add support for OSD mode commit

    • Add support for the IPU commit

    • Support multiple panels/bridges commit

  • tegra
    • Reflection support commit

    • Support 180° rotation commit

  • meson
    • Add support for Amlogic Video FBC commit, commit, commit, commit, commit, commit

  • drm_fourcc
    • Add uncompressed AFBC modifier commit

    • Add NV15, Q410, Q401 YUV formats commit

  • xen-front
    • Add YUYV to supported formats commit

  • nouveau
    • Add CRC support commit

  • radeon
    • Default to on chip GART for AGP boards on all arches commit

  • xilinx
    • New Xilinx ZynqMP DisplayPort Subsystem driver commit

  • vkms
    • Larger cursor support commit

  • rockchip
    • Add per-pixel alpha support for the PX30 VOP commit

  • mgag200
    • Dropped hw cursor support commit

  • Remove soft scrollback code commit, commit

  • fbdev
    • Remove fb-puv3 driver commit

  • backlight
    • generic_bl: Remove this driver as it is unused commit

    • Delete the OT200 backlight driver commit

11.2. Power Management

  • ACPI/NVDIMM: Runtime Firmware Activation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • thermal
    • genetlink support for events/cmd/sampling commit

    • intel: intel_pch_thermal: Add Cannon Lake Low Power PCH support commit

    • rcar_gen3_thermal: Add r8a774e1 support commit

    • qcom: tsens-v0_1: Add support for MSM8939 commit

    • mediatek: Add tsensor support for V2 thermal system commit

    • Add support for the MCU controlled FAN on Khadas boards commit

  • tools/power/x86/intel-speed-select: Add option to delay mbox commands commit, add retries for mail box commands commit

11.3. Storage

  • nvme
    • Support for the Zoned Namespace (ZNS) Command Set defined in TP4053, and the Namespace Types base support it depends on from TP4056 commit, commit, commit, commit, commit

    • nvmet: add target passthru commands support commit, commit, commit, commit, commit, commit, commit, commit, commit

    • pci: add support for ACPI StorageD3Enable property commit

  • scsi
    • cxgb4i: Add support for iSCSI segmentation offload commit

    • lpfc: Add blk_io_poll support for latency improvment commit

    • qla2xxx SAN Congestion Management (SCM) support commit, commit

    • ufs-mediatek: Add inline encryption support commit

    • Add compatibility with 3.1 UFS unit descriptor length commit

    • scsi_debug: Implement tur_ms_to_ready parameter commit

    • scsi_debug: Support hostwide tags commit

    • exynos-ufs: Add support for UFS HCI commit, commit, commit, commit, commit, commit

11.4. Drivers in the Staging area

  • most: add USB adapter driver commit

  • media: allegro: add support for allegro firmware 2019.2 commit

  • wfx: add a debugfs entry to force ps_timeout commit

  • media/soc_camera: remove this driver commit

11.5. Networking

  • Bluetooth: btusb: add Realtek 8822CE to usb_device_id table commit

  • RDMA
    • efa: Add support for 0xefa1 device commit, commit, commit, commit

    • RAW format dumps through RDMAtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Introduce UAPIs to query UCONTEXT, PD and MR properties commit, commit, commit, commit, commit, commit, commit

    • qedr: Add EDPM kernel-user flags for feature compatibility commit, commit

    • amd-xgbe: Add support for new port mode commit

  • ath11k
    • Add 6GHz radio support commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for spectral scan commit, commit

    • Add dp tx err stats commit

    • Add support for ring backpressure stats commit

  • atlantic
    • Adds several features: media detect, additional per-queue stats, PTP stats, ipv6 support for TCP LSO and UDP GSO, 64-bit operations, A0 ntuple filters, MAC temperature (hwmon) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Adds more features to A2: half duplex rates, EEE, flow control, link partner capabilities reporting, phy loopback commit, commit, commit, commit, commit, commit

    • MACSec offload statistics checkpatch fix commit

    • Add support for FW 4.x commit

  • bcmgenet: Allow changing carrier from user-space commit

  • bnx2x
    • Perform IdleChk dump commit, commit, commit

  • bnxt_en
    • Implements ethtool -X to setup user-defined RSS indirection table. Allows the proper logical ring index to be used to populate the RSS indirection when queried by ethtool -x commit, commit, commit, commit, commit, commit

    • Add support for 'ethtool -d' commit

  • broadcom: Add support for VLAN transmit acceleration commit

  • cxgb4
    • Add TC-MATCHALL IPv6 support commit

    • Add support for ethtool n-tuple filters commit, commit, commit, commit, commit

    • Add mirror action support for TC-MATCHALL commit, commit, commit

    • Add support to read/write flash commit, commit, commit, commit, commit

  • dm9601: Add USB ID of Keenetic Plus DSL commit

  • dp83869: Add RGMII internal delay configuration commit

  • dpaa2-eth
    • Add support for TBF offload commit, commit, commit

    • Add software counter for Tx frames converted to S/G commit

  • dsa
    • felix: introduce support for Seville VSC9953 switch commit

    • felix: support half-duplex link modes commit

    • loop: Support 4K VLANs commit

    • mv88e6xxx: Implement MTU change commit

    • mv88e6xxx: Support jumbo configuration on 6190/6190X commit

    • qca8k: Add 802.1q VLAN support commit

    • rtl8366rb: Support the CPU DSA tag commit

    • tag_rtl4_a: Implement Realtek 4 byte A tag commit

  • ena
    • Add support for traffic mirroring commit

    • Enable support of rss hash key and function changes commit

    • Support new LLQ acceleration mode commit

  • enetc
    • Add adaptive interrupt coalescing commit, commit, commit, commit, commit, commit

  • hinic
    • Add firmware update support commit

    • Mailbox channel enhancement commit, commit

    • Add some ethtool ops support commit, commit, commit, commit, commit

    • Add support to handle hardware abnormal event commit

  • hv_netvsc: add support for vlans in AF_PACKET mode commit

  • i40e
    • Add support for 5Gbps cards commit

    • Add support for a new feature Total Port Shutdown commit

    • Add XDP ring statistics commit, commit, commit

    • Improve AF_XDP performance commit, commit, commit

  • ice
    • Add advanced power mgmt for WoL commit

    • Add link lenient and default override support commit

    • Add useful statistics commit

    • Implement snapshot for device capabilities commit

    • Support Total Port Shutdown on devices that support it commit

    • Support for updating the ice hardware flash using the devlink flash command commit, commit, commit, commit, commit

  • igc
    • Add LPI counters commit

    • Add initial EEE support commit

    • Add initial LTR support commit

  • iwlwifi: Extended Key ID support for mvm and dvm commit

  • ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support commit

  • macb: Wake-on-Lan magic packet GEM and MACB handling commit, commit

  • mlx5
    • RX XFRM ipsec offloads for ConnectX devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Added support for 100Gbps per lane link modes commit

    • TLS rx offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Enable users to change VF/PF representors carrier state commit

    • Add support for QSFP-DD transceiver type commit, commit

    • Offload TC action pedit munge tcp/udp sport/dport commit, commit, commit, commit

    • Offload tc police action commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for buffer drops mirroring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for buffer drop traps commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add ethtool extended link state commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Mirror to CPU preparations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • mscc
    • ocelot: add support for PTP waveform configuration commit

    • Support IPv4, IPv6 and plain Ethernet mdb entries commit

  • mt76
    • Add API for testmode support commit, commit, commit, commit

    • Introduce support for mt7663s devices commit, commit, commit, commit, commit, commit

    • Add U-APSD support on AP side commit

    • mt7663: introduce ARP filter offload commit

    • mt76x2u: enable HC-M7662BU1 commit

    • mt7915: add MU-MIMO support commit

  • mvpp2: XDP support commit, commit, commit, commit, commit

  • phy
    • at803x: add mdix configuration support for AR9331 and AR8035 commit

    • marvell10g: support XFI rate matching mode commit

    • marvell: Add Marvell 88E1340S support commit

    • marvell: Add Marvell 88E1548P support commit

    • mscc: timestamping and PHC support commit

    • realtek: add support for RTL8125B-internal PHY commit

  • qed, qede: improve chain API and add XDP_REDIRECT support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • qed, qede: add support for new operating modes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • r8169: add support for RTL8125B commit

  • rtw88
    • Add support for 8821c commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • 8822ce: add support for device ID 0xc82f commit

    • Add h2c command in debugfs commit

    • pci: disable aspm for platform inter-op with module parameter commit

  • sfc_ef100: driver for EF100 family NICs. Prerequisites: 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. Driver 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

  • stmmac: Support WOL with phy commit

  • VDPA support for Mellanox ConnectX devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ti: am65-cpsw-nuss: enable am65x sr2.0 support commit

  • wilc1000: move wilc driver out of staging, this drivers supports Microchip AVR/SMART MCUs, SMART MPUs, and other processors commit

  • xen networking: add XDP support to xen-netfront commit, commit, commit

11.6. Audio

  • hda
    • hdmi: Add Intel silent stream support, which keeps external HDMI receiver's analog circuitry powered on avoiding 2-3 sec silence during playback start commit

    • realtek: Add model alc298-samsung-headphone commit

    • realtek: Enable front panel headset LED on Lenovo ThinkStation P520 commit

    • hdmi: add Rocketlake support commit

  • line6: add hw monitor volume control for POD HD500 commit

  • usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 commit

  • usb-audio: Add capture support for Saffire 6 (USB 1.1) commit

  • usb-audio: Add support for Lenovo ThinkStation P620 commit

  • usb-audio: Creative USB X-Fi Pro SB1095 volume knob support commit

  • ASoC:
    • Intel: Add KeemBay platform driver commit, commit, commit

    • Intel: KMB: Add 8kHz audio support commit

    • Intel: bxt-da7219-max98357a: support MAX98390 speaker amp commit

    • Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver commit

    • Intel: sof_sdw: Add MAX98373 support commit

    • Intel: sof_sdw: add support for systems without i915 audio commit

    • SOF: imx8: Add SAI dai driver for i.MX/i.MX8X commit

    • amd: Adding support for ALC1015 codec in machine driver commit

    • codecs: max98373: add SoundWire support commit

    • fsl-asoc-card: Add MQS support commit

    • fsl-asoc-card: Support Headphone and Microphone Jack detection commit

    • fsl_spdif: Add support for imx6sx platform commit

    • intel: sof_rt5682: Add support for jsl-max98360a-rt5682 commit

    • mediatek: mt6358: support DMIC one-wire mode commit

    • mediatek: mt8183-da7219: support HDMI jack reporting commit

    • mediatek: mt8183: support HDMI jack reporting commit

    • mediatek: mt8183: support machine driver with max98357b commit

    • mediatek: mt8183: support machine driver for rt1015 commit, commit

    • rl6231: Add new supports on rl6231 commit

    • samsung: Add driver for Aries boards commit

    • samsung: Add sound support for Midas boards commit

    • tegra: add ASoC components for AHUB. The Audio Hub (AHUB) is part of the Audio Processing Engine (APE) which comprises a collection of hardware accelerators for audio pre-processing and post-processing commit, commit, commit, commit, commit, commit

    • ti: Add custom machine driver for j721e EVM (CPB and IVI) commit

    • tlv320adcx140: Add ASI enable for channel 5-8 commit

    • wm8960: Support headphone jack detection function commit

11.7. Tablets, touch screens, keyboards, mouses

  • trackpoint: add new trackpoint variant IDs commit

  • elan_i2c: add support for high resolution reports commit

  • EXC3000 Updates commit, commit, commit, commit

  • i8042: remove support for 8042-unicore32io commit

  • HID
    • microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller commit

    • lenovo: Add ThinkPad 10 Ultrabook Keyboard support commit, commit, commit, commit, commit

11.8. TV tuners, webcams, video capturers

  • CH7322 CEC controller driver commit, commit, commit

  • i2c: Add MAX9286 driver commit

  • i2c: Add RDACM20 driver commit

  • i2c: dw9768: Add DW9768 VCM driver commit

  • i2c: improvements to IMX290 CMOS sensor: 2 lane support, configurable link frequency & pixel rate, test pattern generation, and RAW12 mode support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • rc: add support for Infrared Toy and IR Droid devices commit

  • rcar-csi2: Add support for MEDIA_BUS_FMT_SRGGB8_1X8 format commit

  • rcar-vin: Add support for MEDIA_BUS_FMT_SRGGB8_1X8 format commit

  • xilinx: Add Xilinx MIPI CSI-2 Rx Subsystem driver commit

  • vimc: Add a control to display info on test image commit

11.9. Universal Serial Bus / Thunderbolt

  • Add additional Device Classes to debug/usb/devices commit

  • serial: console: add support for flow control commit

  • serial: cp210x: add support for line-status events commit, commit, commit, commit, commit

  • serial: ftdi_sio: add IDs for Xsens Mti USB converter commit

  • serial: option: add support for SIM7070/SIM7080/SIM7090 modules commit

  • serial: option: support dynamic Quectel USB compositions commit

  • serial: qcserial: add EM7305 QDL product ID commit

  • typec: intel_pmc_mux: Add support for USB4 commit

  • xhci: define IDs for various ASMedia host controllers commit

  • PHY: JZ4770: Add support for new Ingenic SoCs commit

  • Improves the Thunderbolt/USB4 driver to support tree topologies that are now possible with USB4 devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Thunderbolt: Allow userland to flush the image to hardware at runtime, and then allow authenticating the image at another time commit, commit

  • Thunderbolt: Add retimer NVM upgrade support commit, commit, commit, commit, commit, commit

11.10. Serial Peripheral Interface (SPI)

  • Add Renesas RPC-IF driver commit

  • lantiq: Add support to Lightning Mountain SoC commit

  • mediatek: add spi support for mt8192 IC commit

11.11. Watchdog

  • dw_wdt: Take Baikal-T1 DW WDT peculiarities into account commit, commit, commit, commit, commit, commit, commit

  • Support watchdog with longer timeout period commit, commit, commit, commit

  • booke_wdt: Add common nowayout parameter driver commit

  • softdog: Add module options soft_reboot_cmd and soft_active_on_boot commit

11.12. Serial

  • imx: add imx earlycon driver commit

  • 8250_pci: Add Realtek 816a and 816b commit

  • stm32: Add RS485 RTS GPIO control commit

11.13. CPU Frequency scaling

  • Allow to specify their CPUfreq governor of choice using the kernel command line (cpufreq.default_governor= parameter), instead of having to wait for the system to fully boot to userspace to switch using the sysfs interface commit, commit

  • Add Tegra194 cpufreq driver commit

  • brcmstb-avs-cpufreq: Support polling AVS firmware commit

  • cpufreq: intel_pstate: Support setting a raw energy performance value in energy_performance_preference; also add an additional attribute energy_efficiency under /sys/devices/system/cpu/intel_pstate/ which allows to enable and disable the "Disable Energy Efficiency Optimization" bit commit, commit

  • intel_pstate: Implement passive mode with HWP enabled commit

  • make schedutil the default for arm and arm64 commit

11.14. Device Voltage and Frequency Scaling

  • Add the delayed timer to devfreq framework in order to support the periodical polling mode without stop caused by CPU idle state. Can be set by users with "echo delayed > /sys/class/devfreq/10c20000.memory-controller/timer" commit, commit

11.15. Voltage, current regulators, power capping, power supply

  • power: reset: add driver for LinkStation power off commit

  • power: supply: bq25150 introduce the bq25150 commit

  • power: supply: bq27xxx_battery: Add the BQ27Z561 Battery monitor commit

  • power: supply: bq27xxx_battery: Add the BQ28z610 Battery monitor commit

  • power: supply: sbs-battery: add PEC support commit

  • power: supply: wilco_ec: Add long life charging mode commit

  • Add support for voltage regulator on ChromeOS EC commit, commit, commit

  • regulator
    • Add support for QCOM PMIC VBUS booster commit

    • qcom_smd: Add MP5496 regulators commit

    • Add support for SY8827N regulator commit

    • pca9450: add pca9450 pmic driver commit

    • fan53880: Add initial support commit

    • qcom: Add labibb driver commit

11.16. Real Time Clock (RTC)

  • pcf2127: add pca2129 device id commit

  • pcf2127: add alarm support commit

  • Remove fb-puv3 driver commit

11.17. Pin Controllers (pinctrl)

  • intel: Add Intel Emmitsburg pin controller support commit

  • Add basic SoC Support for Mediatek MT6779 SoC commit, commit, commit, commit

  • ocelot: Add Sparx5 SoC support commit

  • qcom: ipq4019: add open drain support commit

  • sh-pfc: pfc-r8a77951: Add R8A774E1 PFC support commit

  • tigerlake: Add support for Tiger Lake-H commit

11.18. MultiMediaCard (MMC)

  • mediatek: add MT6779 MMC driver support commit

  • mediatek: command queue support commit

  • sdhci-msm: Add interconnect bandwidth scaling support commit

  • sdhci_am654: Add Support for SR2.0 commit

11.19. Memory Technology Devices (MTD)

  • spi-nor: intel-spi: Add support for Intel Emmitsburg SPI serial flash commit

  • spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash commit

  • spi-nor: macronix: Add support for MX25R1635F commit

  • spi-nor: macronix: Add support for mx66u2g45g commit

  • spi-nor: winbond: Add support for w25q64jvm commit

11.20. Industrial I/O (iio)

  • Ingenic JZ47xx: Add touchscreen mode commit

  • accel: bma400: add support for bma400 spi commit

  • accel: mxc4005: add support for mxc6655 commit

  • adc: Add support for PMIC7 ADC commit

  • adc: rockchip_saradc: Add support iio buffers commit

  • chemical: Add support for SCD30 sensor commit, commit, commit

  • imu: new inv_icm42600 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • imu: bmi160: added regulator and mount-matrix support commit, commit

  • light: stk3310: add chip id for STK3311-X variant commit

11.21. Multi Function Devices (MFD)

  • Add support for the Khadas System control Microcontroller commit

  • da9063: Add support for latest DA silicon revision commit

  • intel-lpss: Add Intel Emmitsburg PCH PCI IDs commit

  • intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs commit

  • smsc-ece1099: Remove driver commit

11.22. Pulse-Width Modulation (PWM)

  • Remove pwm-puv3 driver commit

11.23. Inter-Integrated Circuit (I2C + I3C)

  • designware: Add device HID for Hygon I2C controller commit

  • i801: Add support for Intel Emmitsburg PCH commit

  • i801: Add support for Intel Tiger Lake PCH-H commit

  • mediatek: Add apdma sync in i2c driver commit

  • Remove i2c-puv3 driver commit

11.24. Hardware monitoring (hwmon)

  • Add Corsair Commander Pro driver commit

  • corsair-cpro: add reading pwm values commit

  • pmbus/max20730: Add max20710 support commit

  • sparx5: Add Sparx5 SoC temperature driver commit

11.25. General Purpose I/O (gpio)

  • pca953x: Add support for the PCAL9535 commit

  • pca9570: add GPO driver for PCA9570 commit

  • zynq: Add Versal support commit

11.26. LEDs

  • Add a multi color LED framework. This framework presents clustered colored LEDs into an array and allows the user space to adjust the brightness of the cluster using a single file write. The individual colored LEDs intensities are controlled via a single file that is an array of LEDs commit, commit, commit, commit, commit, commit, commit

  • Initial support for Turris Omnia LEDs commit

11.27. DMA engines

  • Add the Xilinx DisplayPort DMA engine driver commit, commit

  • Actions: Add support for S700 DMA engine commit

11.28. Hardware Random Number Generator (hwrng)

  • ba431: add support for BA431 hwrng commit

11.29. Cryptography hardware acceleration

  • ingenic: Add hardware RNG for Ingenic JZ4780 and X1000 commit

  • Add driver for TI K3 SA2UL commit, commit, commit, commit

11.30. PCI

  • Add Intel QuickAssist device IDs commit

  • Allow P2PDMA on AMD Zen and newer CPUs commit

  • cadence: Add MSI-X support to Endpoint driver commit

  • j721e: Add TI J721E PCIe driver commit

  • qcom: Add ipq8064 rev2 variant commit

  • xilinx-cpm: Add Versal CPM Root Port driver commit

11.31. Clock

  • Add support for enabling/disabling clocks from debugfs commit

  • Ingenic: Add RTC related clocks for Ingenic SoCs commit

  • actions: Add RMU and DMAC/GPIO clock support for Actions Semi S500 SoCs commit, commit, commit, commit, commit, commit

  • at91: add sama7g5 clock support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • bcm63xx-gate: add BCM6318 support commit

  • bcm: Add BCM2711 DVP driver commit

  • meson: g12a: Add support for NNA CLK source clocks commit

  • qcom: Enable GPU for SM8150 and SM8250 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • qcom: Clock for CPU scaling support for msm8996 commit, commit, commit

  • qcom: Add ipq6018 apss clock controller commit

  • qcom: lpass: Add support for LPASS clock controller for SC7180 commit

  • qcom: Add SMD RPM support for MSM8936 commit, commit, commit, commit, commit, commit, commit

  • qcom: smd: Add support for MSM8992/4 rpm clocks commit

  • qcom: smd: Add support for SDM660 rpm clocks commit

  • renesas: cpg-mssr: Add r8a774e1 support commit

  • sparx5: Add Sparx5 SoC DPLL clock driver commit

  • vc5: Allow Versaclock driver to support multiple instances commit

  • vc5: Enable addition output configurations of the Versaclock commit

  • clocksource: Add Low Power STM32 timers driver commit

  • clocksource: Add CLINT timer driver commit

  • clocksource: timer-atmel-tcb: Add sama5d2 support commit

  • clocksource: ingenic: Add support for the Ingenic X1000 OST commit

11.32. PHY ("physical layer" framework)

  • bcm63xx-usbh: Add BCM63xx USBH driver commit

  • qcom-qmp: add V4 USB PHYs commit, commit, commit

  • qcom-qmp: Add USB QMP PHY support for IPQ8074 commit

  • qcom: remove ufs qmp phy driver commit

  • qualcomm: add qcom ipq806x dwc usb phy driver commit

  • samsung-ufs: add UFS PHY driver for samsung SoC commit

  • zynqmp: Add PHY driver for the Xilinx ZynqMP Gigabit Transceiver commit

11.33. Memory Controller Drivers

  • Add Renesas RPC-IF driver commit

  • mtk-smi: Add basic support for MT6779 commit

  • samsung: exynos5422-dmc: Add module param to control IRQ mode commit

  • stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver commit

  • tegra: Add EMC scaling sequence code for Tegra210 commit

  • tegra: Add EMC scaling support code for Tegra210 commit

11.34. Firmware Drivers

  • arm_scmi: SCMI Notifications Core Support commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Extend svc and rsu drivers for new RSU features commit, commit, commit, commit

  • smccc: Add ARCH_SOC_ID support commit

  • tegra: Add support for in-band debug commit

  • turris-mox-rwtm: support ECDSA signatures via debugfs commit

11.35. Remote Processors

  • Add character device interface to remoteproc commit, commit

  • Add coredump debugfs entry commit

  • k3-dsp: Add a remoteproc driver of K3 C66x DSPs commit

  • k3-dsp: Add support for C71x DSPs commit

  • k3-dsp: Add support for L2RAM loading on C66x DSPs commit

  • k3: Add TI-SCI processor control helper functions commit

  • Add modem debug features commit, commit

11.36. Various

  • bus: fsl-mc: Add ACPI support for fsl-mc commit

  • counter: Add microchip TCB capture counter commit

  • fpga: Add interrupt support to FPGA DFL drivers commit, commit, commit, commit, commit, commit, commit

  • fpga: dfl: pci: add device id for Intel FPGA PAC N3000 commit

  • iommu: NVIDIA ARM SMMU Implementation commit, commit, commit, commit, commit

  • iommu/mediatek: Add mt6779 basic support commit

  • iommu/renesas: Add support for r8a77961 commit

  • irqchip/imx-intmux: Implement intmux runtime power management commit

  • misc: mei: add device kind to sysfs commit

  • misc: rtsx: Add support new chip rts5228 mmc: rtsx: Add support MMC_CAP2_NO_MMC commit

  • nvmem: enables blowing of fuses on Qualcomm SoCs commit, commit, commit, commit

  • nvmem: sc27xx: add sc2730 efuse support commit

  • ocxl: control via sysfs whether the FPGA is reloaded on a link reset commit

  • optee: register drivers on optee bus commit, commit, commit

  • vdpasim: support batch updating commit

12. List of Pull Requests

  • tpm updates

  • btrfs updates

  • fscrypt updates

  • fsverity update

  • crypto updates

  • core block updates

  • io_uring updates

  • s390 updates

  • unicore32 removal

  • m68k updates

  • arm64 and cross-arch updates

  • header cleanup

  • RCU updates

  • locking updates

  • objtool updates

  • perf event updates

  • scheduler updates

  • x86/alternatives update

  • x86 asm updates

  • x86 boot updates

  • x86 build updates

  • x86 cleanups

  • x86 debug fixlets

  • x86 cpu updates

  • x86 FPU selftest

  • x86 microcode update

  • x86 MSR filtering

  • x86 mmm update

  • x86 platform updates

  • x86 timer update

  • x86 RAS updates

  • x86 platform driver updates

  • ARM defconfig updates

  • ARM SoC DT updates

  • ARM SoC updates

  • ARM SoC driver updates

  • new ARM SoC support

  • EDAC updates

  • regulator updates

  • spi updates

  • regmap updates

  • power management updates

  • ACPI updates

  • pstore update

  • gcc plugin updates

  • automatic variable initialization updates

  • tasklets API update

  • uninitialized_var() macro removal

  • seccomp updates

  • selinux updates

  • audit updates

  • execve updates

  • thread updates

  • fork cleanups

  • checkpoint-restore updates

  • close_range() implementation

  • dma-mapping updates

  • irq updates

  • timer updates

  • generic kernel entry/exit code

  • x86 conversion to generic entry code

  • x86 fsgsbase

  • parisc updates

  • printk updates

  • documentation updates

  • kunit updates

  • kselftest updates

  • block driver updates

  • block stacking updates

  • char/misc driver updates

  • driver core updates

  • USB/Thunderbolt updates

  • GPIO updates

  • Devicetree updates

  • hwmon updates

  • MMC updates

  • hmm updates

  • LED updates

  • drm updates

  • networking updates

  • hyperv updates

  • Xtensa updates

  • arch/csky updates

  • ARM updates

  • MIPS upates

  • smack updates

  • livepatching updates

  • coccinelle updates

  • integrity updates

  • sched/fifo updates

  • KVM updates

  • sound updates

  • staging/IIO driver updates

  • tty/serial updates

  • rdma updates

  • SCSI updates

  • thermal updates

  • cifs updates

  • erofs updates

  • ext2, udf, reiserfs, quota cleanups and minor fixes

  • fsnotify updates

  • iomap updates

  • dlm updates

  • ptrace regset updates

  • init and set_fs() cleanups

  • RISC-V updates

  • m68knommu updates

  • powerpc updates

  • xen updates

  • xfs updates

  • misc memory management updates

  • dmaengine updates

  • mailbox updates

  • media updates

  • device mapper updates

  • more power management updates

  • fdpick coredump update

  • clk updates

  • tracing updates

  • PCI updates

  • misc vfs updates

  • power supply and reset updates

  • IPMI updates

  • mtd updates

  • pin control updates

  • regset conversion fix

  • NFS server updates

  • Kbuild updates

  • HID updates

  • input updates

  • JFFS2, UBI and UBIFS updates

  • gfs2 updates

  • f2fs updates

  • locking updates

  • ktest updates

  • perf tools updates

  • libnvdimm updayes

  • rpmsg update

  • remoteproc updates

  • hwspinlock updates

  • backlight updates

  • iommu updates

  • virtio updates

  • zonefs update

  • orangefs updates

  • chrome platform updates

  • more memory management updates

  • VFIO updates

  • watchdog updates

  • more clk updates

  • more KVM updates

  • more parisc updates

  • ceph updates

  • RTC updates

  • exfat updates

  • more btrfs updates

  • more s390 updates

  • i2c updates

  • Kconfig updates

  • module updates

  • more xen updates

  • OpenRISC updates

  • more timer updates

  • timekeeping updates

  • pwm updates

  • more SCSI updates

  • more memory management updates

  • MFD updates

  • one more power management update

  • more ACPI updates

  • NFS client updates

  • 9p updates

  • more perf tools updates

  • arch/sh updates

  • ARC updates

13. Other news sites

  • LWN's merge windows part 1, part 2

  • Phoronix Linux 5.9 feature overview

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01