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 52 as of 2019-05-06 15:52:55
KernelNewbies:
  • Linux_5.1

Linux 5.1 released on 5 May 2019

Summary: This release includes io_uring, an high-performance interface for asynchronous I/O; it also adds improvements in fanotify to provide a scalable way of watching changes on large file systems; it adds a method to allow safe delivery of signals in presence of PID reuse; persistent memory can be used now as hot-plugabble RAM; Zstd compression levels have been made configurable in Btrfs; it also adds a new cpuidle governor that makes better power management decisions than the menu governor; all 32 bit architectures have added the necessary syscalls to deal with the y2038 problem; it is possible now to boot to a device-mapper device without initramfs; and live patching has added support for creating cumulative patches. As always, there are many other new drivers and improvements.

(Note: in this release, the "coolest features" section does not have links to the code commits, those are available for each feature in their respective sections, preceded by FEATURED)

Contents

  1. Coolest features
    1. High-performance asynchronous I/O with io_uring
    2. Improved fanotify for better file system monitorization
    3. Safe signal delivery in presence of PID reuse
    4. Use persistent memory as RAM
    5. TEO, an alternative cpuidle governor to 'menu'
    6. More Year 2038 preparation
    7. Configurable Zstd compression level in Btrfs
    8. Boot to a device-mapper device without initramfs
    9. live patching: support cumulative patches
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing and perf
  7. Security
  8. Networking
  9. Architectures
    1. ARM
    2. X86
    3. POWERPC
    4. S390
    5. MIPS
    6. XTENSA
    7. M68K
    8. RISCV
  10. Drivers
    1. Graphics
    2. Storage
    3. Drivers in the Staging area
    4. Networking
    5. Audio
    6. Tablets, touch screens, keyboards, mouses
    7. TV tuners, webcams, video capturers
    8. Universal Serial Bus
    9. Serial Peripheral Interface (SPI)
    10. Watchdog
    11. Serial
    12. ACPI, EFI, cpufreq, thermal, Power Management
    13. Real Time Clock (RTC)
    14. Voltage, current regulators, power capping, power supply
    15. Pin Controllers (pinctrl)
    16. Multi Media Card (MMC)
    17. Memory Technology Devices (MTD)
    18. Industrial I/O (iio)
    19. Multi Function Devices (MFD)
    20. Pulse-Width Modulation (PWM)
    21. Inter-Integrated Circuit (I2C)
    22. Hardware monitoring (hwmon)
    23. General Purpose I/O (gpio)
    24. DMA engines
    25. Hardware Random Number Generator (hwrng)
    26. Cryptography hardware acceleration
    27. PCI
    28. Clock
    29. EDAC (Error Detection And Correction)
    30. PHY ("physical layer" framework)
    31. Various
  11. List of merges
  12. Other news sites

1. Coolest features

1.1. High-performance asynchronous I/O with io_uring

Linux has supported asynchronous I/O for a long time. However, the interface suffers from a large number of shortcomings. It does not support buffered I/O, only unbuffered (O_DIRECT) I/O, which only a subset of a subset of applications use. Even in those cases asynchronous IO was some times not really asynchronous or fast. All attempts to fix the existing interface have failed.

A new asynchronous interface, io_uring, has been created and merged in the release, with the purpose of finally adding fast, scalable asynchronous I/O to Linux, both buffered and unbuffered. It also supports asynchronous polled IO, and other features that will be added in the future. For more details, read this document (PDF). For performance details, see this email.

Additionally, a user space library, liburing, has been created to provides basic functionality for applications that don't need or want to care about how to fiddle with the low level details of the kernel interface. It has helpers to allow applications to easily set up an io_uring instance, and submit/complete IO through it without knowing about the intricacies of the rings, and will continue to grow support helper functions and features as time progresses.

Document explaining the reasons for the existence of io_uring, inner workings of it, the user visible interface and liburing: io_uring.pdf

Recommended LWN article: Ringing in a new asynchronous I/O API

liburing git repository: http://git.kernel.dk/cgit/liburing/

1.2. Improved fanotify for better file system monitorization

Unlike other operating systems, Linux does not have an efficient way to watch changes on a large file system. The only way to monitor file system dirent modification events is recursive inotify watches, which scales poorly for large directory trees. The fanotify interface, introduced in Linux 2.6.36, was intended to supersede inotify and solve its deficiencies, and it initially took several steps in the direction of solving scalability issues, but the work needed to completely supersede inotify.

This release (along with the fanotify changes in Linux 4.20) expands fanotify to provide "super block root watch" functionality, which is a scalable way of watching changes on large file systems. For more details see the project wiki

1.3. Safe signal delivery in presence of PID reuse

The kill(2) syscall operates on PIDs. After a process has exited its PID can be reused by another process. If a caller sends a signal to a reused PID it will end up signaling the wrong process. This is an old problem with the Unix process design, and has caused numerous security problems.

After considering several proposals, the Linux kernel has added a new syscall, pidfd_send_signal(2), which uses file descriptors from /proc/<pid> as stable handles on struct pid. Even if a pid is recycled the handle will not change, and the file descriptor can be used to safely send signals to the process it refers to.

Recommended LWN article: Toward race-free process signaling

asciinema recording for the basic functionality: https://asciinema.org/a/IQjuCHew6bnq1cr78yuMv16cy

1.4. Use persistent memory as RAM

Linux supports persisten memory devices, but they are often used as storage devices. Some users want to use persistent memory as additional volatile memory, they are willing to cope with potential performance differences, and want to use typical Linux memory management apis rather than a userspace memory allocator layered over an mmap() of a dax file. This release allows them to do so. This is intended for use with NVDIMMs that are physically persistent (physically like flash) so that they can be used as a cost-effective RAM replacement.

Recommended LWN article: Persistent memory for transient data

1.5. TEO, an alternative cpuidle governor to 'menu'

The cpuidle subsystem is the part of the kernel in charge of deciding which CPU deep idle state should be used when the CPU has nothing to do (deeper idle states save more power, but it takes more time to get out of them). There are two cpuidle governors, "menu" and "ladder", each one using different heuristics. However, the menu governor is believed to have a number of shortcomings in its heuristics, but instead of being fixed an alternative was introduced in this release so people can compare both: TEO, the Timer Events Oriented Governor, which seems to offer improved performance with no extra power consumption cost.

Recommended LWN article: Improving idle behavior in tickless systems

1.6. More Year 2038 preparation

As part of the work to prepare for the prepare for the year 2038 problem, this release includes syscalls for 32 bits architecture with a 64-bit time_t structure. This finally allows to have system calls with 64-bit time_t on all architectures, after a long time of preparation

Recommended LWN article: Approaching the kernel year-2038 end game

1.7. Configurable Zstd compression level in Btrfs

Btrfs has support Zstd compression since Linux 4.14, but it didn't allow to configure the compression level used by the filesystem, which can make a big difference. This release adds support for configuring the compression level used in a Btrfs file system, as it's done with zlib, by using the mount option -o compress=zstd:level. To see the levels available and their impact in performance and compression rate, see this commit

1.8. Boot to a device-mapper device without initramfs

In order to boot to a filesystem placed in a device-mapper device, you need an initramfs. Some people, however, don't want or can't use an initramfs. This release allows to use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs, with the help of a tricky kernel boot parameter. For more details see the documentation

1.9. live patching: support cumulative patches

There might be dependencies between livepatches. If multiple patches need to do different changes to the same function(s) then it's necessary to define an order in which the patches will be installed. And function implementations from any newer livepatch must be done on top of the older ones. This might become a maintenance nightmare for distros, especially if anyone would want to remove a patch that is in the middle of the stack.

An elegant solution included in this release is the feature called "Atomic Replace". It allows creation of so called "Cumulative Patches". They include all wanted changes from all older livepatches and completely replace them in one transition. As a result, the livepatch authors might maintain sources only for one cumulative patch. For more details, see the documentation

2. Core (various)

  • (FEATURED) Add io_uring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • VFS: Introduce filesystem context. This is an intensive rework of the Linux file system mounting internals intended to solve limitations imposed by the existing mount(2) design, and provide a foundation that will allow to provide new functionality that is impossible to achieve now. While no new user-visible feature has been introduced in this release, a lot of the new infrastructure has been merged in this release. For more details, see this recommended LWN article or this email. Code: 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

  • (FEATURED) fanotify: add support for more event types commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add a future write seal (F_SEAL_FUTURE_WRITE) to memfd(2). It prevents any future mmap(2) and write(2) syscalls from succeeding while keeping the existing mmap active. It will be used to migrate Android ashmem use cases to memfd(2) commit, commit

  • (FEATURED) year 2038: add 64-bit time_t syscalls to all 32-bit architectures 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

  • epoll: use rwlock in order to reduce ep_poll_callback() contention in a scenario that can be reproduced by generating events (write to pipe or eventfd) from many threads, while consumer thread does polling commit, commit, commit

  • (FEATURED) livepatch: Add atomic replace. It allows to create cumulative patches. They are useful when you maintain many livepatches and want to remove one that is lower on the stack. In addition it is very useful when more patches touch the same function and there are dependencies between them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • lockdep: current lockdep implementation is that it requires lock keys to be allocated statically. Add support for dynamic keys in the lockdep code and eliminates a class of false positive reports from the workqueue implementation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • LZO compression: run-length encoding support commit, commit, commit and performance improvements commit, commit, commit

  • tty: add configuration option and sysctl (dev.tty.ldisc_autoload) to prevent autoloading of ldiscs commit

  • task scheduler: Introduce a sysctl (sched_energy_aware)for Energy Aware Scheduling commit

  • gcc plugins: improve structleak to also work with non-struct types, which should give the kernel complete initialization coverage of all stack variables passed by reference, including padding commit, commit

  • RCU: Add sysrq rcu_node-dump capability to dump out Tree RCU's rcu_node tree with an eye towards determining why a new grace period has not yet started commit

  • swiotlb: add debugfs to track swiotlb buffer usage commit

  • Add boot option (driver_async_probe=...) to specify drivers to be async probed commit

  • Power management: Expose the Energy Model in /sys/kernel/debug/energy_model commit

  • Deprecate a.out support commit, commit

3. File systems

  • BTRFS
    • (FEATURED) Add support to select zstd compression level commit

    • qgroup: Delay subtree scan to reduce overhead commit, commit, commit, commit, commit, commit, commit

    • Introduce new ioctl to unregister a btrfs device commit

  • AUTOFS
    • Add ignore mount option that can be used to provide a indicator to applications that the mount entry should be ignored displaying mount information. commit

  • XFS
    • Introduce an always_cow mode where XFS never overwrites existing blocks in place. This is to aid debugging COW code commit

  • NFS
    • Readdirplus optimization by cache mechanism commit

  • CIFS
    • Allow SMB3 FSCTL queries to be sent to server from tools commit

    • Cache FILE_ALL_INFORMATION for the shared root handle. This allows to serve "stat /<mountpoint>" directly from cache and avoid a network roundtrip commit

  • EXT2
    • Support statx syscall commit

  • F2FS
    • Add quick mode of checkpoint=disable for QA commit

  • FAT
    • Support splice on O_DIRECT file commit

  • CEPH
    • Add mount option caps_max to limit caps count commit

    • Support versioned reply commit

    • Support getting ceph.dir.pin vxattr commit

    • Remove dentry_lru file from debugfs commit

  • EXT4
    • Add sysfs attr /sys/fs/ext4/<disk>/journal_task commit

  • EXOFS
    • Remove exofs commit

4. Memory management

  • Algorithmic complexity of swapoff operation is reduced from quadratic to linear, reducing (with 6GB data in swap in a VM) the swapoff operation from 8 to 3 minutes and CPU utilization from 80% to 5% commit commit

  • Increase success rates and reduce latency of compaction (physical memory defragmentation), reducing the number of scanned pages for migration by 65%, and free pages for migration targets by 97%, while improving transparent hugepage allocation success rates significantly. commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit

  • Remove the ancient OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself commit

  • Prevent SLAB and other pages with special type to be mapped into userspace, for improved security. commit commit

  • Allow excluding balloon pages from kdump crash dumps to reduce their size. Also exclude them from hibernation image. commit commit commit commit commit commit commit commit

  • Simplify some of the early memory allocations by replacing usage of older memblock APIs with newer and shinier ones commit commit commit commit commit commit

  • Some improvements and, importantly, tests were added for VM related fiels found in /proc/*/maps and related files. commit commit commit commit

  • Shuffle GFP flags so that common combinations (e.g. GFP_KERNEL) are tightly packed, which allows arm to emit more efficient instruction stream, saving about 0.1% commit

  • A new vm_fault_t type is introduced to detect cases (via sparse) where a page fault handler mistakenly returns an error code instead of VM_FAULT_* code commit

  • Drop the mmap_sem when doing IO in the fault path commit, commit, commit, commit

  • memory controller: expose transparent huge page events on a per-memcg basis, using the files anon_thp, thp_fault_alloc and thp_collapse_alloc commit

  • In mremap(2) an unfortunate corner case is fixed where (if the number of mappings of a process approaches the maximum limit) mremap() can fail with ENOMEM but only after performing some destructive unmap actions. commit

  • Cleanup and better documentation of how the PG_reserved page flag is used. commit commit commit commit commit commit commit commit commit

  • (FEATURED) "Hotplug" persistent memory for use like normal RAM commit, commit, commit, commit, commit

  • Test driver to analyse vmalloc allocator commit, commit, commit

  • dma-debug: add dumping facility via debugfs commit

  • kasan: remove use after scope bugs detection. It significantly increases stack usage and does not provide much value for the kernel commit

5. Block layer

  • bcache
    • Export backing_dev_name via sysfs commit

    • Export backing_dev_uuid via sysfs commit

  • device mapper
    • (FEATURED) Add a "create" module parameter, which allows device-mapper targets to be configured at boot time. This enables early use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs commit

    • dm cache: add support for discard passdown to the origin device commit

  • raid5: adds new sysfs attribute which can be used to specify which write_hint should be assigned to PPL commit

  • rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN commit

6. Tracing and perf

  • BPF
    • Add Host Bandwidth Manager. Host Bandwidth Manager is a framework for limiting the bandwidth used by v2 cgroups. It consists of 1 BPF helper, a sample BPF program to limit egress bandwdith as well as a sample user program and script to simplify HBM testing commit, commit, commit, commit, commit

    • Implements BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap BPF helper. It enables BPF programs (specifically, BPF_PROG_TYPE_LWT_IN and BPF_PROG_TYPE_LWT_XMIT prog types) to add IP encapsulation headers to packets (e.g. IP/GRE, GUE, IPIP) commit, commit, commit, commit, commit, commit, commit

    • Add new jmp32 instructions. Current eBPF ISA has 32-bit sub-register and has defined a set of ALU32 instructions. However, there is no JMP32 instructions, the consequence is code-gen for 32-bit sub-registers is not efficient. For example, explicit sign-extension from 32-bit to 64-bit is needed for signed comparison commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add __sk_buff->sk, struct bpf_tcp_sock, BPF_FUNC_sk_fullsock and BPF_FUNC_tcp_sock. Together, they provide a common way to expose the members of struct tcp_sock and struct bpf_sock for the bpf_prog to access commit, commit, commit, commit, commit, commit, commit

    • Add a new command to bpftool in order to dump a list of eBPF-related parameters for the system (or for a specific network device) to the console commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Allow BPF programs access skb_shared_info->gso_segs field commit

    • Support __int128. Previous maximum supported integer bit width is 64. But the __int128 type has been supported by most (if not all) 64bit architectures including bpf for both gcc and clang commit, commit, commit, commit, commit

    • Introduce per program stats to monitor the usage BPF commit, commit, commit

    • Many algorithms need to read and modify several variables atomically. Until now it was hard to impossible to implement such algorithms in BPF. Hence introduce support for bpf_spin_lock commit, commit, commit, commit, commit, commit, commit

    • Add support for queue/stack manipulations commit, commit, commit, commit, commit, commit, commit

    • Avoid unloading xdp prog not attached by sample commit, commit, commit, commit, commit, commit, commit, commit

    • Add AF_XDP support to libbpf. The main reason for this is to facilitate writing applications that use AF_XDP by offering higher-level APIs that hide many of the details of the AF_XDP uapi commit, commit, commit

    • Add btf documentation commit

    • Reveal invisible bpf programs. This set catches symbol for all bpf programs loaded/unloaded before/during/after perf-record run PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT commit, commit, commit, commit, commit, commit, commit, commit, commit

    • tracing: Add some useful new functions to the hist trigger code: a snapshot action and an onchange handler commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • perf
    • perf bpf: Automatically add BTF ELF markers to 'perf trace' BPF programs, so that tools such as 'bpftool map dump' can pretty print map keys and values commit

    • Add support for annotating BPF programs, using the PERF_RECORD_BPF_EVENT and PERF_RECORD_KSYMBOL recently added to the kernel and plugging binutils's libopcodes disassembly of BPF programs with the existing annotation interfaces in 'perf annotate', 'perf report' and 'perf top' various output formats (--stdio, --stdio2, --tui) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add new filter options for perf diff: --time, --cpu, --pid, --tid commit, commit, commit

    • Reduce NUMA related overhead in perf record profiling on large server systems commit, commit, commit, commit

    • Add initial BPF map dumper, initially just for the current, minimal needs of the augmented_raw_syscalls BPF example used to collect pointer args payloads that uses BPF maps for pid and syscall filtering, but will in time have features similar to 'perf stat' --interval-print, --interval-clear, ways to signal from a BPF event that a specific map (or range of that map) should be printed, optionally as a histogram, etc commit, commit

    • perf script: Support insn output for normal samples commit

    • perf script: Make the --cpu filter apply to PERF_RECORD_COMM/FORK/... events, in addition to PERF_RECORD_SAMPLE commit

    • perf report: Add 'time' sort option. E.g.: perf report --sort time,overhead,symbol --time-quantum 1ms --stdio commit, commit, commit

    • perf list: Display metric expressions for --details option commit

    • perf scripts python: exported-sql-viewer.py: Add call tree commit

7. Security

  • LSM: Module stacking ie. the ability to load one LSM module in top of another 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

  • Add SafeSetID LSM module. SafeSetID gates the setid family of syscalls to restrict UID/GID transitions from a given UID/GID to only those approved by a system-wide whitelist. These restrictions also prohibit the given UIDs/GIDs from obtaining auxiliary privileges associated with CAP_SET{U/G}ID, such as allowing a user to set up user namespace UID mappings. For now, only gating the set*uid family of syscalls is supported, with support for set*gid coming in a future patch set. Recommended LWN article. commit, commit

  • audit: add support for fcaps v3 commit

8. Networking

  • Introduce a sysctl knob (devconf_inherit_init_net) to control if a new network namespace should inherit all current settings under /proc/sys/net/{ipv4,ipv6}/conf/{all,default}/ commit

  • bonding: add 3ad stats and export them via xstats commit, commit

  • bridge: implement Multicast Router Discovery (RFC4286 commit, commit, commit, commit

  • sockets: Add year 2038-safe socket timestamps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • WiFi

    • Support airtime fairness commit, commit, commit, commit, commit, commit

    • Add Multi-BSSID support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Authentication offload to user space in AP mode commit

    • mesh: add hop count to mpath info commit, commit

    • Allow set/del pmksa operations for AP commit

  • TCP
    • Allow zerocopy with fastopen commit

    • tcp_bbr: Improving TCP BBR performance for WiFi and cellular networks commit, commit

  • devlink
    • Add health reporting and recovery system. The health mechanism is targeted for Real Time Alerting, in order to know when something bad had happened to a PCI device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • devlink: add the ability to update device flash commit, commit, commit

    • Add device (driver) information API commit, commit, commit, commit, commit, commit, commit, commit

    • Report cell size of shared buffers commit

  • batman-adv: netlink configuration restructuring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ethtool: Added support for 50Gbps per lane link modes commit

  • failover: allow name change on IFF_UP slave interfaces commit

  • Add flow_rule infrastructure, which allows to reuse the driver codebase to configure ACL hardware offloads for the ethtool_rxnfc and the TC flower interfaces commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ipconfig: add carrier_timeout kernel parameter commit

  • ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs commit

  • smc: add pnet table namespace support commit

  • dsa
    • Add support for bridge flags commit

    • Enable flooding for bridge ports commit

    • Add ndo_vlan_rx_{add, kill}_vid implementation commit

    • Add KSZ9893 switch tagging support commit

  • Introduce a new generic SOL_SOCKET-level socket option called SO_BINDTOIFINDEX. It behaves similar to SO_BINDTODEVICE, but takes a network interface index as argument, rather than the network interface name. User-space often refers to network-interfaces via their index, but has to temporarily resolve it to a name for a call into SO_BINDTODEVICE. This might pose problems when the network-device is renamed asynchronously by other parts of the system. When this happens, the SO_BINDTODEVICE might either fail, or worse, it might bind to the wrong device commit

  • ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE. It restricts packets received by the socket to be only from the socket's namespace commit

  • Support 64bit rates for getsockopt(SO_MAX_PACING_RATE) commit and setsockopt(SO_MAX_PACING_RATE) commit

  • TLS: Add TLS 1.3 support commit, commit, commit, commit, commit

  • AF_XDP: add socket monitoring support commit, commit, commit

  • scheduler
    • Add hit counter for matchall commit

    • Add performance counters for basic filter commit

  • netfilter
    • nf_conntrack_amanda: add support for STATE streams commit

    • nft_meta: Add NFT_META_I/OIFKIND meta type commit

    • nft_tunnel: Add NFTA_TUNNEL_MODE options commit

  • RDMA
    • Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support for new LINK messages to allow adding and deleting rdma interfaces commit

    • nldev: Share with user-space object IDs commit

  • Reliable Datagram Sockets: Add tos support commit, commit, commit, commit, commit

9. Architectures

9.1. ARM

  • New SoCs

    • Milbeaut SoC family from Socionext. SC2000 is a SoC of the Milbeaut series. equipped with a DSP optimized for computer vision. It also features advanced functionalities such as 360-degree, real-time spherical stitching with multi cameras, image stabilization for without mechanical gimbals, and rolling shutter correction commit, commit

    • Bitmain BM1880 chip used in the Sophon Edge TPU developer board. The chip is intended for Deep Learning applications, and comes with dual-core Arm Cortex-A53 to run Linux as well as a RISC-V microcontroller core to control the tensor unit. For the moment, the TPU is not accessible in mainline Linux, so it's treated it as a generic Arm SoC commit, commit

    • Renesas RZ/A2M (R7S9210) 32-bit Cortex-A9 Real-time imaging processor commit, commit

    • Renesas RZ/G2E (r8a774c0) 64-bit Cortex-A53 SoC "for Rich Graphics Applications" commit

    • NXP i.MX8QuadXPlus 64-bit Cortex-A35 SoC commit, commit

    • Mediatek gains support for a new SoC: MT7629 is a new wireless router platform, following MT7623 commit

  • New device tree sources
    • Bosch Guardian is a product made by Bosch Power Tools GmbH, based on the Texas Instruments AM335x chip commit

    • Winterland IceBoard is a Texas Instruments AM3874 based machine used in telescopes at the south pole and elsewhere commit

    • Inspur on5263m5 is an x86 server platform with an Aspeed ast2500 baseboard management controller. This is for running on the BMC commit

    • Zodiac Digital Tapping Unit, apparently a kind of ethernet switch used in airplanes commit

    • Phicomm K3 is a WiFi router based on Broadcom bcm47094 commit

    • Methode Electronics uDPU FTTdp distribution point unit commit

    • X96 Max, a generic TV box based on Amlogic G12a (S905X2) commit

    • NVIDIA Shield TV (Darcy) based on Tegra210 commit

  • New SBC, evaluation, development or modular systems added
    • Three new Rockchips rk3399 based boards
      • FriendlyElec NanoPC-T4 and NanoPi M4 commit, commit

      • Radxa ROCK Pi 4 commit

    • Five new i.MX6 family SoM modules and boards for industrial products
      • Logic PD i.MX6QD SoM and evaluation baseboad commit

      • Y Soft IOTA Draco/Hydra/Ursa family boards based on i.MX6DL commit

      • Phytec phyCORE i.MX6 UltraLite SoM and evaluation module commit

    • MYIR Tech MYD-LPC4357 development based on the NXP lpc4357 microcontroller commit

    • Chameleon96, an Intel/Altera Cyclone5 based FPGA development system in 96boards form factor commit

    • Arm Fixed Virtual Platforms(FVP) Base RevC, a purely virtual platform for corresponding to the latest "fast model" commit

    • Another Raspberry Pi variant: Model 3 A+, supported both in 32-bit and 64-bit mode commit, commit

    • Oxalis Evalkit V100 based on NXP Layerscape LS1012a, in 96Boards enterprise form factor commit

    • Elgin RV1108 R1 development board based on 32-bit Rockchips RV1108 commit

    • freescale: Add devicetree for Oxalis commit

    • renesas: Add Si-Linux CAT874 board support commit

    • renesas: Add Si-Linux EK874 board support commit

  • coresight
    • cpu-debug: Support for CA73 CPUs commit

    • etm4x: Add support to enable ETMv4.2 commit

  • perf: Add "sinks" group to PMU directory commit, commit

  • ARM64
    • default NR_CPUS to 256 commit

    • Enable HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation commit commit commit commit commit

    • Enable the support of pseudo-NMIs commit

    • Add ptrace regsets for ptrauth key management commit

    • gic-v3: Implement arch support for priority masking commit

9.2. X86

  • speculation: Add PR_SPEC_DISABLE_NOEXEC argument to PR_SET_SPECULATION_CTRL option of prctl(2) to allow applications to specify that the SSBD feature bit on the task structure should be cleared whenever a new program is being execve'ed commit

  • intel_idle: add support for Jacobsville commit

  • powercap/intel_rapl: add Ice Lake mobile commit

  • adds decoding for some new SMCA bank types (MP5, NBIO, and PCIE) and also for some new versions of existing bank types (CS, PSP, and SMU) commit, commit, commit

  • perf
    • Implement support for TSX Force Abort commit

    • PMU events for AMD Family 17h commit

  • platform
    • chrome: Add new driver for Wilco EC commit

    • intel_pmc_core: Add ICL platform support commit

    • mlx-platform: Add support for new VMOD0007 board name commit

    • touchscreen_dmi: Add info for the CHUWI Hi10 Air tablet commit

    • touchscreen_dmi: Add info for the Chuwi Hi8 Air tablet commit

    • touchscreen_dmi: Add info for the PoV Wintab P1006w (v1.0) tablet commit

    • pcengines apuv2 gpio/leds/keys platform driver commit

  • KVM
    • Expose MOVDIR64B CPU feature into VM commit

    • Expose MOVDIRI CPU feature into VM commit

9.3. POWERPC

  • sstep: Extend instruction emulation support commit, commit, commit, commit, commit, commit

  • Activate CONFIG_THREAD_INFO_IN_TASK commit

  • Migrate longterm-pinned pages from CMA regions, and compound pages, reducing the likelihood of CMA allocation failures commit commit commit commit

  • Enable kcov commit

  • Implement nvram ioctls commit

  • KVM: Book3S HV: Add KVM stat largepages_[2M/1G] commit

  • eeh: Add eeh_force_recover to debugfs commit

9.4. S390

  • qeth: add support for ETHTOOL_GRINGPARAM commit

  • cpum_cf_diag: Add support for s390 counter facility diagnostic trace commit

  • perf report
    • Display arch specific diagnostic counter sets, starting with s390 commit

    • Display names in s390 diagnostic counter sets commit

    • Dump s390 counter set data to file commit

9.5. MIPS

  • Enable hugepage support for MIPS64r6 commit

  • ingenic: Add support for appended devicetree commit

  • Add support for MemoryMapIDs (MMIDs) & GINVT instructions. These give us a larger, global namespace for address space IDs & allow for global invalidation of TLB entries without IPIs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

9.6. XTENSA

  • Use generic spinlock/rwlock implementation commit

9.7. M68K

  • Add ColdFire mcf5441x eDMA platform support commit

9.8. RISCV

  • Add BPF JIT for RV64G commit, commit

10. Drivers

10.1. Graphics

  • Add ARM Komeda display driver commit, commit, commit, commit, commit, commit, commit, commit

  • panels
    • Add Kingdisplay KD097D04 panel driver commit

    • Add Sitronix ST7701 panel driver commit

    • Add a driver for the TPO TPG110 commit

    • Add support for PDA 91-00156-A0 panel commit

    • Add support for the LeMaker BL035-RGB-002 3.5" LCD commit

  • Intel:
    • Enable fastboot by default on SKL+/VLV/CHV commit, commit

    • Coffelake: Adding another PCI Device ID commit

    • Adding few more device IDs for Ice Lake commit

    • Expose RPCS (SSEU) configuration to userspace (Gen11 only) for ICL media driver commit

    • Coffeelake GVT Support commit

    • VFIO GVT EDID Region support commit

    • ACPI/PMIC support for MIPI/DSI commit

    • Add 1080p30/50/60 TV modes commit

    • Add Per connector debugfs node for DSC support/enable commit

    • Drop debugfs/i915_next_seqno commit, remove debugfs/i915_ppgtt_info commit

  • amdgpu
    • Add scheduled dependencies interface commit

    • vega10/20 BACO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Multiple IH rings on soc15 commit, commit, commit

    • powerplay
      • Support Vega10/20 SOCclk and DCEFclk dpm level settings commit, commit, commit, commit

      • Let users use "ppfeatures" sysfs interface to retrieve and set enabled powerplay features commit, commit, commit, commit

      • Support Vega10 fan table commit

    • Add sysfs file for PCIe usage v5 commit

    • Add picasso pci id commit

    • Add debug option to force fclk request commit

    • Add backlight pwm debugfs commit

  • sun4i
    • YUV and scalar support improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • A23 support commit

  • nouveau
    • SVM support via HMM commit

    • New ioctl to migrate process memory to GPU memory commit

  • vc4
    • Reflection support commit

    • HDMI overscan support commit

  • exynos
    • s5pv210 rotator support commit

  • dw-hdmi
    • Add SCDC and TMDS Scrambling support commit

    • Add support for YUV420 output commit

  • rockchip
    • Implicit fencing support commit

    • Reflection properties commit

  • rcar-du
    • Add r8a774c0 device support commit

    • RA87744 LVDS support commit

  • bochs
    • Atomic support commit, commit

  • meson
    • Add HDMI div40 TMDS mode commit

    • Add support for HDMI2.0 2160p modes commit

  • host1x
    • Support 40-bit addressing on Tegra186 commit, commit

  • imx
    • zpos property support [[https://git.kernel.org/linus/74a3dba26c606adc29f6ba6484d5cdaaf877cccc|commit]

  • ipu-v3
    • Add planar support to interlaced scan commit

  • ARM FB compression fourcc, P010 + P016 fourcc, allwinner tiled format modifier commit, commit, commit, commit

10.2. Storage

  • ata: add Buddha PATA controller driver commit

  • nvme-multipath: round-robin I/O policy commit

  • nvme: add support for the Write Zeroes command commit

  • nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support commit

  • nvmem: imx-ocotp: add i.MX7ULP support commit

  • nvmem: zynqmp: Added zynqmp nvmem firmware driver commit

  • SCSI
    • fnic: Add port speed stat to fnic debug stats commit

    • fnic: Enable fnic devcmd2 interface commit

    • fnic: fnic stats for max CQs processed and ISR time commit

    • gdth: remove ISA and EISA support commit

    • gdth: remove gdth_{alloc,free}_ioctl commit

    • hisi_sas
      • Add several debugfs files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

      • Add support for DIX feature for v3 hw commit

    • mpt3sas
      • Add support for ATLAS PCIe switch commit

      • Add support for NVMe Switch Adapter commit

    • qla2xxx
      • Add First Burst support for FC-NVMe devices commit

      • Add pci function reset support commit

      • Add protection mask module parameters commit

      • Add support for setting port speed commit

    • remove bidirectional command support commit

    • remove the SCSI OSD library commit

    • scsi_debug: Implement support for write protect commit

    • ufs: Add HI3670 SoC UFS driver support commit

10.3. Drivers in the Staging area

  • iio: adc: ad7606: Move out of staging commit

  • mt7621-pci-phy: add new driver for phy part of mt7621-pci commit

  • erofs: complete POSIX ACL support commit

  • xgifb: delete the driver commit

  • media
    • imx7: add imx7 CSI subdev driver commit

    • imx7: add MIPI CSI-2 receiver subdev for i.MX7 commit

    • soc_camera: Move to the staging tree commit, commit, commit, commit

  • iio: cdc: ad7152: remove driver completely commit

10.4. Networking

  • 8139too : Add support for U.S. Robotics USR997901A 10/100 Cardbus NIC commit

  • Bluetooth: btmrvl: add support for sd8977 chipset commit

  • Bluetooth: mediatek: add support for MediaTek MT7663U and MT7668U UART devices commit

  • Infiniband
    • hfi1: Add OPFN which is the feature negotiation protocol used by TID RDMA commit, commit, commit, commit, commit, commit

    • hfi1: Add TID RDMA Write commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • hfi1: Add TID RDMA Read commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • mlx5: Add SRQ and XRC support for ODP MRs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • mlx5: Indirect MKEY over DEVX commit, commit, commit

    • mlx5: Enable DEVX asynchronous query commands commit, commit, commit, commit

    • mlx5: Add support for 50Gbps per lane link modes commit

    • bnxt_en: Add support Broadcom's 57500 series of adapters commit, commit, commit, commit, commit, commit, commit

  • ath10k
    • Add support for ack rssi values commit, commit

    • Add support for extended HTT aggr msg support commit

    • Add dynamic vlan support commit

    • Enable Factory Test Mode for WCN3990 commit

  • bnxt_en: Add support for BCM957504 commit

  • brcmfmac: support monitor frames with the hardware/ucode header commit

  • cxgb4/cxgb4vf: Add support for SGE doorbell queue timer commit

  • cxgb4: Add VF Link state support commit

  • cxgb4: Add new T6 PCI device ids 0x608b commit

  • cxgb4: TLS record offload enable commit

  • dpaa2-eth: add XDP_REDIRECT support commit

  • dsa: microchip: add MIB counter reading support commit

  • enetc: Introduce ENETC ethernet drivers commit, commit, commit, commit, commit, commit

  • hinic: Add pci device ids commit

  • hns3: add support to config depth for tx|rx ring separately commit

  • hns3: add xps setting support for hns3 driver commit

  • i40e: Add support FEC configuration for Fortville 25G commit

  • ibmvnic: Enable GRO commit

  • ice
    • Add ethtool private flag to make forcing link down optional commit

    • Add ethtool set_phys_id handler commit

    • Add support for adaptive interrupt moderation commit

    • Add support for new PHY types commit

    • Allow for software timestamping commit

    • Implement getting and setting ethtool coalesce commit

    • Implement support for normal get_eeprom[_len] ethtool ops commit

    • Offload SCTP checksum commit

  • igc: Add ethtool support commit

  • iwlwifi
    • Add new 0x2723/0x2080 card for 22000 commit

    • Add new card for 9260 series commit

    • Add new cards for 22000 and killer series and change the market name commit

    • Add new cards for 22560, 9260 and killer series commit

    • Introduce device family AX210 commit

    • mvm: add support for new FTM fw API commit

    • mvm: advertise support for TWT in the Extended Capability IE commit

    • mvm: save and export regdb blob from the NVM commit

    • mvm: support FTM initiator commit

    • mvm: support FTM responder commit

    • mvm: support beacon IE injection commit

    • mvm: support mac80211 AMSDU commit

    • Remove support for 9000 A-step devices commit

    • dbg_ini: implement Rx fifos dump commit and Tx fifos dump commit

  • macvlan: add ndo_change_proto_down support commit

  • mlxsw
    • hwmon and thermal extensions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for new port types and speeds for Spectrum-2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add GRE tunnel support for Spectrum-2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • minimal: Add ethtool support commit

  • mt76: add channel switch announcement support commit

  • mt76: add led support to mt76x0e driver commit

  • mt76: usb: introduce disable_usb_sg parameter commit

  • mt76x02: enable support for IBSS and MESH commit

  • mt76x0: phy: report target_power in debugfs commit

  • mvpp2: Add 2.5GBaseT support commit

  • mwifiex: add support for sd8977 chipset commit

  • mlx5
    • Add multipath mode commit

    • net/mlx5: E-Switch, Add support for VEPA in legacy mode commit

    • Introduce Mellanox SmartNIC and modify page management logic commit

    • Support ndo bridge_setlink and getlink commit

  • dsa
    • bcm_sf2: Prepare for adding CFP statistics commit

    • microchip: add KSZ9893 switch support commit

    • mt7530: support the 7530 switch on the Mediatek MT7621 SoC commit

    • mv88e6xxx: add support for bridge flags commit

  • hns3: add HNAE3_RESTORE_CLIENT interface in enet module commit

  • hns3: add rx multicast packets statistic commit

  • marvell: neta: add comphy support commit

  • mscc: Enable all ports in QSGMII commit

  • stmmac
    • Add driver for Qualcomm ethqos commit

    • Manage Ethernet WoL for stm32mp157c commit

    • Implement the SIOCGHWTSTAMP ioctl commit

  • nfp: bpf: dead code elimination commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • flower: enable MAC address sharing for offloadable devs commit

    • report RJ45 connector in ethtool commit

  • qed/qede
    • Add API for SmartAN query commit

    • Add infrastructure for error detection and recovery commit

    • Add ethtool interface for SmartAN query commit

  • qmi_wwan
    • qmi_wwan: new Wistron, ZTE and D-Link devices commit

    • Add support for Quectel EG12/EM12 commit

    • Add Olicard 600 commit

  • qtnfmac
    • Add support for 4addr mode commit

    • Enable WPA3 SAE/OWE support commit, commit

  • r8169
    • Add EEE support for RTL8168f commit, commit

    • add general EEE support for chip versions from RTL8168g commit

    • Remove PCI DAC support commit

  • rsi: Add debug support for wowlan wakeup confirmation commit

  • sfc: extend MTD support for newer hardware commit

  • sh_eth: RX checksum offload support commit, offload RX checksum on R7S72100 commit, R8A7740 commit, R8A77980 commit, SH7734 commit, SH7763 commit

  • wil6210: add option to drop Tx packets when Tx ring is full commit

  • wil6210: support up to 20 stations in AP mode commit

10.5. Audio

  • dice: add support for Solid State Logic Duende Classic/Mini commit

  • fireface: add support for Fireface UCX commit, commit, commit

  • hda/realtek
    • Add support for Acer Aspire E5-523G/ES1-432 headset mic commit

    • Add support headset mode for DELL WYSE AIO commit

    • Add support headset mode for New DELL WYSE NB commit

    • Enable ASUS X441MB and X705FD headset MIC with ALC256 commit

    • Enable headset MIC of ASUS X430UN and X512DK with ALC256 commit

    • Enable headset MIC of Acer Aspire Z24-890 with ALC286 commit

    • Enable headset mic of ASUS P5440FF with ALC256 commit

  • hda: hdmi - add Icelake support commit

  • ASoC
    • Add MICFIL SoC Digital Audio Interface driver commit

    • Intel: Add Geminilake Dialog Maxim machine driver commit

    • Intel: Boards: Add Maxim98373 support commit

    • Intel: Headset button support in broxton machine driver commit

    • Intel: bytcht_es8316: Add external speaker mux support commit, add input-map support commit, add jack-detect support commit

    • Intel: bytcr_rt5651: Add quirks module parameter commit, add support for jack-detect using an external GPIO commit

    • ak4458: Add support for AK4497 commit

    • apq8096: add slim support commit

    • audio-graph-scu-card: remove audio-graph-scu-card commit

    • codecs: Add jz4725b-codec driver commit

    • cros_ec_codec: Add codec driver for Cros EC commit

    • cs35l36: Add support for Cirrus CS35L36 Amplifier commit

    • cs4341: Add driver for CS4341 DAC commit

    • es8316: Add DAC mono mix switch mixer control commit, add jack-detect support commit

    • mediatek: add btcvsd driver commit

    • mediatek: mt6358: add codec driver commit

    • mediatek: mt8183: add platform driver commit

    • rockchip: support ACODEC for rk3328 commit

    • rt5651: Add ACPI ID 10EC5640 commit

    • rt5651: Add support for jack detect using an external GPIO commit

    • samsung: odroid: Add support for secondary CPU DAI commit

    • simple-scu-card: remove simple-scu-card commit

    • sprd: Add Spreadtrum audio DMA platfrom driver commit

    • sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch commit, add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch commit, add MIC2 Pre-Amplifier, Mic2 input commit, add Mic Playback Volume commit, add Mic1 Boost Volume, Mic2 Boost Volume commit, add Mic1 Playback Switch, Mic2 Playback Switch commit

    • Add support to WCD9335 Audio Codec commit, commit, commit, commit, commit, commit

    • Add Xilinx SPDIF audio driver and formatter driver commit, commit, commit, commit

10.6. Tablets, touch screens, keyboards, mouses

  • Add new vibrator driver for various MSM SOCs commit

  • edt-ft5x06: add support for Evervision FT5726 commit

  • elan_i2c: add hardware ID for multiple Lenovo laptops commit

  • elan_i2c: add id for touchpad found in Lenovo s21e-20 commit

  • goodix: support Goodix gt5688 commit

  • ili210x: add ILI251X support commit

  • st1232: add support for st1633 commit

  • sx8654: add sx8650 support commit

  • sx8654: add sx8655 and sx8656 to compatibles commit

  • tm2-touchkey: add support for aries touchkey variant commit

  • tm2-touchkey: add support for midas touchkey commit

  • tm2-touchkey: allow specifying custom keycodes commit

  • wacom_serial4: add support for Wacom ArtPad II tablet commit

  • Support for Maltron L90 keyboard media keys commit

  • stpmic1: Add STPMIC1 onkey driver commit

  • HID
    • Add support for Toshiba WT10A tablet bluetooth keyboard commit

    • hid-asus: Add BT keyboard dock battery monitoring support commit

    • hid-asus: Add Transbook T90CHI support commit

    • kye: Add support for EasyPen M406XE commit

    • multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons commit

    • uclogic: Add support for Ugee 2150 commit

    • uclogic: Add support for Ugee EX07S frame controls commit

    • uclogic: Add support for Ugee G5 commit

    • uclogic: Add support for Ugee M540 commit

    • uclogic: Add support for XP-Pen Deco 01 commit

    • uclogic: Add support for XP-Pen Star G540 commit

    • uclogic: Add support for XP-Pen Star G640 commit

    • uclogic: Support Gray-coded rotary encoders commit

    • uclogic: Support faking Wacom pad device ID commit

    • uclogic: Support fragmented high-res reports commit

    • uclogic: Support in-range reporting emulation commit

    • uclogic: Support v2 protocol commit

    • viewsonic: Support PD1011 signature pad commit

    • wacom: Add support for Pro Pen slim commit

10.7. TV tuners, webcams, video capturers

  • Add support for 32-bit packed YUV formats commit, commit, commit, commit

  • coda: Add control for h.264 chroma qp index offset commit

  • coda: Add control for h.264 constrained intra prediction commit, commit, commit

  • gspca: ov534-ov772x: add SGBRG8 bayer mode support commit

  • i2c: mt9m001: copy mt9m001 soc_camera sensor driver commit

  • ov5640: Add RAW bayer format support commit

  • ov8856: Add support for OV8856 sensor commit

  • rc: rcmm decoder and encoder commit

  • rcar-csi2: Add support for RZ/G2E commit

  • rcar-vin: Add support for RZ/G2E commit

  • sh_mobile_ceu_camera: remove obsolete soc_camera driver commit

  • si470x-i2c: Add optional reset-gpio support commit

  • smipcie: add universal ir capability commit

  • soc_camera: Remove the mt9m001 SoC camera sensor driver commit

  • soc_camera: Remove the rj45n1 SoC camera sensor driver commit

  • soc_camera_platform: remove obsolete soc_camera test driver commit

  • soc_mt9t112: remove obsolete sensor driver commit

  • soc_ov772x: remove obsolete sensor driver commit

  • soc_tw9910: remove obsolete sensor driver commit

  • sun6i: Add A64 CSI block support commit

  • sun6i: Add support for JPEG media bus format commit

  • sun6i: Add support for RGB565 formats commit

  • vicodec: Add support for resolution change event commit

  • vicodec: add support for CROP and COMPOSE selection commit

  • video-i2c: add Melexis MLX90640 thermal camera commit

  • vim2m: add bayer capture formats commit

  • vim2m: add support for VIDIOC_ENUM_FRAMESIZES commit

  • vim2m: allow setting the default transaction time via parameter commit

  • vimc: Add vimc-streamer for stream control commit

  • vimc: add USERPTR support commit

10.8. Universal Serial Bus

  • Add option of only authorizing internal devices. This is used by ChromeOS to initialize fixed USB devices while the userspace in charge of authorizing USB devices, such as USBGuard, are started commit

  • cp210x: add ID for Ingenico 3070 commit

  • cp210x: add new device id commit

  • ftdi_sio: add ID for Hjelmslund Electronics USB485 commit

  • ftdi_sio: add additional NovaTech products commit

  • option: add Olicard 600 commit

  • option: add Telit ME910 ECM composition commit

  • option: add support for Quectel EM12 commit

  • option: set driver_info for SIM5218 and compatibles commit

  • dwc3: pci: add support for Comet Lake PCH ID commit

  • misc: usbtest: add super-speed isoc support commit

10.9. Serial Peripheral Interface (SPI)

  • Add a driver for the Freescale/NXP QuadSPI controller commit

  • stm32: add support for STM32F4 commit

  • spi-mem: Add driver for NXP FlexSPI controller commit

  • atmel-quadspi: add support for sam9x60 qspi controller commit

10.10. Watchdog

  • Add watchdog_thresh command line parameter to set the hard lockup detector stall duration threshold in seconds commit

  • stpmic1: Add STPMIC1 watchdog driver commit

  • mlx-wdt: introduce a watchdog driver for Mellanox systems commit

10.11. Serial

  • Ingenic: Add support for the X1000 commit

  • Add Tegra Combined UART driver commit

10.12. ACPI, EFI, cpufreq, thermal, Power Management

  • (FEATURED) cpuidle: New timer events oriented governor for tickless systems commit

  • cpufreq: ap806: add cpufreq driver for Armada 8K commit

  • ACPI / APEI: Add support for the SDEI GHES Notification type commit

  • tools/power turbostat: Add Die column commit

  • tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL commit

  • tools/power turbostat: Add Icelake support commit

  • thermal: broadcom: Add Stingray thermal driver commit

  • thermal: mediatek: add support for MT8183 commit

  • thermal: qoriq: add multiple sensors support commit

10.13. Real Time Clock (RTC)

  • platform/chrome: wilco_ec: Add RTC driver commit

  • Add Cadence RTC driver commit

  • Add AB-RTCMC-32.768kHz-EOZ9 RTC support commit

  • imx-sc: add rtc set time support commit

  • isl1208: Add new style nvmem support to driver commit

  • isl1208: Support more chip variations commit

  • rv3028: add new driver commit

  • rx8581: Add support for Epson rx8571 RTC commit

  • sd3078: new driver commit

  • support for the Amlogic Meson RTC commit

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

  • reset: at91-reset: add support for sam9x60 SoC commit

  • regulator:
    • bd70528: Support ROHM BD70528 regulator block commit

    • max77650: add regulator support commit

    • stpmic1: Add active discharge support commit

    • fan53555: Add support for FAN53526 commit

10.15. Pin Controllers (pinctrl)

  • ssbi-gpio: add support for hierarchical IRQ chip commit

  • at91: add slewrate support for SAM9X60 commit

  • at91: add drive strength support for SAM9X60 commit

  • freescale: Add imx8mm pinctrl driver support commit

  • imx: add imx8qm driver commit

10.16. Multi Media Card (MMC)

  • Add discard support to sd commit

  • sdhci: Add ADMA3 DMA support for V4 enabled host commit

  • tegra: HW Command Queue Support for Tegra SDMMC commit

10.17. Memory Technology Devices (MTD)

  • fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c commit

  • rawnand: meson: add support for Amlogic NAND flash controller commit

  • spi-nor: Add support for EN25Q80A commit

  • spi-nor: Add support for MX25V8035F commit

  • spi-nor: Add support for en25qh64 commit

  • spi-nor: Add support for mx25u3235f commit

  • spi-nor: cadence-quadspi: Add support for Octal SPI controller commit

  • spinand: Add support for GigaDevice GD5F1GQ4UExxG commit

  • spinand: Add support for all Toshiba Memory products commit

  • ubi: Expose the bitrot interface commit

10.18. Industrial I/O (iio)

  • add Ingenic JZ47xx ADC driver commit

  • Add modifiers for ethanol and H2 gases commit

  • accell: mma8452: add vdd/vddio regulator operation support commit

  • adc: Add AD7768-1 ADC basic support commit

  • adc: ad7768-1: Add support for setting the sampling frequency commit

  • adc: Add the TI ads124s08 ADC code commit

  • adc: ad7476: Add support for TI ADS786X ADCs commit

  • adc: add NPCM ADC driver commit

  • adc: add STMPE ADC driver using IIO framework commit

  • chemical: add support for Plantower PMS7003 sensor commit

  • chemical: add support for Sensirion SPS30 sensor commit

  • chemical: sgp30: Support Sensirion SGP30/SGPC3 sensors commit

  • dac: ad5686: Add support for AD5674R/AD5679R commit

  • imu: mpu6050: Add support for the ICM 20602 IMU commit

  • light: add driver for MAX44009 commit

  • light: isl29018: add vcc regulator operation support commit

  • magnetometer: mag3110: add vdd/vddio regulator operation support commit

  • dac:ti-dac7612: Add driver for Texas Instruments DAC7612 commit

  • st_pressure:initial lps22hh sensor support commit

10.19. Multi Function Devices (MFD)

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • tps65218.c: Add input voltage options commit

  • stpmic1: Add STPMIC1 driver commit

10.20. Pulse-Width Modulation (PWM)

  • Add MediaTek MT8183 display PWM driver support commit

  • atmel: Add support for SAM9X60's PWM controller commit

  • hibvt: Add hi3559v100 support commit

10.21. Inter-Integrated Circuit (I2C)

  • aspeed: Add multi-master use case support commit

  • gpio: fault-injector: add 'inject_panic' injector commit, add 'lose_arbitration' injector commit

  • i801: Add support for Intel Comet Lake commit

  • i2c-ocores: Add IO mapped polled support commit, commit, commit

  • rcar: add suspend/resume support commit

  • tegra: Add DMA support commit

  • tegra: add bus clear Master Support commit

  • tegra: add i2c interface timing support commit

  • tegra: update maximum transfer size commit

10.22. Hardware monitoring (hwmon)

  • dell-smm: Support up to 10 temp sensors commit

  • pmbus: add support for DPS-650AB commit

  • pwm-fan: Add optional regulator support commit

  • lm85: support the LM96000 commit

10.23. General Purpose I/O (gpio)

  • add core support for pull-up/pull-down configuration commit

  • AMD G-Series PCH gpio driver commit

  • pca953x: Add wake-up support commit

  • Add a Gateworks PLD GPIO driver commit

  • gpio-f7188x: add support Fintek F81804 & F81966 commit

10.24. DMA engines

  • k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware commit

  • fsl-qdma: Add qDMA controller driver for Layerscape SoCs commit

  • ioatdma: support latency tolerance report (LTR) for v3.4 commit

  • ioatdma: add descriptor pre-fetch support for v3.4 commit

  • ioatdma: Add Snow Ridge ioatdma device id commit

10.25. Hardware Random Number Generator (hwrng)

  • Add OP-TEE based rng driver commit

10.26. Cryptography hardware acceleration

  • caam: add support for xcbc(aes) commit

  • crypto4xx: add prng crypto support commit

  • axis: remove sha384 support for artpec7 commit

  • caam: add ecb(*) support commit

  • s5p: add AES support for Exynos5433 commit

10.27. PCI

  • Add HXT vendor ID commit

  • imx6: Add support for i.MX8MQ commit

  • altera: Add Stratix 10 PCIe support commit

  • layerscape: Add EP mode support commit

10.28. Clock

  • Add Fixed MMIO clock driver commit

  • actions: Add clock driver for S500 SoC commit

  • clocksource/drivers/tegra: Add Tegra210 timer support commit

  • imx: Add PLLs driver for imx8mm soc commit

  • imx: Add clock driver support for imx8mm commit

  • imx: scu: add cpu frequency scaling support commit

  • meson: Add G12A AO Clock + Reset Controller commit

  • meson: g12a: add peripheral clock controller commit

  • meson: pll: update driver for the g12a commit

  • qcom: clk-rpmh: Add IPA clock support commit

  • tegra: dfll: support PWM regulator control commit

10.29. EDAC (Error Detection And Correction)

  • aspeed: Add an Aspeed AST2500 EDAC driver commit

  • i10nm: Add a driver for Intel 10nm server processors commit

10.30. PHY ("physical layer" framework)

  • Add Cadence D-PHY support commit

  • Add A3700 COMPHY support commit

  • Add A3700 UTMI PHY driver commit

  • armada38x: add common phy support commit

  • qcom-qmp: Add QMP V3 USB3 PHY support for msm8998 commit

  • qcom-qusb2: Add QUSB2 PHY support for msm8998 commit

  • ti: usb2: Add support for AM654 USB2 PHY commit

  • Networking
    • mdio-mux: Add support for Generic Mux controls commit

    • aquantia: add hwmon support commit

    • marvell10g: add support for the 88x2110 PHY commit

    • Add DP83825I to the DP83822 driver commit

    • Add generic support for 2.5GBaseT and 5GBaseT commit

    • aquantia: add support for AQCS109 commit

    • aquantia: add support for auto-negotiation configuration commit

    • ealtek: add generic Realtek PHY driver commit

10.31. Various

  • extcon: Add support for ptn5150 extcon driver commit

  • firmware: tegra: add bpmp driver for Tegra210 commit

  • firmware: xilinx: Add APIs to control node status/power commit

  • firmware: xilinx: Implement ZynqMP power management APIs commit

  • soc: xilinx: Add ZynqMP PM driver commit

  • soc: xilinx: Add ZynqMP power domain driver commit

  • gnss: add driver for mediatek receivers commit

  • habanalabs: Add driver for Habana's AI Processors (AIP) that are designed to accelerate Deep Learning inference and training workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • interconnect: Add debugfs support commit

  • interconnect: Add generic on-chip interconnect API commit

  • interconnect: Allow endpoints translation via DT commit

  • interconnect: qcom: Add sdm845 interconnect provider driver commit

  • iommu/hyper-v: Add Hyper-V stub IOMMU driver commit

  • irqchip: Add driver for Loongson-1 interrupt controller commit

  • mailbox: ZynqMP IPI mailbox controller commit

  • hdcp driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add support to Qualcomm FastRPC driver commit, commit, commit, commit

  • ptp: add QorIQ PTP support for ENETC commit

  • ptp_qoriq: support external trigger stamp FIFO commit

  • remoteproc: debug: add crash debugfs node commit

  • reset: Add Broadcom STB SW_INIT reset controller driver commit

  • reset: imx7: Add support for i.MX8MQ IP block variant commit

  • reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller commit

  • soc: qcom: rpmhpd: Add RPMh power domain driver commit

  • soc: qcom: rpmpd: Add a Power domain driver to model corners commit

  • tee: add bus driver framework for TEE based devices commit

  • tee: add cancellation support to client interface commit

  • tee: optee: add TEE bus device enumeration support commit

11. List of merges

  • vfs fixes

  • VFIO updates

  • MTD updates

  • i3c updates

  • MMC updates

  • regmap updates

  • regulator updates

  • spi updates

  • hwmon updates

  • LED updates

  • networking updates

  • crypto update

  • m68k updates

  • s390 updates

  • parisc updates

  • MIPS updates

  • timer and clockevent updates

  • irq updates

  • x86/pti update

  • year 2038 updates

  • RCU updates

  • EFI updates

  • locking updates

  • perf updates

  • scheduler updates

  • x86 alternative instruction updates

  • asm-generic updates

  • ARM SoC platform updates

  • ARM SoC device tree updates

  • ARM SoC driver updates

  • ARM SoC defconfig updates

  • ARM new SoC family support

  • ARM SoC late updates

  • Memory management updates

  • power management updates

  • ACPI updates

  • device properties framework updates

  • sound updates

  • char/misc driver updates

  • driver core updates

  • staging/IIO updates

  • tty/serial updates

  • USB/PHY updates

  • dtype handling cleanups

  • ext2 and udf fixes

  • fanotify updates

  • btrfs updates

  • xfs updates

  • cgroup updates

  • security subsystem updates

  • SELinux updates

  • audit updates

  • RISC-V updates

  • powerpc updates

  • xtensa updates

  • x86 boot updates

  • x86 build updates

  • x86 cleanups

  • x86 fpu updates

  • x86 kdump update

  • more memory management updates

  • drm updates

  • livepatching updates

  • HID updates

  • EDAC updates

  • RAS updates

  • IPMI updates

  • power supply and reset updates

  • i2c updates

  • swiotlb updates

  • thermal soc updates

  • RTC updates

  • MFD updates

  • GPIO updates

  • libata updates

  • block layer updates

  • io_uring IO interface

  • gcc-plugins updates

  • kselftest update

  • printk updates

  • documentation updates

  • leaking_addresses updates

  • fscrypt updates

  • smb3 updates

  • gfs2 updates

  • media updates

  • PCI updates

  • rdma updates

  • SCSI updates

  • device mapper updates

  • nios2 updates

  • arm64 updates

  • Devicetree updates

  • DMA mapping updates

  • IOMMU updates

  • virtio updates

  • x86 platform driver updates

  • watchdog core update

  • perf updates

  • integrity updates

  • tpm updates

  • Kbuild updates

  • input updates

  • pin control updates

  • watchdog updates

  • tracing updates

  • xen updates

  • m68knommu update

  • XArray updates

  • x86 tsx fixes

  • chrome platform updates

  • misc memory management updates

  • misc vfs updates

  • iov_iter updates

  • vfs mount infrastructure updates

  • fuse updates

  • overlayfs updates

  • NFS client updates

  • ceph updates

  • ext4 updates

  • NFS server updates

  • UBI and UBIFS updates

  • filesystem-dax updates

  • libnvdimm updates

  • mailbox updates

  • pwm updates

  • clk subsystem updates

  • remoteproc updates

  • dmaengine updates

  • Microblaze update

  • more power management updates

  • more ACPI updates

  • misc memory management patches

  • the left-over memory management patches

  • f2fs updates

  • fbdev updates

  • NTB updates

  • ARM updates

  • KVM updates

  • more smb3 updates

  • more block layer changes

  • more SCSI updates

  • device-dax updates

  • pidfd system call

  • 9p updates

  • more Kbuild updates

12. Other news sites

  • LWN's merge window part 1, part 2, Development statistics

  • Phoronix The Big Features Of Linux 5.1: IO_Uring, Intel Fastboot Default, Goya AI Accelerator, New Hardware

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