12353
Comment:
|
880
Linux 5.5 released
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The purpose of this page is tracking and explaining the features added in every release, just like the [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly people did]. | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
It'd be nice if kernel hackers would spend some minutes adding their stuff here. The one place where you can find a comparable changelog are the fabulous LWN kernel articles: http://lwn.net/Kernel/, or the [http://lwn.net/Articles/driver-porting/ driver porting guide] - but there's no reason why the kernel community shouldn't embrace and extend those efforts ;) | You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 5: | Line 7: |
TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] * Keep track of what gets changed * Import [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list (done - some "post-2.6.0" stuff perhaps) 2.6.14: 2.6.13: * x86 now uses the generic PCI bus setup code for assigning unassigned resources * [http://lwn.net/Articles/104343/ inotify] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices * [http://lwn.net/Articles/108595/ kexec and kdump]: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. * [http://lwn.net/Articles/135472/ Execute-in-place support]: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). * [http://lwn.net/Articles/145973/ build-time configurable clock interrupt frequency]: * [http://lwn.net/Articles/143474/ Improved CFQ IO scheduler] * Voluntary preemption patches * Removal of the devfs configuration option 2.6.12: * [http://lwn.net/Articles/140164/ API changes] * New driver for the "trusted computing" (TPM) crap^Wchip * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Multilevel security implementation for SELinux * [http://lwn.net/Articles/124703/ device mapper multipath support] * [http://lwn.net/Articles/121845/ Address space randomization] * Restore the Philips webcam driver * I/O barrier support for serial ATA drives * [http://lwn.net/Articles/134460/ "resource limits"] * [http://lwn.net/Articles/127936/ cpusets] * Remove IPV6 "experimental" status 2.6.11: 2.6.10: 2.6.9: 2.6.8: 2.6.7: 2.6.6: 2.6.5: 2.6.4: 2.6.3: 2.6.2: 2.6.1: 2.6.0: 2.6.0-test9: * [http://lwn.net/Articles/44243/ libata driver architecture] 2.6.0-test6: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t] 2.6.0-test3: * [http://www.nsa.gov/selinux/index.html SELinux] 2.6.0-test1: * [http://www.linuxvirtualserver.org/ Linux Virtual Server layer] 2.5.75: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] 2.5.74: 2.5.73: 2.5.72: 2.5.71: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile] 2.5.70: * [http://www.linux-usb.org/gadget USB gadget support] 2.5.69: * [http://lwn.net/Articles/29555/ New interrupt handling API] 2.5.68: 2.5.67: 2.5.66: 2.5.65: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] 2.5.64: 2.5.63: * [http://high-res-timers.sourceforge.net/ POSIX timers] 2.5.62: * [http://lse.sourceforge.net/locking/dcache/dcache_lock.html Avoid dcache_lock while path walking] 2.5.61: 2.5.60: * New modversions implementation * 64-bit jiffies 2.5.59: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] 2.5.68: 2.5.57: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] 2.5.56: 2.5.55: 2.5.54: * [http://secure.netroedge.com/~lm78/ Add lm-sensors drivers for hardware health monitoring] * Support for AGP 3.0 2.5.53: * "sysenter" support 2.5.52: 2.5.51: * [http://linuxconsole.sourceforge.net/ Rewrite of the console layer] * Compatibility syscall layer 2.5.50: 2.5.49: 2.5.48: * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/6214.html In-kernel module loader] 2.5.47: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html Zerocopy NFS] 2.5.46: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll] * Per-cpu hot & cold page lists * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/7027.html MMU-less processor support (ucLinux)] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101095500820185&w=2 Replace initrd by initramfs] * Extended Attributes and ACLs for ext2/ext3 2.5.45: * [http://www.xs4all.nl/~zippel/lc/ New Linux configuration system: kconfig] * [http://samba.org/~jamesm/crypto/ CryptoAPI] * [ftp://ftp.linux-ipv6.org/pub/usagi/patch/ipsec/ IPSEC] * [http://www.linuxtv.org/dvb/ Digital Video Broadcasting (DVB) layer] * [http://www.sistina.com/products_lvm.htm Device mapper for Logical Volume Manager (LVM2)] 2.5.44: * New sysfs filesystem (formerly known as driverfs) * Plug'N Play Layer Rewrite * [http://lwn.net/Articles/9042/ x86 BIOS Enhanced Disk Device (EDD) polling] 2.5.43: * [http://www.psc.edu/general/filesys/afs/ Andrew File System (AFS) support] * [http://oprofile.sourceforge.net/ OProfile, a low-overhead profiler] * [http://lse.sourceforge.net/locking Read-Copy Update (RCU) Mutual Exclusion] * [http://www.citi.umich.edu/projects/nfsv4/ Add support for NFS v4] * Remove kiobufs 2.5.42: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=103298446916066&w=2 ext2/ext3 large directory support: HTree index] * [http://us1.samba.org/samba/Linux_CIFS_client.html Add new CIFS (Common Internet File System)] * [http://www.gelato.unsw.edu.au/ Remove the 2TB block device limit] * Improved i2o (Intelligent Input/Ouput) layer 2.5.41: 2.5.40: * [http://lse.sourceforge.net/numa Parallelizing page replacement] * [http://lse.sourceforge.net/numa NUMA topology support * [http://www.brodo.de/cpufreq/ Add support for CPU clock/voltage scaling] 2.5.39: * New IO scheduler ("deadline") 2.5.38: 2.5.37: * [http://users.pandora.be/bart.de.schuymer/ebtables/ Ethernet bridge tables support] * Remove the global tasklist 2.5.36: * Hugepage support * [http://oss.sgi.com/projects/xfs/ XFS filesystem from SGI] 2.5.35: * Serial ATA support * [http://user-mode-linux.sourceforge.net/index.html Add User-Mode Linux (UML)] 2.5.34: * POSIX threading support for signals * [http://lse.sourceforge.net/numa discontigmem support (ia32)] 2.5.33: * TCP segmentation offload * [http://www.sf.net/projects/lksctp SCTP (Stream Control Transmission Protocol)] 2.5.32: * [http://people.redhat.com/drepper/nptl-design.pdf Improved POSIX threading support] * [http://freshmeat.net/projects/linux-aio/ Asynchronous IO (aio) support] * Porting all input devices over to input API * New MTRR (Memory Type Range Register) driver 2.5.31: * Support insane number of processes * Disk description cleanups * Remove incomplete SPX network stack 2.5.30: * Remove khttpd 2.5.29: * Strict address space accounting * [http://lsm.immunix.org/ Add Linux Security Module (LSM)] * [http://people.redhat.com/mingo/tls-patches/ Thread-Local Storage (TLS) support] 2.5.28: * Remove the "Big IRQ lock" * Serial driver restructure 2.5.27: * [http://surriel.com/patches/ New VM with reverse mappings] 2.5.26: * Direct pagecache <-> BIO disk I/O 2.5.25: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0207.0/0741.html Faster internal kernel clock frequency] * Unified naming for disk devices 2.5.24: 2.5.23: * [http://www.kernel.org/pub/linux/kernel/people/rusty/patches/Hotcpu/ Hotplug CPU support] * [http://bazar.conectiva.com.br/~acme/patches/wip More complete IEEE 802.2 stack] 2.5.22: 2.5.21: 2.5.20: 2.5.19: 2.5.18: * [http://falcon.sch.bme.hu/~seasons/linux/swsusp.html Software suspend (to disk & RAM)] * ->getattr() ->setattr() ->permission() changes 2.5.17: * Move ISDN4Linux to CAPI based interface * [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=101586205801483&w=2 New quota system supporting plugins] 2.5.16: 2.5.15: 2.5.14: * Bluetooth support (no longer experimental!) * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/1250.html Support for IDE TCQ (Tagged Command Queueing)] 2.5.13: 2.5.12: * Rewrite of the buffer layer 2.5.11: * Rewrite of the framebuffer layer * [http://www.ussg.iu.edu/hypermail/linux/kernel/0204.3/0129.html Fast walk dcache] * [http://linux-ntfs.sourceforge.net/ Replace old NTFS driver with NTFS TNG driver] 2.5.10: 2.5.9: * Smarter IRQ balancing 2.5.8: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0215.html Radix-tree pagecache] * [http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity Syscall interface for CPU task affinity] 2.5.7: * [http://sourceforge.net/projects/acpi/ ACPI (Advanced Configuration & Power Interface)] * [ftp://robur.slu.se/pub/Linux/net-development/NAPI/ NAPI network interrupt mitigation] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0884.html Futexes (Fast Lightweight Userspace Semaphores] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0335.html Video for Linux (V4L) redesign] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html New driver API for Wireless Extensions] 2.5.6: * [http://www.hojdpunkten.ac.se/054/samba/ http://www.hojdpunkten.ac.se/054/samba/] * [http://www.cs.helsinki.fi/linux/linux-kernel/2002-01/0438.html HDLC (High-level Data Link Control) update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0920.html per_cpu infrastructure] * [http://www-124.ibm.com/jfs/ Add JFS (Journaling FileSystem from IBM)] * Killing kdev_t for block devices 2.5.5: * [http://linuxppc64.org/ New architecture: PowerPC 64-bit (ppc64)] * [http://www.x86-64.org/ New architecture: AMD 64-bit (x86-64)] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0297.html Pagetables in highmem support] * [http://www.alsa-project.org/ Add ALSA (Advanced Linux Sound Architecture] 2.5.4: * [http://www-124.ibm.com/developerworks/oss/pthreads/ Support for Next Generation POSIX Threading] * [ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/ Add preempt kernel option] * Per network protocol slabcache & sock.h * [http://marc.theaimsgroup.com/?l=linux-kernel&m=100942323913586&w=2 Per filesystem slabcache & fs.h] 2.5.3: * [http://kernel.org/pub/linux/kernel/people/mochel/doc/ New driver model & unified device tree] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0109.3/1341.html PnP BIOS driver] * [http://www.geocrawler.com/mail/msg.php3?msg_id=7686796&list=35 Generic Extended Attribute support] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101077476005939&w=2 Support reiserfs external journal] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101121711408999&w=2 IDE layer update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.0/0260.html Untangle sched.h & fs.h include dependancies] * [http://www.geocrawler.com/lists/3/Linux/35/100/7642826/ Break Configure.help into multiple files] 2.5.2: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=100992347220716&w=2 New kernel device structure (kdev_t)] * [http://people.redhat.com/mingo/O(1)-scheduler/ O(1) scheduler for improved scalability] * [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=98307457705210&w=2 Filesystem per-process namespaces, late-boot cleanups] * [http://www.linux-usb.org/usb2.html Initial support for USB 2.0] 2.5.1: * Rewrite of the block IO (bio) layer |
<<Include(Linux_5.5)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.5 was released on 26 Jan 2020.
This release includes support in Btrfs for RAID1 with 3 and 4 copies and new checksum types; KUnit, a kernel unit testing framework; many improvements to io_ring(2) largely focused around networked I/O; Airtime Queue Limits for fighting bufferbloat on Wi-Fi and provide a better connection quality; support for mounting a CIFS network share as root filesystem and for using the same session across multiple network interfaces; support adding alternative names for network devices; many BPF improvements that allow to generate faster BPF code; and support for NFS cross device offloaded copy. As always, there are many other new drivers and improvements.
Contents
-
Coolest features
- Btrfs RAID1 with 3 and 4 copies and more checksum alternatives
- Many improvements to io_uring(2)
- KUnit, an unit testing framework for the kernel
- Airtime Queue Limits for a better Wi-Fi connection quality
- CIFS as root file system and multichannel support
- Support alternative names for network interfaces
- BPF improvements: type checking and BPF Trampoline
- NFS cross-device offloaded copy
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- Various
- List of Pull Requests
- Other news sites
1. Coolest features
1.1. Btrfs RAID1 with 3 and 4 copies and more checksum alternatives
Btrfs' RAID1 always had 2 copies. This release incorporates two new block group profiles: RAID1 with 3- and 4- copies, aka RAID1C34. This is an incompatible feature (the incompat bit will be removed if all the RAID1C34 profiles are removed). The recommended use of RAID1C3 is replacement of RAID6 profile on metadata, this brings a more reliable resiliency against 2 device loss/damage.
In this release Btrfs also adds support for new checksums (per-filesystem, set at mkfs time): xxhash, a fast hash (crc32c successor) with a 64-bit digest. Also, two strong cryptographic hashes (both 256-bit): sha256 (slower, FIPS), blake2b (faster). There is also a significant improvement of parallel lseek SEEK_CUR/SEEK_SET/SEEK_END, it is speed up by 80%.
1.2. Many improvements to io_uring(2)
This release includes several new features in io_uring(2). Improving the support for networked IO (and hence unbounded request completion times) is one of the major themes. There is also support for never drop events on an overflowed CQ ring, allow processes to set the size of the CQ ring, support for absolute timeouts, support for generic cancellations, and other improvements and speed ups.
1.3. KUnit, an unit testing framework for the kernel
This release incorporates KUnit, a lightweight unit testing and mocking framework for the Linux kernel. These tests are able to be run locally on a developer's workstation without a VM or special hardware - using the User-Mode Linux architecture. KUnit provides facilities for defining unit test cases, grouping related test cases into test suites, providing common infrastructure for running tests, and much more.
Documentation: KUnit - Unit Testing for the Linux Kernel
Recommended LWN article: A kernel unit-testing framework
1.4. Airtime Queue Limits for a better Wi-Fi connection quality
The Linux kernel has been fighting for years the phenomena know as bufferbloat: undesirable high latency that comes from network equipment buffering too much data. In order to improve the bufferbloat problems caused by the Wi-Fi stack, this release implements an Airtime-based Queue Limit to make the CoDel queuing work effectively with wireless drivers that utilized firmware/hardware offloading. For more details, see the following article:
Recommended LWN article: Making WiFi fast
1.5. CIFS as root file system and multichannel support
In this release, CIFS can be used as root file system. This release also adds support for "multichannel": it lets the client "share" the same SMB session over multiple TCP (or RDMA) connection.
1.6. Support alternative names for network interfaces
This release introduces the ability to add alternative names for network interfaces. The goal is to: overcome the name size limitations, allow to have multiple names at the same time (multiple udev patterns), and allow to use alternative names as handle for commands.
1.7. BPF improvements: type checking and BPF Trampoline
With introduction of Compile Once Run Everywhere in libbpf and in LLVM and BPF Type Format (BTF), the BPF verifier is finally ready for the next step in program verification. Now it can use in-kernel BTF to type check BPF assembly code. This type tracking allows safer and faster BPF tracing. For more details, see the following article:
Recommended LWN article: https://lwn.net/Articles/803258/Type checking for BPF tracing
This release also introduces a BPF trampoline, which allows kernel code to call into BPF programs with practically zero overhead. There is also support for memory-mapping BPF array map and other improvements.
1.8. NFS cross-device offloaded copy
This release adds NFS client support for cross-device offloaded copy. That is, offloaded copy of a file from one source server to a different target server.
2. Core (various)
- clone3(2)
Add CLONE_CLEAR_SIGHAND. This lets callers clear all signal handler that are not SIG_DFL or SIG_IGN at process creation time. This originated as a feature request from glibc to improve performance and eliminaate races in their posix_spawn() implementation. Mutually exclusive with CLONE_SIGHAND to not disturb other thread's signal handler commit, commit
Add support for choosing a specific PID (main motivation is CRIU). In order to choose a specific pid the caller must have CAP_SYS_ADMIN in all owning user namespaces of the target pid namespaces commit, commit
- (FEATURED) io_uring(2)
Add support for accept(4) trought operation IORING_OP_ACCEPT commit, commit, commit, commit
Add support for sparse file sets, which means the application can register a fileset with room for expansion. On top of that, it add IORING_REGISTER_FILES_UPDATE. This allows modifying the existing file set commit, commit
Support up to 64K files (previously it was 1024) commit
Support for overflowed CQ ring, never dropping events but providing backpressure on submits: if completion events are dropped when the CQ ring, certain applications may find hard or impossible to use it. So never overflow the ring, simply store requests in a backlog for later flushing. This flushing is done automatically by the kernel commit
Add support for IORING_OP_ASYNC_CANCEL, which will attempt to cancel requests that have been punted to async context and are now in-flight. This works for regular read/write requests to files, as long as they haven't been started yet. For socket based IO (or things like accept4(2)), we can cancel work that is already running as well commit, commit
Add IORING_FEAT_SUBMIT_STABLE. If this flag is set, applications can be certain that any data for async offload has been consumed when the kernel has consumed the SQE commit, commit, commit, commit, commit
Add support for canceling an existing timeout requests with IORING_OP_TIMEOUT_REMOVE commit
Support for linked timeouts with IORING_OP_LINK_TIMEOUT flag. Unlike the existing timeouts that work on purely the CQ ring, these timeouts are specifically tied to a specific command. They are meant to be used to auto-cancel a request, if it hasn't finished in X amount of time commit, commit
Add support for absolute timeouts commit
Application control the size of the CQ ring with IORING_SETUP_CQSIZE, instead of just making it always 2x the SQ ring size. This makes it more flexible for networked applications commit
Make POLL_ADD/POLL_REMOVE scale better commit
Replace io_uring workqueues with a new type of workqueues, io-wq. For more details, see this LWN article commit, commit, commit, commit, commit
Add mapping support for NOMMU archs commit
task scheduler: Rework the load balance. It replaces the old heuristics that have become less meaningful after the introduction of the PELT metrics, with a grounds-up load-balancing algorithm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend the seccomp(2) notifier with the SECCOMP_USER_NOTIF_FLAG_CONTINUE flag to allow for the continuation of a syscall commit, commit, commit
pidfd: Add NSpid entries to /proc/self/fdinfo; it allows the retrieval of the PID in all descendant pid namespaces commit, commit
Rework the generic CONFIG_REFCOUNT_FULL (full reference count validation) implementation using atomic_fetch_* operations so that the performance impact of the cmpxchg() loops is mitigated for common refcount operations. With these performance improvements the generic implementation of refcount_t is good enough and arch-specific implementations are no longer needed commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) kunit: introduce KUnit, the Linux kernel unit testing framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cgroup: Optimize single thread migration so that it doesn't need threadgroup rwsem anymore commit, commit, commit, commit
livepatch: new API to track system state changes. It helps newly installed livepatches to deal with system state modifications done be already installed livepatches commit, commit, commit, commit, commit
Build: Add dir-pkg target which just creates the same directory structures as in tar-pkg, but doesn't package anything. Useful when the user wants to copy the kernel tree on a machine using ssh, rsync or whatever commit
Configuration: Introduce a new target 'make helpnewconfig' which lists all the new options, like listnewconfig, but with the full help text of all the new options as well commit
printf: add support for printing symbolic error names commit
Remove the sysctl system call (deprecated a long time ago) commit
3. File systems
- File system infrastructure
iomap: Lift the XFS writeback code to iomap commit and the xfs common tracing code commit
fscrypt: In preparation for adding inline encryption support to fscrypt, this patchset adds a new fscrypt policy flag which modifies the encryption to be optimized for inline encryption hardware compliant with the UFS v2.1 standard or the upcoming version of the eMMC standard. This means using per-mode keys instead of per-file keys, and in compensation including the inode number in the IVs commit, commit, commit
statx(2): expose the fs-verity bit (a.k.a. FS_VERITY_FL). This is useful because it allows applications to check whether a file is a verity file without opening it commit, commit, commit, commit
- Btrfs
(FEATURED) RAID1 with 3- and 4- copies commit, commit, commit, commit
(FEATURED) Speed up parallel fseek on the same file commit, commit, commit
send: allow clone operations within the same file commit
(FEATURED) Add sha256 to checksumming algorithm commit
(FEATURED) Add xxhash64 to checksumming algorithms commit
tree-checker: Add check to detect missing inode items commit, commit
Avoid getting stuck during cyclic writebacks commit
sysfs: export supported checksums commit
sysfs: show used checksum driver per filesystem commit
- XFS
- Ceph
Show tasks waiting on caps in debugfs caps file commit
- CIFS
- ext4
- F2FS
Support aligned pinned file, which can guarantee no GC at all by allocating fully valid 2MB segment commit
- NFS
- EROFS
Support superblock checksum commit
- HUGETBLFS
Add O_TMPFILE support commit
4. Memory management
Emit tracepoint when RSS changes commit
slab: reduce time spent in new_kmalloc_cache() commit, commit, commit
vmalloc optimizations, including rework of vmap_area_lock to avoid high contention commit commit commit commit commit commit
Fix page aging across multiple cgroups commit commit commit commit commit commit commit commit commit commit commit
KASAN was incompatible with VMAP_STACK, this release supports backing vmalloc space with real shadow memory commit, commit, commit, commit
reduce mmap_sem contention and hanging ps/top under heavy write I/O commit
various vma tree handling cleanups, optimizations and fixes commit commit commit commit commit commit commit
cleanup/optimize page table access code on arches without 4 or 5-level pages support commit commit commit commit commit
various memory hot-plug fixes and optimizations 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
Introduce alloc_contig_pages() helper commit
print reserved_highatomic value on allocation failures commit
make drop_caches sysctl write-only commit
z3fold: add inter-page compaction commit
fix checking (EFAULT inconsistencies) of unmapped holes for mbind() commit commit
add O_TMPFILE support for hugetlbfs commit
hugetlbfs fixes, including error handling when setting up mounts, and performance improvements due to better locking and reduced looping commit commit commit commit commit commit commit commit commit commit
5. Block layer
Add iostat counters for flush requests commit
Zone management commands support commit, commit, commit, commit, commit, commit, commit
Zoned block device enhancements and zone report rework commit, commit, commit, commit, commit, commit, commit, commit, commit
sed-opal: Generic Read/Write Opal Tables commit, commit, commit
dm dust: add limited write failure mode commit
xen-blkback: support dynamic unbind/bind commit
6. Tracing, perf and BPF
- BPF
(FEATURED) Revolutionize BPF tracing and BPF C programming: With introduction of Compile Once Run Everywhere technology in libbpf and in LLVM and BPF Type Format (BTF) the verifier is finally ready for the next step in program verification. Now it can use in-kernel BTF to type check bpf assembly code. The end result is safer and faster bpf tracing. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Introduce BPF trampoline to allow kernel code to call into BPF programs with practically zero overhead commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for memory-mapping BPF array maps commit, commit, commit, commit, commit
Optimize BPF tail calls for direct jumps commit, commit, commit, commit, commit, commit, commit, commit
Add probe_read_user, probe_read_kernel and probe_read_user_str, probe_read_kernel_str helpers commit
bpftool: Allow to read btf as raw data commit
flow_dissector: add mode to enforce global BPF flow dissector commit, commit
- libbpf
Make bpf_helpers.h and bpf_endian.h a part of libbpf itself for consumption by user BPF programs, and add BPF_CORE_READ macros commit, commit, commit, commit, commit, commit, commit
Add bpf_object__open_file() and bpf_object__open_mem() APIs that use a new approach to providing future-proof non-ABI-breaking API changes commit, commit, commit, commit
Bitfield and size relocations support commit, commit, commit, commit, commit
Generalize libbpf's CO-RE relocation support. In addition to existing field's byte offset relocation, libbpf now supports field existence relocations, which are emitted by Clang commit, commit, commit, commit, commit
Teach bpf_object__open() (and its variants) to automatically derive BPF program type/expected attach type from section names, similarly to how bpf_prog_load() was doing it commit, commit, commit, commit, commit, commit, commit
Add support for reading 'pinning' settings from BTF-based map definitions. It introduces a new open option which can set the pinning path; if no path is set, /sys/fs/bpf is used as the default. Callers can customise the pinning between open and load by setting the pin path per map, and still get the automatic reuse feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend libbpf to support shared umems and Rx|Tx-only sockets commit, commit, commit, commit, commit
- perf
probe: Support multiprobe events commit, commit, commit, commit, commit, commit, commit
record: Add option --kcore which will put a copy of /proc/kcore, kallsyms and modules into a perf.data directory commit, commit, commit, commit, commit, commit
record: Add support for limit perf output file size with --max-size commit
report: Support sorting all blocks by cycles with a new option --total-cycles which sorts all blocks by 'Sampled Cycles%' commit, commit, commit, commit, commit, commit, commit
report: Support --percent-limit for --total-cycles, or not showing entries under that percent commit
script: Allow --time (to specify a time span of interest) with --reltime commit
scripts python: exported-sql-viewer.py: Add Time chart by CPU commit, commit, commit, commit, commit, commit
stat: Add --per-node option to aggregate stats per NUMA nodes commit
stat: Support --all-kernel/--all-user to configure all used events to run in kernel space or run in user space commit
tools: Add support for AUX area sampling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tools: Allow to build with -ltcmalloc commit
tools: Allow to link with libbpf dynamicaly commit
trace: Add syscall failure stats to -s/--summary and -S/--with-summary commit
trace: Introduce --errno-summary. To be used with -s or -S, to show stats for the errnos experienced by syscalls, using only this option will trigger --summary commit
trace: Introduce --filter for tracepoint events similar to what is in 'perf record', eg. perf trace -e msr:* --filter="msr!=0xc0000100" commit
perf_event_{open,alloc,free,read,write}(2): Add support for LSM and SELinux checks, to allow more fine grained security permissions than the perf_event_paranoid sysctl allows commit
Introduce PERMANENT ftrace_ops flag that makes tracing not able to be disabled by disabling ftrace_enabled, in order to not surprise users of livepatching commit, commit, commit
tracing: Introduce trace event injection, useful to test applications that use trace events commit
ftrace: new features for the preempt/irqsoff tracers: implement fs notification for tracing_max_latency, and extends the preemptirq_delay_test module so that it can be used to generate a burst of closely occurring latencies commit, commit
tracing: Adding new API for kernel access to Ftrace instances commit, commit
7. Virtualization
hv: add vmbus testing tool commit
hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 commit
hv: vmbus: Add module parameter to cap the VMBus version commit
hv: vmbus: Introduce latency testing commit
hv_balloon: Add the support of hibernation commit
hv_sock: Add the support of hibernation commit
hv: Add PCI hibernation support commit
8. Cryptography
blake2b: add blake2b generic implementation commit
chacha20poly1305: import from Zinc commit
curve25519: generic C library implementations commit, commit
skcipher: remove the "blkcipher" algorithm type commit
ablkcipher: remove deprecated and unused ablkcipher support commit
9. Security
selinux: allow labeling before policy is loaded commit
selinux: A policy developer can now specify glblub as a default_range default and the computed transition will be the intersection of the mls range of the two contexts commit
apparmor: Initial implementation of raw policy blob compression commit
audit: Report suspicious O_CREAT usage commit
tpm: tpm_tis_spi: Support cr50 devices commit
Limit the size of copy_to_user() and copy_from_user() calls to INT_MAX in order to catch any weird overflows in size calculations commit
10. Networking
(FEATURED) Introduce alternative names for network interfaces. The goal is to: overcome the name size limitations, allow to have multiple names at the same time (multiple udev patterns), and allow to use alternative names as handle for commands commit, commit, commit, commit, commit, commit, commit
TCP: add TCP_INFO status for failed client TFO commit
routes: When doing RX batch packet processing, Linux always repeated the route lookup for each ingress packet. When no custom rules are in place, and there aren't routes depending on source addresses, we know that packets with the same destination address will use the same dst. This change tries to avoid per packet route lookup caching the destination address of the latest successful lookup commit, commit, commit, commit, commit
- bonding
bridge: implement get_link_ksettings ethtool method commit
Allow fast GRO for skbs with Ethernet header in head commit
Get IB port and node GUIDs through rtnetlink commit, commit, commit
- devlink
devlink: add support for devlink health reporter interface testing commit, commit, commit, commit
devlink: allow devlink instances to change network namespace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add couple of debugfs bools to debug devlink reload commit
- lwtunnel
- mac80211
- netfilter
Support iif matches in POSTROUTING commit
Add wildcard support to hash:net,iface which makes possible to match interface prefixes besides complete interfaces names commit
Adds hardware offload support for the flowtable infrastructure. This infrastructure provides a fast datapath for the classic Linux forwarding path that users can enable through policy commit, commit, commit, commit, commit, commit, commit
Extend the netdev family to allow for hooking multiple devices to basechains commit, commit, commit, commit, commit
Offload support for matching on the input interface commit
Add C-VLAN matching support commit
- openvswitch
- packet scheduler
- SCTP
smc: improve termination handling commit, commit, commit, commit, commit, commit, commit, commit
- TIPC
Add support for TIPC encryption commit, commit, commit, commit, commit
Add smart nagle, a feature that works like a combination of TCP_NAGLE and TCP_CORK, but without some of the weaknesses of those commit
Improve throughput between nodes in netns commit
Support in-order name publication events commit
TLS: adds trace events related to TLS offload and basic MIB stats for TLS commit, commit, commit, commit, commit, commit
TLS: separate the TLS TCP Offload Engine code out and allow to compile out commit, commit, commit, commit, commit, commit
vsock: add multi-transports support. With the multi-transports support, we can use VSOCK with nested VMs (using also different hypervisors) loading both guest->host and host->guest transports at the same time. Before this series, vmci-transport supported this behavior but only using VMware hypervisor on L0, L1, etc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vsock/virtio: add support for MSG_PEEK commit
vxlan: implement get_link_ksettings ethtool method commit
AF_XDP: XSKMAP performance improvements commit, commit, commit
11. Architectures
11.1. ARM
- New SoC descriptions
- New boards and platforms
Add FriendlyARM NanoPi Duo2, an Allwinner H3 based board, with 512 MB RAM, a USB OTG port, MicroSD slot, an onboard AP6212A wifi/bluetooth module, and a CSI connector commit
Amlogic: Ugoos am6, based on the Amlogic W400 (G12B) reference design using the S922X chipset commit
Marvell: New Espressobin flavor commit
NXP: i.MX8MN LPDDR4 EVK commit, commit, i.MX8QXP Colibri, S32V234 EVB commit, Netronix E60K02 commit and Kobo Clara HD commit, Kontron N6311 and N6411 commit, commit, OPOS6UL and OPOS6ULDev commit
Renesas: Salvator-XS with R-Car M3-W+ commit
Rockchip: Beelink A1 (rk3308) commit, rk3308 eval boards, rk3399-roc-pc commit, commit
Renesas: Add HiHope RZ/G2N main board support commit
Marvell: Add support for Marvell CN9132-DB commit, CN9130-DB commit, CN9130 commit and CN9131-DB commit
Renesas: Add HiHope RZ/G2N sub board support commit
Renesas: Add Renesas R8A77961 SoC support commit
Add minimal support for Droid Bionic xt875 commit
Add DTS for NetCAN Plus devices commit
Add DTS for NetCom Plus 1xx and 2xx device series commit, and NetCom Plus 4xx and 8xx device series commit
aspeed: Add Rainier system commit
aspeed: Add Tacoma machine commit
mmp3: Add MMP3 SoC dts file commit, commit and Dell Wyse 3020 machine commit
marvell: Declare the CN913x SoC compatibles commit
Add support for generic vDSO commit
hw_breakpoint: add more ARMv8 debug architecture versions support commit
- coresight
perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver commit
perf: arm-ccn: Enable stats for CCN-512 interconnect commit
perf/imx_ddr: Add driver for DDR PMU in i.MX8MPlus commit, add enhanced AXI ID filter support commit
- KVM
- crypto
- ARM64
KVM: Expose stolen time to guests, allowing the guest to identify time when it is forcibly not executing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Workaround for a Neoverse-N1 erratum where the CPU may fetch stale instructions under certain conditions commit, commit, commit
Workaround for Cortex-A57 and A72 errata where the CPU may speculatively execute an AT instruction and associate a VMID with the wrong guest page tables (corrupting the TLB) commit
Implement ftrace with regs commit
crypto: gcm-ce: implement 4 way interleave commit
crypto: poly1305: incorporate OpenSSL/CRYPTOGAMS NEON implementation commit
perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU commit, add some missing events for Hisi hip08 HHA PMU commit, add some missing events for Hisi hip08 L3C PMU commit
11.2. x86
Enable 5-level paging support by default commit
Extend the boot protocol to allow future extensions without hitting the setup_header size limit commit, commit, commit
Prevent user space from using CLI/STI with iopl(3): implement the IO privilege features of the iopl system call by using the IO permission bitmap in permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space if they change the interrupt flag. For more details, see this LWN article: Emulated iopl() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
random: invoke EFI_RNG_PROTOCOL in the x86 EFI stub to seed the kernel entropy pool commit, commit
- intel-speed-select
Add support for RDPRU instruction which is used to give access to some processor registers that are typically only accessible when the privilege level is zero commit
More enablement for the Intel-compatible CPUs Zhaoxin commit, commit, commit
Converts the late loading method to load the microcode in parallel (vs sequentially currently) commit
- Platforms
Add System76 ACPI driver commit
Support upcoming UV systems that do not have a UV HUB commit, commit, commit, commit, commit, commit, commit, commit
mellanox: Add bootctl driver for Mellanox BlueField Soc commit
acerhdf: Add support for Acer Aspire 7551 commit
Previously the Huawei driver handled only hotkeys. After the conversion to WMI it has been expanded to support newer laptop models commit, commit, commit, commit
touchscreen_dmi: Add info for the ezpad 6 m4 tablet commit
chrome: wilco_ec: Add Dell's USB PowerShare Policy control commit
chrome: wilco_ec: Add charging config driver commit
chrome: wilco_ec: Add debugfs test_event file commit
chrome: wilco_ec: Add keyboard backlight LED support commit
intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver commit
perf vendor events intel: Update Cascade Lake-X events to v1.05 commit, update all the Intel JSON metrics from TMAM 3.6 commit
perf: Add PCI ID of IMC for Xeon E3 V5 Family commit
- intel_th
nVMX: Add full nested support for "load IA32_PERF_GLOBAL_CTRL" VM-{Entry,Exit} control commit, commit, commit, commit, commit, commit
KVM: nVMX: Add support for capturing highest observable L2 TSC commit, commit, commit, commit
hyperv: Allow guests to enable InvariantTSC commit
crypto: blake2s: x86_64 SIMD implementation commit
crypto: curve25519: x86_64 library and KPP implementations commit
Remove the calgary IOMMU driver commit
New macros for assembler symbols commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.3. PowerPC
Infrastructure for secure boot on some bare metal POWER9 machines. The firmware support is still in development, so the code here won't actually activate secure boot on any existing systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xmon: Restrict when kernel is locked down commit
Support CMDLINE_EXTEND, Extend bootloader kernel arguments commit
Support for KASLR on 32-bit BookE machines (Freescale / NXP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pseries: CMM: Implement balloon compaction and remove isolate notifier commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pseries: powerpc/pseries: Enable support for ibm,drc-info property commit, commit
book3s64: Report L1TF status in sysfs commit
crypto: spe-xts - implement support for ciphertext stealing commit
KVM: Add support for secure guests under the Protected Execution Framework (PEF) Ultravisor commit, commit, commit, commit, commit, commit
KVM: Report single stepping capability commit
KVM: Book3S HV: XIVE: Show VP id in debugfs commit
11.4. MIPS
Add ARCH_HAS_FORTIFY_SOURCE support commit
Add kcov support commit
ralink: Add GARDENA smart Gateway MT7688 board commit
Add support for SGI Octane (IP30) commit
Add Loongson-3A R4 basic support commit
Loongson: Add CFUCFG&CSR support commit
BPF: Disable MIPS32 eBPF JIT commit
- crypto:
11.5. RISC-V
Add support for SECCOMP and SECCOMP_FILTER commit
Add multiple compression image format commit
Enable gcov commit
Add nommu support commit
Provide a flat image loader commit
provide native clint access for M-mode commit
11.6. S390
kasan: add KASAN_VMALLOC support commit
livepatch: Implement reliable stack tracing for the consistency model commit
qdio: implement IQD Multi-Write commit
qeth: support per-frame invalidation commit
qeth: use IQD Multi-Write commit
KVM: s390: count invalid yields commit
11.7. Xtensa
11.8. ARC
Support Jump Label patching HAVE_ARCH_JUMP_LABEL commit
Support kmemleak HAVE_DEBUG_KMEMLEAK commit
ARC TLB Miss and Flush optimizations commit,commit,commit,commit
11.9. UML
Loadable BPF "Firmware" for vector drivers commit
12. Drivers
12.1. Graphics
Export different colorspace properties on DisplayPort vs HDMI
New fourcc for ARM 16x16 block format commit
syncobj: allow querying last submitted timeline value commit
Implement lazy unmapping for GEM VRAM buffers commit, commit, commit, commit
- amdgpu:
Implement dma-buf import/export without helpers commit, commit
- Vega20 RAS enablement
Renoir GPU reset commit
DC HDCP 1.4 Content Protection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
BACO support for CI/VI asics commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
MSI-X support commit
Arcturus VCN encode support commit
VCN dynamic powergating on RV/RV2 commit
Enable VCN2.5 encoding commit
Enable KFD on POWER systems commit
Add debugfs entry for reading psr state commit and to force YUV420 output commit
Enable Panel Self Refresh commit
Add support for Dali, a new asic based on Raven commit, commit
Implement sysfs for getting dpm clock commit
Report vram vendor with sysfs commit
SRIOV: add navi12 pci id for SRIOV commit
Add a kernel parameter for specifying the asic type commit
Add navi12 pci id commit
Add NAVI12 support from kfd side commit
Support Navi14 in KFD commit
Enable full ras by default commit
Introduce the kfd support for Renoir commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add sysfs interface to read pcie speed/width info in navi1x commit
- Intel
Support for DP HDR outputs commit, commit, commit, commit, commit, commit
perf: uapi versioning for Vulkan performance query support commit, commit, OA stream dynamic reconfiguration commit
Introduce DRM_I915_UNSTABLE Kconfig commit
Add fake lmem testing under unstable commit
- BT.2020 support for DP MSA
- Tigerlake display/PLL/power management improvements
Jasper Lake PCH support commit
Enable HDCP 1.4 and 2.2 on Gen12+ commit
Add second PCH ID for CMP commit
Display State Buffer (DSB) support, a hardware capability which allows driver to batch submit HW programming commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add perf support on TGL commit
Add new CNL PCH ID seen on a CML platform commit
Add immutable zpos plane properties commit
- bridge
- komeda
- mediatek
- meson
Enable DRM InfoFrame support on GXL, GXM and G12A commit
- adreno
Add support for Adreno 510 GPU commit
- rockchip
Enable DRM InfoFrame support on RK3328 and RK3399 commit
- sun4i
Enable DRM InfoFrame support on H6 commit
- tegra
- virtio-gpu
Enable prime mmap support commit
- vkms
prime import support commit
- vmwgfx
- rcar-du
Add R8A774B1 support commit
- hyperv
- backlight
vram: add vram-mm debugfs file commit
12.2. Power Management
EFI Specific Purpose Memory Support. EFI 2.8 Specification introduces the EFI_MEMORY_SP ("specific purpose") memory attribute. This attribute bit replaces the deprecated ACPI HMAT "reservation hint" that was introduced in ACPI 6.2 and removed in ACPI 6.3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver commit
ACPI: button: Allow disabling LID support with the lid_init_state module option commit
ACPI: EC: add support for hardware-reduced systems. This enables the use of several media keys (e.g. screen brightness up/down) on Asus UX434DA commit
cpupower: Make cpupower more accurate by removing the userspace to kernel transitions and read_msr initiated IPI delays commit, commit, commit, commit
- thermal
12.3. Storage
ahci: Add support for Amazon's Annapurna Labs SATA controller commit
nvme: Add hardware monitoring support commit
nvme: hwmon: provide temperature min and max values for each sensor commit
nvmem: add Rockchip OTP driver commit
nvmem: sprd: Add Spreadtrum SoCs eFuse support commit
- SCSI
Add sysfs attributes for VPD pages 0h and 89h commit
hisi_sas: Add ability to have multiple debugfs dumps commit, add debugfs file structure for CQ commit, add debugfs file structure for DQ commit, add debugfs file structure for IOST commit, add debugfs file structure for IOST cache commit, add debugfs file structure for ITCT commit, add debugfs file structure for ITCT cache commit, add debugfs file structure for port commit, add debugfs file structure for registers commit, add module parameter for debugfs dump count commit, add timestamp for a debugfs dump commit, commit, record the phy down event in debugfs commit
lpfc: Add FA-WWN Async Event reporting commit
lpfc: Add FC-AL support to lpe32000 models commit
pm80xx: Controller fatal error through sysfs commit
qla2xxx: Dual FCP-NVMe target port support commit
storvsc: Add the support of hibernation commit
target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 commit
ufs-qcom: Add reset control support for host controller commit
ufs: Add driver for TI wrapper for Cadence UFS IP commit
zfcp: introduce sysfs interface for diagnostics of local SFP transceiver commit
zfcp: introduce sysfs interface to read the local B2B-Credit commit
zfcp: support retrieval of SFP Data via Exchange Port Data commit
sr_vendor: support Beurer GL50 evo CD-on-a-chip devices commit
12.4. Drivers in the Staging area
cedrus: h264: Support multi-slice frames commit, commit, commit, commit, commit, commit
fb_seps525: New driver for SEPS525 (Syncoam) LCD Controllers commit
hp100: Move 100BaseVG AnyLAN driver to staging commit
imx: enable V4L2_PIX_FMT_XBGR32, _BGRX32, and _RGBX32 commit
iio: adc: ad7192: Add system calibration support commit
most: remove sysfs attr remove_link commit
olpc_dcon: allow simultaneous XO-1 and XO-1.5 support commit
rtl8723bs: Add 024c:0525 to the list of SDIO device-ids commit
wfx: Add support for Silicon Labs WiFi chip WF200 and further commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 commit
12.5. Networking
- Bluetooth
- RDMA
aquantia: PTP support for AQC devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ath10k
- atlantic
- bcmgenet
bnx2x: Enable Multi-Cos feature commit
- bnxt_en
brcmfmac: add support for SAE authentication offload commit
- can
- cxgb4
- dpaa2-eth
- dsa
b53: Add support for MDB commit
bcm_sf2: Add support for optional reset controller line commit
mv88e6xxx: add generic support to DSA for devlink resources commit, commit, commit, commit, commit
mv88e6xxx: Allow config of ATU hash algorithm commit, commit
mv88e6xxx: Add support for port mirroring commit
ocelot: DSA driver for Vitesse Felix switch commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sja1105: Add support for port mirroring commit
sja1105: Implement state machine for TAS with PTP clock source commit
- e1000e
- enetc
stmmac: Add support for syscfg clock commit
fm10k: add support for ndo_get_vf_stats operation commit
forcedeth: add xmit_more support commit
- hns3
Add support for configuring VF MAC from the host commit
Add support for configuring bandwidth of VF on the host commit
Add support for setting VF link status on the host commit
Add support for setting VF trust commit
Add support for spoof check setting commit
Support tx-scatter-gather-fraglist feature commit
hv_netvsc: Add the support of hibernation commit
- i40e
- ice
Add support for setting the maximum per-queue bit rate for transmit queues commit
Add support for XDP commit, commit, commit, commit, commit, commit
Implement DCBNL support commit
Add support to query/add queues or channels on a VSI via ethtool operations commit
Add ethtool -m support for reading i2c eeprom modules commit
Implement VF stats NDO commit
- igb
- mac80211_hwsim
- ionic
- iwlwifi
debug: add error tables dumping support commit, add monitor dumping support commit, add periodic trigger new API support commit, add user trigger support commit, support domain changing via debugfs commit
Report tx/rx antennas commit
Add support for new version for D0I3_END_CMD commit
scan: enable adaptive dwell in p2p commit
Support scan req FW API ver 13 commit
Support scan req cmd ver 12 commit
ixgbe: Add UDP segmentation offload support commit
- mlx5
- mlxsw
microchip: Support LAN743x PTP periodic output on any GPIO commit
- mt76
mvneta: Add XDP support commit, commit, commit, commit, commit, commit, commit
octeontx2-af: Add debugfs support to dump various HW state machine info commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- phy
at803x: add ar9331 support commit
broadcom: add 1000Base-X support for BCM54616S commit
dp83867: support Wake on LAN commit
dp83869: Add TI dp83869 phy commit
marvell: add PHY tunable support for more PHY versions commit
marvell: add downshift support for 88E1145 commit
marvell: add downshift support for M88E1111 commit
marvell: support downshift as PHY tunable commit
qtnfmac: Add support for getting/setting transmit power commit
- r8152
r8169: add support for RTL8117 commit
- rtl8xxxu
- rtw88
Add software TX queue support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable 802.11ac beamformee support commit
Add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support commit
Enables PCI CLKREQ and ASPM for power save commit, commit, commit, commit
Add support for beamforming and power tracking. Power tracking can monitor the thermal value of the device and adjust corresponding power indexes, to make sure the RF output power is expected. And another thing is to add a debugfs for physical layer information commit, commit, commit, commit, commit
Add support for deep PS mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8822b: add RFE type 3 support commit
- sfc
- stmmac
12.6. Audio
aloop: Support sound timer as clock source instead of jiffies. This is required for forwarding audio data between a HW sound card and an aloop device without the usage of an asynchronous sample rate converter. The timer source can be initially selected by timer_source kernel module parameter commit, commit, commit, commit, commit, commit, commit
- hda
add Intel DSP configuration / probe code commit
Add DP-MST jack support commit
Add DP-MST support for non-acomp codecs commit
hda - Add DP-MST support for NVIDIA codecs commit
Add mute led support for HP ProBook 645 G4 commit
realtek: Enable the headset-mic on a Xiaomi's laptop commit
realtek: Enable internal speaker of ASUS UX431FLC commit
hdmi - Add new pci ids for AMD GPU display audio commit
hdmi - enable runtime pm for newer AMD display audio commit
hdmi - enable automatic runtime pm for AMD HDMI codecs by default commit
realtek - Enable the bass speaker of ASUS UX431FLC commit
realtek - Add headset Mic no shutup for ALC283 commit
realtek - Add Bass Speaker and fixed dac for bass speaker commit
- Sound Open Firmware
- ASoC
Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver commit
Intel: boards: Add CML m/c using RT1011 and RT5682 commit
adau1761: Add ALC controls commit
adau1761: Add PGA Slew time control commit
add tas2770 smart PA kernel driver commit
cros_ec_codec: support WoV commit
fsl_mqs: Add MQS component driver commit
mediatek: mt6358: support WoV commit
mediatek: mt8183: support WoV commit
msm8916-wcd-analog: Add earpiece commit
rockchip_max98090: Add HDMI jack support commit
rockchip_max98090: Optionally support HDMI use case commit
rt5677: Add a PCM device for streaming hotword via SPI commit
samsung: arndale: Add support for WM1811 CODEC commit
tas2562: Introduce the TAS2562 amplifier commit
wm8994: Add support for setting MCLK clock rate commit
usb-audio: Add skip_validation module parameter; unit descriptor validation may lead to a probe error when the device provides a buggy descriptor or the validator detected incorrectly commit
firewire-motu: add support for MOTU UltraLite commit
soundwire: cadence_master: add hw_reset capability in debugfs commit
12.7. Tablets, touch screens, keyboards, mouses
Add privacy screen toggle keycode commit
Add touchscreen platform data for the Schneider SCT101CTM tablet commit
keyboard: imx_sc: Add i.MX system controller key support commit
edt-ft5x06: add support for regulator commit
ili210x: add ILI2117 support commit
st1232: switch to using MT-B protocol commit
- HID
Add driver for Logitech gaming keyboards (G15, G15 v2) commit
Improve Windows Precision Touchpad detection commit
lg-g15: Add keyboard and LCD backlight control commit
lg-g15: Add support for the M1-M3 and MR LEDs commit
lg-g15: Add support for the G510 keyboards' gaming keys commit
lg-g15: Add support for the G510's M1-M3 and MR LEDs commit
lg-g15: Add support for controlling the G510's RGB backlight commit
hyperv: Add the support of hibernation commit
wacom: Recognize new MobileStudio Pro PID commit
multitouch: Add LG MELF0410 I2C touchscreen support commit
ite: Add USB id match for Acer SW5-012 keyboard dock commit
intel-ish-hid: ipc: Add Tiger Lake PCI device ID commit
serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx commit
serial: option: add support for Quectel RM500Q in QDL mode commit
serial: option: Add support for Quectel RM500Q commit
qmi_wwan: Add support for Quectel RM500Q commit
12.8. TV tuners, webcams, video capturers
Implement UNIT_CELL_SIZE, a control that represents the size of a cell (pixel) commit, commit, commit, commit, commit, commit, commit, commit
HEVC/H.265 stateless support for V4L2 and Cedrus commit, commit, commit, commit, commit
ad5820: Add support for ad5821 and ad5823 commit
af9035: add support for Logilink VG0022A commit
cx88: Add support for NotOnlyTV LV3H card commit
dvbsky: add support for eyeTV Geniatech T2 lite commit
em28xx: Add support for Magix Wideowandler 2 commit
hi556: Add support for Hi-556 sensor commit
i2c: Add IMX290 CMOS image sensor driver commit
ov5640: add PIXEL_RATE control commit
rc: Add support for another iMON 0xffdc device commit
rc: add keymap for Beelink GS1 remote control commit
rc: add keymap for Tronsmart Vega S95/S96 remote commit
rcar-csi2: Enable support for R8A774B1 commit
rcar-vin: Add support for V4L2_FIELD_ALTERNATE commit
rcar-vin: Add support for outputting NV12 commit
rcar-vin: Enable support for R8A774B1 commit
saa7164: use debugfs rather than procfs for debugging file commit
smiapp: Support probing NVM size commit
sun4i: Add H3 deinterlace driver commit
ti-vpe: Add support for NV21 format commit
ti-vpe: Add support for SEQ_BT commit
12.9. Universal Serial Bus
Extends kcov to allow collecting coverage from backgound kernel threads commit, commit, commit
usbfs: Suppress problematic bind and unbind uevents commit
cdns3: Add TI specific wrapper driver commit
dwc3: pci: add ID for the Intel Comet Lake -H variant commit
gadget: Add UDC driver for tegra XUSB device mode controller commit
gadget: udc: renesas_usb3: add suspend event support commit
host: xhci-tegra: Add Tegra194 XHCI support commit
serial: ftdi_sio: add device IDs for U-Blox C099-F9P commit
serial: mos7840: add USB ID to support Moxa UPort 2210 commit
serial: option: add support for DW5821e with eSIM support commit
serial: option: add support for Foxconn T77W968 LTE modules commit
serial: pl2303: add support for PL2303HXN commit
typec: driver for TI HD3SS3220 USB Type-C DRP port controller commit
usb-serial: cp201x: support Mark-10 digital force gauge commit
usb251xb: Add support for USB2422 commit
usb251xb: add vdd supply support commit
serial: option: add ZLP support for 0x1bc7/0x9010 commit
serial: option: add Telit ME910G1 0x110a composition commit
12.10. Serial Peripheral Interface (SPI)
dw-pci: Add runtime power management support commit
dw: Add basic runtime PM support commit
pxa2xx: Add support for Intel Comet Lake-H commit and Intel Jasper Lake commit
12.11. Watchdog
w83627hf_wdt: Support NCT6116D commit
12.12. Serial
sprd: Add polling IO support commit
lpuart: Add RS485 support for 32-bit uart flavour commit
8250: Make Aspeed VUART SIRQ polarity configurable commit
hvc: dcc: Add earlycon support commit
12.13. CPU Frequency scaling
ti-cpufreq: Add support for omap34xx and omap36xx commit
ti-cpufreq: Add support for AM3517 commit
- Add cpufreq and cci devfreq for mt8183, and SVS support
12.14. Device Voltage and Frequency Scaling
devfreq: Add dev_pm_qos notifiers to devfreq core in order to support frequency limits via dev_pm_qos_add_request commit, commit, commit, commit, commit, commit
tegra30: Support variable polling interval commit
12.15. Voltage, current regulators, power capping, power supply
power: reset: add driver for mt6323 poweroff commit
power: supply: axp20x_usb_power: enable USB BC detection on AXP813 commit
power: supply: cpcap-battery: Add basic coulomb counter calibrate support commit
test_power: Add CHARGE_COUNTER properties commit and CURRENT properties commit * regulator: ab8500: Remove AB8505 USB regulator commit
regulator: fan53555: add chip id for Silergy SYR83X commit
regulator: qcom-rpmh: add PM6150/PM6150L regulator support commit
regulator: qcom_smd: Add PM8950 regulators commit
regulator: qcom_spmi: Add PM8950 SPMI regulator commit
regulator: qcom_spmi: Add support for PM8004 regulators commit
12.16. Real Time Clock (RTC)
12.17. Pin Controllers (pinctrl)
Add pinmux & GPIO controller driver for Intel Lightning Mountain SoC commit
intel: Add Intel Tiger Lake pin controller support commit
meson: add pinctrl driver support for Meson-A1 SoC commit
qcom: Add a pinctrl driver for MSM8976 and 8956 commit
rockchip: add rk3308 SoC support commit
sh-pfc: r8a77965: Add R8A774B1 PFC support commit
sh-pfc: r8a7796: Add R8A77961 PFC support commit
12.18. Multi Media Card (MMC)
Add Actions Semi Owl SoCs SD/MMC driver commit
jz4740: Add 8bit mode support commit
jz4740: Add support for JZ4760 commit
jz4740: Add support for Low Power Mode (LPM) commit
jz4740: Add support for X1000 commit
sdhci-milbeaut: add Milbeaut SD controller driver commit
sdhci-of-arasan: Add Support for Intel LGM SDXC commit
sdhci-of-arasan: Add support for ZynqMP Platform Tap Delays Setup commit
sdhci-pci: Add support for Intel JSL commit
sdhci_am654: Add Support for Command Queuing Engine to J721E commit
12.19. Memory Technology Devices (MTD)
nand: brcmnand: Add support for flash-dma v0 commit
physmap_of: add a hook for Intel IXP4xx flash probing commit
rawnand: Add new Cadence NAND driver to MTD subsystem commit
spi-nor: Add support for is25wp256 commit
spi-nor: Add support for w25q256jw commit
spi-nor: add support for en25qh16 commit
spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash commit
spi-nor: intel-spi: add support for Intel Cannon Lake SPI flash commit
12.20. Industrial I/O (iio)
Ingenic JZ47xx: Add support for JZ4770 SoC ADC commit
adc: Add driver support for AD7292 commit
adc: New driver for the AB8500 GPADC commit
adc: intel_mrfld_adc: Add Basin Cove ADC driver commit
adc: max1027: Introduce 12-bit devices support commit
cros_ec: Add cros-ec-sensorhub driver commit
dac: ad5446: Add support for new AD5600 DAC commit
dac: stm32: add power management support commit
imu: Add support for the FXOS8700 IMU commit
imu: inv_mpu6050: add MPU925x magnetometer support commit
imu: inv_mpu6050: add fifo support for magnetometer data commit
imu: mpu6050: Add support for vdd-supply regulator commit
imu: st_lsm6dsx: add odr calibration feature commit
imu: st_lsm6dsx: add support to LSM6DS0 commit
imu: st_lsm6dsx: add support to LSM6DSRX commit
light: Add support for ADUX1020 sensor commit
light: add driver for veml6030 ambient light sensor commit
temperature: Add support for LTC2983 commit
12.21. Multi Function Devices (MFD)
db8500-prcmu: Support U8420-sysclk firmware commit
intel-lpss: Add Intel Comet Lake PCH-H PCI IDs commit
madera: Add support for requesting the supply clocks commit
qcom-spmi-pmic: Add support for PM/PMI8950 commit
12.22. Pulse-Width Modulation (PWM)
stm32: Add power management support commit
12.23. Inter-Integrated Circuit (I2C + I3C)
Aspeed: Add AST2600 compatible commit
Add support for filters optional properties commit
at91: add new platform support for sam9x60 commit
at91: add support for advanced digital filtering commit
at91: add support for analog filtering commit
at91: add support for digital filtering commit
i801: Add support for Intel Comet Lake PCH-H commit
i801: Add support for Intel Jasper Lake commit
12.24. Hardware monitoring (hwmon)
Add driver for Texas Instruments TMP512/513 sensor chips commit
Add support for ltc2947 commit
dell-smm: Add support for disabling automatic BIOS fan control commit, commit
ina3221: Add summation feature support commit
pmbus: add driver for BEL PFE1100 and PFE3000 commit
12.25. General Purpose I/O (gpio)
tegra186: Implement wake event support commit
tegra186: Add debounce support commit
Add xgs-iproc driver commit
12.26. Leds
Add LED driver for EL15203000 board commit
12.27. DMA engines
JZ4780: Add support for the X1000 commit
fsl-dpaa2-qdma: Add NXP dpaa2 qDMA controller driver for Layerscape SoCs commit
fsl-dpaa2-qdma: Add the DPDMAI(Data Path DMA Interface) support commit
milbeaut-hdmac: Add HDMAC driver for Milbeaut platforms commit
milbeaut-xdmac: Add XDMAC driver for Milbeaut platforms commit
xilinx_dma: Add Xilinx AXI MCDMA Engine driver support commit
12.28. Hardware Random Number Generator (hwrng)
atmel: add new platform support for sam9x60 commit
hisi: add HiSilicon TRNG driver support commit
npcm: add NPCM RNG driver commit
12.29. Cryptography hardware acceleration
- inside-secure
Adds support for the (AES) CBCMAC family of authentication algorithms: AES-CBCMAC, AES-XCBCMAC and AES-MAC commit, commit, commit
Add support for the Chacha20 skcipher and the Chacha20-Poly1305 AEAD suites commit, commit, commit
Add support to sm3 and hmac(sm3) ahash support commit, commit, commit
Add support to ecb(sm4), cbc(sm4), ofb(sm4), cfb(sm4) and rfc3686(ctr(sm4)) skcipher algorithms commit, commit, commit, commit, commit, commit, commit
Add support for the rfc4106(gcm(aes)), rfc4543(gcm(aes)) and rfc4309(ccm(aes)) ciphersuites intended for IPsec ESP acceleration commit, commit, commit
Add SM4 based authenc AEAD ciphersuites commit
Add support for the EIP196 commit
Added support for CRC32 commit
Add support for the eip197f_iewc configuration that is currently being taped-out by a customer. It adds support for the 256 bit internal buswidth used by larger EIP197's as well as support for having less ring interrupt controllers than rings commit, commit
allwinner: Add sun8i-ce Crypto Engine commit
amlogic: Add crypto accelerator for amlogic GXL commit
ccp: add SEV command privilege separation commit
- hisilicon
12.30. PCI
AER: Add PoisonTLPBlocked to Uncorrectable error counters commit
ASPM: Add sysfs attributes for controlling ASPM link states commit, commit
DPC: Add pcie_ports=dpc-native to allow DPC without AER control commit
Add pci=hpmmiosize and pci=hpmmioprefsize parameters commit
amlogic: meson: Add support for G12A commit
rpaphp: Add drc-info support for hotplug slot registration commit
vmd: Add device id for VMD device 8086:9A0B commit
12.31. Non-Transparent Bridge (NTB)
Add Hygon Device ID commit
12.32. Thunderbolt
Add Thunderbolt 3 support for the software connection manager. It is currently only used in Apple systems. Previously the driver started the firmware connection manager on those but it is not necessary anymore in this release (we still leave user an option to start the firmware in case there are problems with the software connection manager). This includes: Expose 'generation' attribute under each device in sysfs, lane bonding support, expose link speed and width in sysfs, display Port handshake needed for Titan Ridge devices, display Port pairing and resource management, and display Port bandwidth management commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.33. FRU Support Interface (FSI)
12.34. Clock
Add common clock driver for BM1880 SoC commit
Ingenic: Add CGU driver for X1000 commit
meson: axg_audio: add sm1 support commit
qcom: Add Global Clock controller (GCC) driver for SC7180 commit
qcom: Add MSM8998 GPU Clock Controller (GPUCC) driver commit
qcom: Add Q6SSTOP clock controller for QCS404 commit
qcom: clk-rpmh: Add support for RPMHCC for SC7180 commit
renesas: cpg-mssr: Add r8a774b1 support commit
renesas: r8a7796: Add R8A77961 CPG/MSSR support commit
tegra: Add Tegra20/30 EMC clock implementation commit
12.35. PHY ("physical layer" framework)
phy/rockchip: Add support for Innosilicon MIPI/LVDS/TTL PHY commit
Add USB2 PHY driver for Marvell MMP3 SoC commit
allwinner: add phy driver for USB3 PHY on Allwinner H6 SoC commit
qcom-qmp: Add SM8150 QMP UFS PHY support commit
tegra: xusb: Add XUSB dual mode support on Tegra210 commit
tegra: xusb: Add usb3 port fake support on Tegra210 commit
tegra: xusb: Add vbus override support on Tegra186 commit and Tegra210 commit
12.36. Various
counter: new TI eQEP driver commit
firmware: broadcom: add OP-TEE based BNXT f/w manager commit
firmware: qcom: scm: add OCMEM lock/unlock interface commit
firmware: qcom: scm: add support to restore secure config to qcm_scm-32 commit
firmware: xilinx: Add support for versal soc commit
fpga: dfl: fme: add power management support commit
fpga: dfl: fme: add thermal management support commit
habanalabs: Add a new H/W queue type commit
habanalabs: add opcode to INFO IOCTL to return clock rate commit
habanalabs: export uapi defines to user-space commit
habanalabs: expose card name in INFO IOCTL commit
interconnect: qcom: add msm8974 driver commit
iommu/ioasid: Add custom allocators commit
iommu: Add I/O ASID allocator commit
iommu: Introduce guest PASID bind function commit
iommu: arm-smmu-impl: Add sdm845 implementation hook commit
irqchip: Add support for Layerscape external interrupt lines commit
mailbox: imx: add support for imx v1 mu commit
mei: add trc detection register to sysfs commit
mei: bus: add more client attributes to sysfs commit
mei: me: add comet point V device id commit
memory: Add DMC driver for Exynos5422 commit
memory: Extend of_memory with LPDDR3 support commit
memory: tegra: Introduce Tegra30 EMC driver commit
misc: fastrpc: add mmap/unmap support commit
misc: rtsx: Add support for RTS5261 commit
nfc: pn533: Add autopoll capability commit
nfc: pn533: add UART phy driver commit
powercap/intel_rapl: add support for CometLake Mobile commit
powercap/intel_rapl: add support for Cometlake desktop commit
ptp: Add a ptp clock driver for IDT ClockMatrix commit
remoteproc: qcom_q6v5_mss: Add support for MSM8998 commit
reset: add support for the Meson-A1 SoC Reset Controller commit
reset: meson-audio-arb: add sm1 support commit
reset: uniphier-glue: Add Pro5 USB3 support commit
serdev: Add ACPI devices by ResourceSource field commit
soc/tegra: fuse: Implement nvmem device commit
soc/tegra: pmc: Add wake event support on Tegra210 commit
soc/tegra: pmc: Configure core power request polarity commit
soc/tegra: pmc: Configure deep sleep control settings commit
soc/tegra: pmc: Support wake events on more Tegra SoCs commit
soc/tegra: regulators: Add regulators coupler for Tegra20 commit
soc/tegra: regulators: Add regulators coupler for Tegra30 commit
soc: at91: Add Atmel SFR SN (Serial Number) support commit
soc: fsl: add RCPM driver commit
soc: qcom: add OCMEM driver commit
soc: qcom: socinfo: add sdm845 and sda845 soc ids commit
soc: renesas: Identify RZ/G2N commit
soc: renesas: rcar-rst: Add support for RZ/G2N commit
soc: renesas: rcar-sysc: Add R8A77961 support commit
soc: renesas: rcar-sysc: Add r8a774b1 support commit
soc: samsung: Add Exynos Adaptive Supply Voltage driver commit
soc: ti: add initial PRM driver with reset control support commit
w1: new driver. DS2430 chip commit
13. List of Pull Requests
14. Other news sites
Phoronix Linux 5.5 Feature Overview
Heise.de (german) kernel-log: Linux 5.5 freigegeben: Wireguard-Fundament und Performance-Verbesserungen