29452
Comment: 2.6.14 - add async connector mode
|
1055
Linux 5.12 released
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Another good places to get more information about the linux kernel are [http://www.kernel-traffic.org Kernel traffic] and [http://www.lwn.net LWN] and their [http://lwn.net/Kernel/ "kernel status" articles], [http://lwn.net/Articles/driver-porting/ driver porting guide] - many of the links here are linking to LWN articles and we wouldn't have been able to restore the 2.5.x-2.6.x changelog without them (you may be insterested in subscribing so Jonathan can keep up the good work ;) ) Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, 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]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. 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: |
===== 2.6.14 ===== * '''STILL NOT RELEASED!!''' * Add /proc/<pid>/smaps: how much memory is resident in each mapping [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Numa-aware slab allocator [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork(): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support (useless) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as it's backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)] * Async connector mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)} * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * PPTP protocol support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * [http://fuse.sourceforge.net/ FUSE]: FUSE allows to implement a fully functional filesystem in a userspace program * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the famous [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * ipw2100 and ipw2200 wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * [http://lwn.net/Articles/149756/ DCCP]: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: "Basically relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 25: | Line 7: |
===== 2.6.13 ===== * Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog] * 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]: With support for I/O priorities * Voluntary preemption patches * Removal of the devfs configuration option ===== 2.6.12 ===== * Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog] * [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 * Hot-pluggable parallel ports * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) ===== 2.6.11 ===== * Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog] * [http://lwn.net/Articles/117749/ Conversion to 4-level page tables] * [http://lwn.net/Articles/112531/ Infiniband support] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases * Fujitsu FR-V CPU arch implementation * SATA support for Intel ICH7 * [http://lwn.net/Articles/115405/ DebugFS] * [http://lwn.net/Articles/118750/ New Pipe implementation] * [http://lwn.net/Articles/102253/ "Big Kernel Sempahore"] ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * [http://lwn.net/Articles/109505 Reworking of spin lock initialization] * Big Kernel Lock preemption * IRQ subsystem code rework * Removal of the "BIO walking" helper functions * [http://lwn.net/Articles/107314/ generic circular buffer type] * Ext3 [http://lwn.net/Articles/81357/ block reservation] and [http://lwn.net/Articles/89560/ online resizing patches] * [http://lwn.net/Articles/69523/ sysfs backing store] * [http://lwn.net/Articles/103183/ I/O space write barriers] * [http://lwn.net/Articles/102976/ Modular, on-the-fly switchable I/O schedulers] * BSD secure levels module * kernel events notification mechanism * In-kernel cryptographic key management * DVD+RW and CDRW packet writing support ===== 2.6.9 ===== * Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog] * [http://lwn.net/Articles/96621 Token-based thrashing control] * Support of block I/O barrier * m32r architecture support * Allow unprivileged processes to lock small amounts of memory in RAM * Tunable "max sectors" limit for block I/O requests (can help latency reduction) * New prctl() option allowing programs to change their name (PR_GET_NAME) * AMD dual-core support * [http://lwn.net/Articles/97537/ Out-of-line spinlocks] * Support for POSIX's waitid() * Shared memory scalability improvements * [http://lwn.net/Articles/91829/ "flex mmap" user-space memory layout] * Change in TCP ICMP source quench behavior * [http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support] * New USB storage driver * Support for more than eight partitions on BSD-labeled disks * Ethtool support in the loopback driver * [http://lwn.net/Articles/101215/ NETIF_F_LLTX interface] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * more filesystem conversions to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) * "fake NUMA" mode for x86-64 testing * Small-footprint tmpfs implementation * Support for scheduler profiling (seeing where context switches come from) * Automatic TCP window scaling calculation * Removal of the Philips webcam driver * Some VFS interface improvements * Executable support in hugetlb mappings * The Whirlpool digest algorithm * Removal of the very last suser() call ===== 2.6.8 ===== * Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog] * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) * x86 no-execute support, asynchronous I/O support for USB gadgets * [http://lwn.net/Articles/91959/ reworked symbolic link lookup implementation] * New "CPU mask" implementation * RCU performance improvements * Support for new Apple Powerbooks * New wait_event_interruptible_exclusive() macro * Support for the O_NOATIME flag in the open() call * Sysfs knobs for tuning the CFQ I/O scheduler * Mirroring and snapshot targets for the device mapper * Reiserfs data=journal support * Preemptible kernel support for the PPC64 architecture * "Khazad" crypto algorithm * [http://lwn.net/Articles/98379/ Added permissions checking on raw SCSI commands from user space] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability * Support for the O_NOATIME flag in the open() call * Removal of the (non-functional) "fastroute" networking option * TEA and XTEA crypto algorithms ===== 2.6.7 ===== * Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]: * [http://lwn.net/Articles/80911/ Scheduling Domains] * [http://lwn.net/Articles/83633/ Filtered Wakeups] * Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now) * msleep() function for millisecond-scale waits * [http://lwn.net/Articles/84836/ del_singleshot_timer()]: Deleting timers quickly * shrink "dentry" structure * Removal of the Intermezzo filesystem (lack of mainteinance) * Support for quotas and external attributes in reiserfs * Removal of IDE tagged command queueing support (never worked well) * new API for NUMA systems ===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * [http://lwn.net/Articles/80472/ full object-based reverse-mapping scheme and removal of the per-page PTE chains] * Network packet timestamping optimization * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] * Message queues for the x86_64 and s390 architectures * fsync() and fdatasync() speed improvements to ext2/3 * [http://lwn.net/Articles/77190/ addition of the fcntl() method to the file_operations structure] * [http://lwn.net/Articles/65437/ "Laptop Mode"] * 4KB kernel stacks option for the i386 architecture * Non-executable stack support for several architectures * Reiserfs updates: data=ordered support, space preallocation, laptop mode support * IPv6 support in SELinux * [http://lwn.net/Articles/79326/ The lightweight auditing framework] * A mechanism which allows block drivers to respond to queries about the congestion state of their queues * [http://lwn.net/Articles/75233/ "per-device unplugging patch"] * CFQ scheduler * External module support * Generic snapshot support code for filesystems (taken from XFS) ===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * [http://lwn.net/Articles/75944 Netpoll infrastructure] * [http://lwn.net/Articles/75920 New "kref" reference counting mechanism] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] * HFS rewrite * Support for the Intel "ia32e" arch * UTF-8 tty mode * Dynamic PTY allocation (up to a million PTY devices) * Sysfs support for SCSI tapes and bluetooth devices * [ARC4 crypto module Support for large numbers of groups] * [http://lwn.net/Articles/65178/ Generic kernel thread infrastructure] * Groundwork for the hotplug CPU code * ARC4 crypto module ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] * Removal of the USB scanner code: moved support to userspace (libusb) * [http://lwn.net/Articles/69402/ New DMA pool abstraction] * "context mount" support for SELinux ===== 2.6.2 ===== * Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog] * New Qlogic SCSI driver ===== 2.6.1 ===== * Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog] * [http://lwn.net/Articles/44135/ Message Signaled Interrupt support] * Extensible Firmware Interface (EFI) support. ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] ===== pre-2.6 development ===== 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] * Direct I/O support for reiserfs 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 released July 10, 2003: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] * "kblockd" kernel threads * "nointegrity" JFS mount option 2.5.74 released July 2, 2003: 2.5.73 released June 22, 2003: 2.5.72 released June 17, 2003: 2.5.71 released June 14, 2003: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile] 2.5.70 released May 27, 2003: * [http://www.linux-usb.org/gadget USB gadget support] 2.5.69 released May 5, 2003: * [http://lwn.net/Articles/29555/ New interrupt handling API] * Runtime barrier instruction patching: Allows optimal performance on different processors without the need to ship multiple kernels 2.5.68 released April 20, 2003: * Merging s390 and s390x into a single architecture * Generation of hotplug events from kobject registration 2.5.67 released April 7, 2003: 2.5.66 released March 24, 2003: 2.5.65 released March 17, 2003: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] 2.5.64 released March 5, 2003: 2.5.63 released February 24, 2003: * [http://high-res-timers.sourceforge.net/ POSIX timers] 2.5.62 released February 17, 2003: * [http://lse.sourceforge.net/locking/dcache/dcache_lock.html Avoid dcache_lock while path walking] 2.5.61 released February 15, 2003: 2.5.60 released February 10, 2003: * New modversions implementation * 64-bit jiffies 2.5.59 released Janury 17, 2003: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] 2.5.58 released January 14, 2003: 2.5.57 released January 13, 2003: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] 2.5.56 released January 10, 2003: 2.5.55 released January 9, 2003: 2.5.54 released January 2, 2003: * [http://secure.netroedge.com/~lm78/ Add lm-sensors drivers for hardware health monitoring] * Support for AGP 3.0 2.5.53 released December 24, 2002: * SYSENTER/SYSEXIT support: Systems that support the SYSENTER extension (Basically Intel Pentium-II and above, and AMD Athlons) now have a faster method of making the transition from userspace to kernelspace when a syscall is performed. Pentium Pro also has SYSENTER, but due to errata, is unusable. Need an updated glibc to use it. 2.5.52 released December 16, 2002: 2.5.51 released December 10, 2002: * [http://linuxconsole.sourceforge.net/ Rewrite of the console layer] * Compatibility syscall layer 2.5.50 released November 27, 2002: 2.5.49 released November 22, 2002: 2.5.48 released November 18, 2002: * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/6214.html In-kernel module loader] 2.5.47 released November 11, 2002: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html Zerocopy NFS] 2.5.46 released November 4, 2002: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll], [http://lwn.net/Articles/14168/ LWN article] * 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 released October 31, 2002: * [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 released October 19, 2002: * New sysfs filesystem (formerly known as driverfs) [http://lwn.net/Articles/36850/ (LWN article)] * Plug'N Play Layer Rewrite * [http://lwn.net/Articles/9042/ x86 BIOS Enhanced Disk Device (EDD) polling] 2.5.43 released October 16, 2002: * [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 released October 12, 2002: * [http://www.citi.umich.edu/projects/nfsv4/ NFS v4] support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4aebf5c40f30cc754927f4f3d20dffa9c7162814 (commit)], [http://marc.theaimsgroup.com/?l=linux-kernel&m=102927937802523&w=2 (announcement)] * [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/IA64wiki/LargeBlockDevices Remove the 2TB block device limit]: Block devices can now access up to 16TB on 32-bit architectures, and up to 8EB on 64-bit architectures. statfs64() syscall added: statfs() couldn't handle it. * Improved i2o (Intelligent Input/Ouput) layer 2.5.41 released October 7, 2002: * NFS direct I/O [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fef2661181855f2d70c0b4c36f76ae6db15a2b93 (commit)] 2.5.40 released October 1, 2002: * [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 released September 27, 2002: * New IO scheduler ("deadline") 2.5.38 released September 22, 2002: 2.5.37 released September 20, 2002: * [http://users.pandora.be/bart.de.schuymer/ebtables/ Ethernet bridge tables support] * Remove the global tasklist 2.5.36 released September 18, 2002: * Hugepage support * [http://oss.sgi.com/projects/xfs/ XFS filesystem from SGI] 2.5.35 released September 16, 2002: * Serial ATA support * [http://user-mode-linux.sourceforge.net/index.html Add User-Mode Linux (UML)] 2.5.34 released September 9, 2002: * POSIX threading support for signals * [http://lse.sourceforge.net/numa discontigmem support (ia32)] 2.5.33 released August 31, 2002: * TCP segmentation offload * [http://www.sf.net/projects/lksctp SCTP (Stream Control Transmission Protocol)] 2.5.32 released August 27, 2002: * [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 released August 11, 2002: * Support insane number of processes * Disk description cleanups * Remove incomplete SPX network stack 2.5.30 released August 1, 2002: * Remove khttpd 2.5.29 released July 27, 2002: * 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 released July 24, 2002: * Remove the "Big IRQ lock" * Serial driver restructure 2.5.27 released July 20, 2002: * [http://surriel.com/patches/ New VM with reverse mappings] 2.5.26 releasaed July 16, 2002: * Direct pagecache <-> BIO disk I/O 2.5.25 releaseed July 5, 2002: * [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 released June 20, 2002: 2.5.23 released June 19, 2002: * [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 released June 17, 2002: 2.5.21 released June 9, 2002: 2.5.20 released June 3, 2002: 2.5.19 released May 29, 2002: 2.5.18 released May 25, 2002: * [http://falcon.sch.bme.hu/~seasons/linux/swsusp.html Software suspend (to disk & RAM)] * ->getattr() ->setattr() ->permission() changes 2.5.17 released May 21, 2002: * 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 released May 18, 2002: 2.5.15 released May 9, 2002: 2.5.14 released May 6, 2002: * 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 released May 3, 2002: 2.5.12 released May 1, 2002: * Rewrite of the buffer layer 2.5.11 released April 29, 2002: * 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 released April 24, 2002: 2.5.9 released April 22, 2002: * Smarter IRQ balancing 2.5.8 released April 14, 2002: * [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 released March 18, 2002: * [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 released March 8, 2002: * Unicode and large file support for smbfs * [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 released February 20, 2002: * [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 released February 11, 2002: * [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 released January 30, 2002: * [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 released January 15, 2002: * [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 December 17, 2001: * VFS changes: Now it is possible to atomically move a subtree to another place, "mount --move olddir newdir" * Rewrite of the block IO (bio) layer Rules: * Name of the new feature/description of the change, including a small explanation if possible * If its a feature and the feature has some web page add a link to it * If there's a paper (OLS!) or an article add a link to it. Or write one ;) * If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives and add the link here * Add commit's link if possible (search them [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=log here)]. PLEASE, for commits add a "(commit)" word and add the link there, ie: "google search engine added [http://www.google.com (commit)]". Don't add the commit link to another word (please) TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_5.12)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. 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.12 has been released on Sun, 25 Apr 2021.
Summary: This release allows to map an UID to a different one in a mount; it also adds support for selecting the preemption model at runtime; support for a low-overhead memory error detector designed to be used in production; support for the ACRN hypervisor designed for embedded systems; Btrfs initial support for zoned devices, subpage blocks sizes and performance improvements; support for eager NFS writes; support for a Thermal Power Management to control the surface temperature of embedded devices in an unified way; the NAPI polling can be moved to a kernel thread; and support for non-blocking path lookups. As always, there are many other features, new drivers, improvements and fixes.
Also see the LWN release
Contents
-
Prominent features
- ID mapping in mounts
- Allow selecting preempting model at boot and run time
- KFENCE memory error detector
- Support for the ACRN hypervisor
- Btrfs initial support for zoned devices and subpage block size
- Eager NFS writes
- Non-blocking path lookup while opening a file
- Kernel thread-based NAPI polling
- Dynamic Thermal Power Management
- 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
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- CXL (Compute Express Link)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. ID mapping in mounts
This release adds a new system call, mount_setattr(2), which allows to map the permission IDs of one mount to a completely different one. Simply put, different mounts can expose the same file or directory with different ownership. This solves a wide range of use cases that weren't possible before:
- Allow users to efficiently changing ownership on a per-mount basis without having to (recursively) chown(2) all files. In contrast to chown (2) changing ownership of large sets of files is instantenous with idmapped mounts. This is especially useful when ownership of a whole root filesystem of a virtual machine or container is changed. With idmapped mounts a single syscall mount_setattr(2) syscall will be sufficient to change the ownership of all files.
- It is now possible to share files from the host with unprivileged containers without having to change ownership permanently through chown(2).
- It is possible to idmap a container's rootfs and without having to mangle every file. For example, Chromebooks use it to share the user's Download folder with their unprivileged containers in their Linux subsystem.
- It is possible to share files between containers with non-overlapping idmapping
- It is possible to easily share files between multiple users or multiple machines especially in complex scenarios. For example, idmapped mounts will be used in the implementation of portable home directories in systemd-homed.service(8) where they allow users to move their home directory to an external storage device and use it on multiple computers where they are assigned different uids and gids. This effectively makes it possible to assign random uids and gids at login time.
- Filesystem that lack a proper concept of ownership such as fat can use idmapped mounts to implement discretionary access (DAC) permission checking.
- Idmapped mounts always take the current ownership into account as idmappings specify what a given uid or gid is supposed to be mapped to. This contrasts with the chown(2) syscall which cannot by itself take the current ownership of the files it changes into account.
Recommended LWN article: ID mapping for mounted filesystems
1.2. Allow selecting preempting model at boot and run time
Linux supports different preemption models. Currently, using one preempt model (none/voluntary/model) is a build-time configuration option. This release adds the preempt=none/voluntary/full boot options (default: full), to allow distributions to build a PREEMPT kernel but fall back to close to PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via a boot-time selection. There's also the /debug/sched_debug switch to do this runtime. This feature is implemented via runtime patching (a new variant of static calls).
1.3. KFENCE memory error detector
Kernel Electric-Fence (KFENCE) is a new low-overhead sampling-based memory safety error detector. It detects heap out-of-bounds access, use-after-free, and invalid-free errors.
Linux already has a memory error detector, KASAN. KFENCE is not as thorough as KASAN, but unlike KASAN it has near zero performance overhead - it trades performance for precision. Because of the low overhead, it is designed to be enabled and used in production kernels.
Documentation: Kernel Electric-Fence (KFENCE)
1.4. Support for the ACRN hypervisor
This release adds support for the ACRN hypervisor. ACRN is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. It implements a hybrid VMM architecture, using a privileged Service VM. The Service VM manages the system resources (CPU, memory, etc.) and I/O devices of User VMs. Multiple User VMs are supported, with each of them running Linux, Android OS or Windows. Both Service VM and User VMs are guest VM.
Documentation: ACRN documentation
1.5. Btrfs initial support for zoned devices and subpage block size
This release adds initial support for Btrfs in zoned devices, which are storage devices divided in zones that can only be written sequentially.
This release also adds support for block sizes smaller than the size of a memory page, which is a requirement sharing file systems between machines with different page sizes.
There are also several many performance improvements.
Recommended LWN article: Btrfs on zoned block devices
1.6. Eager NFS writes
This release adds support for eager writes: When enabled, writes will be sent immediately to the server, instead of letting the kernel send asynchronously in the background. This can help in some cases, like for example ensuring that a NFS client sees ENOSPC errors immediately.
A set of mount options for NFS file systems is added to control how write() system calls react. writes=lazy is the default, and keeps the current behaviour. writes=eager means we send off the write immediately as an unstable write to the server. writes=wait means we send off the write as an unstable write, and then wait for the reply.
1.7. Non-blocking path lookup while opening a file
This release supports path name lookups that will not block under any circumstance. This means that the kernel will try to resolve the path with the cached data, but if it needs to do I/O, it will return an error. This is needed for io_uring(), but support in openat2() with the RESOLVE_CACHED flag has been added, too.
Recommended LWN article: Avoiding blocking file-name lookups
1.8. Kernel thread-based NAPI polling
NAPI is a networking feature that polls the network device instead of waiting for IRQs, because it benefits performance in high-throughput loads. That polling, however, runs in softirq context, where the task scheduler can't see it, and it makes hard to tune the system for maximum performance.
In this release, the polling can be configured to be done by a kernel thread. These kernel threads are managed by the task scheduler, which can make better scheduling decisions, and because they are visible by userspace administrators can pin a kernel threads to specific CPUs.
Recommended LWN article: NAPI polling in kernel threads
1.9. Dynamic Thermal Power Management
The density of components greatly increased the last decade bringing a numerous number of heating sources which are monitored by more than 20 sensors on recent SoC. The skin temperature, which is the case temperature of the device, must stay below approximately 45°C in order to comply with the legal requirements.
The skin temperature is managed as a whole by an user space daemon, which is catching the current application profile, to allocate a power budget to the different components where the resulting heating effect will comply with the skin temperature constraint. This technique is called the Dynamic Thermal Power Management.
This series provides a Dynamic Thermal Power Management framework to provide an unified way to act on the power of the devices.
Documentation: Dynamic Thermal Power Management framework
2. Core (various)
(FEATURED) idmapped mounts 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) openat(): Support non-blocking open with LOOKUP_CACHED / RESOLVE_CACHED flags commit, commit, commit, commit
(FEATURED) Allow selecting preemption flavour on boot commit, commit, commit, commit, commit, commit, commit
Enable fw_devlink=on by default (create device links between consumer and supplier devices by scanning the firmware to infer the consumer/supplier relationships). It cuts down deferred probes commit, commit, commit, commit, commit, commit, commit
fs-verity: Add an ioctl FS_IOC_READ_VERITY_METADATA which allows reading verity metadata from a file that has fs-verity enabled, including the merkle tree, the fsverity_descriptor, and the built-in signature. This is useful when a file with fs-verity enabled needs to be served somewhere, and the other end wants to do its own fs-verity compatible verification of the file. There is interest in using this ability in Android to export APK files (which are protected by fs-verity) to "protected VMs" commit, commit, commit, commit, commit, commit
- io_uring
Request recycling and task_work optimizations, which net anywhere from 10-20% of speedups on workloads that mostly are inline commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable non-blocking path resolution for filename lookups commit
Support for skip entries in file registration commit
Flag new native workers with IORING_FEAT_NATIVE_WORKERS commit
Converts the io-wq workers to be forked off the tasks in question instead of being kernel threads that assume various bits of the original task identity merge
- Locking
- Task scheduler
vt: drop old FONT ioctls commit
- Build
Add support for LTO in Clang 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
kunit: support running subsets of test suites from kunit.py commit, commit, commit
Make the kcmp syscall available independently of checkpoint/restore. commit
Add support for never printing hashed addresses commit, commit, commit
3. File systems
- Btrfs
(FEATURED) Support subpage block size (currently read-only support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Zoned mode, first working version but with limitations 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
Do not block on deleted block group mutex in the cleaner, avoids some long stalls. Also less lock contention related to running delayed refs, let just one thread do the flushing when there are many inside transaction commit commit, commit, commit, commit, commit, commit, commit, commit
Improve Preemptive background flushing: separate the logic from ticket reservations, improve the accounting and decisions when to flush in low space conditions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dbench workload improvements: avoid unnecessary work when logging inodes, fewer fallbacks to transaction commit and thus less waiting for it (+7% throughput, -20% latency) commit, commit, commit, commit, commit, commit, commit
- XFS
Speed up file fsyncs by reducing iolock cycling commit, commit
Increase the default parallelism levels of pwork clients. On fast systems this will speed up quotacheck by a large factor commit
Allow sysadmins to tweak the CPU affinities and maximum concurrency levels of quotacheck and background blockgc worker pools commit
Expose inobtcount in xfs geometry commit
- F2FS
- NFS
(FEATURED) Add mount options supporting eager writes writes=lazy/eager/wait. The mount option basically controls how the write() system call works. writes=lazy is the default, and keeps the current behaviour. writes=eager means we send off the write immediately as an unstable write to the server. writes=wait means we send off the write as an unstable write, and then wait for the reply commit, commit, commit
Support the -owrite option in /proc/self/mounts and mountinfo commit
Report per-export stats commit
Remove unused stats counters commit
- CIFS
- GFS2
- exFAT
Improve performance of exfat_free_cluster when using dirsync mount option commit
- RAMFS:
Support O_TMPFILE commit
- Ceph
Remove osdtimeout option entirely commit
4. Memory management
(FEATURED) Add KFENCE: A low-overhead sampling-based memory safety error detector commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
inotify: account inotify instances to kmemcg commit
- KASAN
Make the HW_TAGS mode more efficient. With this change, the overhead of HW_TAGS annotations excluding setting and checking memory tags is ~3%. As a side-effect, this patchset speeds up generic KASAN by ~15% commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
stackdepot: Add support to configure STACK_HASH_SIZE commit, commit
Overhaul multi-page lookups for future THP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Count CMA pages per zone and print them in /proc/zoneinfo commit
memcg: add swapcache stat for memcg v2 commit
dma-buf: Add debug option commit
5. Block layer
block/keyslot-manager: Introduce passthrough keyslot manager commit
block/keyslot-manager: Introduce functions for device mapper support commit
blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues commit
block, bfq: replace mechanism for evaluating I/O intensity commit
block: introduce zone_write_granularity limit commit
block: Add n64 cart driver commit
virtio-blk: support per-device queue depth commit
block: remove skd driver commit
dm integrity: introduce the "fix_hmac" argument commit
dm crypt: support using trusted keys commit
dm: add support for passing through inline crypto support commit
dm: support key eviction from keyslot managers of underlying devices commit
dm: set DM_TARGET_PASSES_CRYPTO feature for some targets commit
6. Tracing, perf and BPF
- BPF
Add atomic operations to the eBPF instruction set commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New approach for BPF MTU handling commit, commit, commit, commit, commit, commit, commit
Misc improvements commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow the BPF ringbuffer to be used in sleepable programs (tracing and lsm) commit, commit
Allow rewriting to ports under ip_unprivileged_port_start commit
Allow to retrieve sol_socket opts from sock_addr progs commit
Allow variable-offset stack access commit, commit, commit, commit
Expose bpf_{g,s}etsockopt to more bpf_sock_addr hooks commit, commit, commit, commit
Expose bpf_get_socket_cookie to tracing programs commit
Misc performance improvements for cgroup hooks commit, commit, commit
Support kernel module ksym variables commit, commit, commit, commit, commit, commit, commit
Add support of pointer to struct in global functions commit, commit, commit, commit
- Perf
New 'perf daemon' command to run long running sessions while providing a way to control the enablement of events without restarting a traditional 'perf record' session commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf auxtrace: Automatically group aux-output events commit
perf build: Support build BPF skeletons with perf commit
perf buildid-cache: Add --debuginfod option to specify a server to fetch debug files commit
Add the page size in the perf record (user tools) commit, commit, commit, commit, commit, commit
perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id commit
perf script: Support DSO filter like in other perf tools commit
perf script: Support filtering by hex address commit
perf stat: Add Topdown metrics events as default events commit
perf tools: Allow to enable/disable events via control pipe commit, commit, commit, commit
perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events commit
tracing: Add the latency-collector to tools directory. It is intended to work around the fact that the preemptoff, irqsoff, and preemptirqsoff tracers only work in overwrite mode. The idea is to act randomly in such a way that we do not systematically lose any latencies, so that if enough testing is done, all latencies will be captured. If the same burst of latencies is repeated, then sooner or later we will have captured all the latencies commit
Remove oprofile and dcookies commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
7. Virtualization
KVM: Allow parallel MMU operations with TDP MMU commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- UM
Introduce vdpa management tool commit, commit, commit, commit, commit, commit
virtio-input: add multi-touch support commit
(FEATURED) HSM driver for ACRN hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xen: add per-xenbus device event statistics and settings commit
hv: vmbus: Add /sys/bus/vmbus/hibernation commit
8. Cryptography
blake2b: sync with blake2s implementation commit
rmd128: remove RIPE-MD 128 hash algorithm commit
rmd256: remove RIPE-MD 256 hash algorithm commit
rmd320: remove RIPE-MD 320 hash algorithm commit
salsa20: remove Salsa20 stream cipher algorithm commit
tgr192: remove Tiger 128/160/192 hash algorithms commit
9. Security
10. Networking
(FEATURED) Implement kthread based napi poll, moving the napi poll process out of softirq context commit, commit, commit
- IP
Add support for route offload failure notifications via a new flag (RTM_F_OFFLOAD_FAILED) in the RTM_NEWROUTE message. Upon such a notification a routing daemon may decide to withdraw the route from the FIB commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: Allow user to set metric on default route learned via Router Advertisement commit
UDP: allow forwarding of plain (non-fraglisted) UDP GRO packets commit, commit
- TCP
- Multi-path TCP
Add genl events for connection info commit, commit, commit, commit, commit, commit, commit
Add MP_PRIO support and rework local address IDs commit, commit, commit, commit, commit, commit, commit, commit
ADD_ADDR enhancements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Re-enable sndbuf autotune commit, commit, commit, commit, commit
IPv4-mapped IPv6 addressing for subflows commit, commit, commit, commit, commit
Add local addr info in mptcp_info commit
- netfilter: Add table ownership infrastructure, this new infrastructure allows users to bind a table (and its content) to a process through the
- bonding
- bridge
- Wireless
Support disabling HE mode commit
Add Extended MCS Phyrate Conversion Support on 60GHz commit
Add VHT rate entries for MCS-10 and MCS-11 commit
Add rx decapsulation offload support commit
Enable QoS support for nl80211 ctrl port commit
Introduce aql_enable node in debugfs commit
Replace minstrel with minstrel_ht commit, commit, commit, commit, commit, commit, commit, commit, commit
minstrel_ht: show sampling rates in debugfs commit
- dsa
Link aggregation support commit, commit, commit, commit, commit
Extends MRP switchdev to allow the SW to have a better understanding if the HW can implement the MRP functionality commit, commit, commit, commit, commit, commit, commit, commit
Add stats64 support commit
Add HSR offloading support for DSA switches commit, commit, commit, commit
ethtool: Support setting lanes commit, commit, commit, commit, commit, commit, commit, commit
Add support for dissecting PTP L2 packet header commit, commit
hsr: add support for EntryForgetTime commit
Add support for ip generic checksum offload for gre commit, commit
Add notifications when route hardware flags change commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvs: add weighted random twos choice algorithm commit
sched: cls_flower add CT_FLAGS_INVALID flag support commit
Enable TSO on xfrm interfaces commit
Bluetooth: MSFT offloading support for advertisement monitor commit, commit, commit, commit, commit, commit, commit
11. Architectures
11.1. x86
iommu/amd: Add Generic IO Page Table Framework Support. The framework allows callable implementation of IO page table. This allows AMD IOMMU driver to switch between different types of AMD IOMMU page tables (e.g. v1 vs. v2) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
core PMU support for Sapphire Rapids commit, commit, commit, commit, commit
intel: Remove Perfmon-v4 counter_freezing support commit
perf core PMU support for Sapphire Rapids (User tools) commit, commit, commit, commit, commit, commit, commit, commit, commit
perf intel-pt: Add PSB events commit, commit, commit, commit
perf intel-pt: Add limited support for tracing guest kernels commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- platform
chrome: cros_ec_sysfs: Add cold-ap-off to sysfs reboot commit
surface: Add support for Microsoft Surface System Aggregator Module commit, commit, commit, commit, commit, commit, commit, commit, commit
surface: Add Surface Hot-Plug driver commit
surface: Add platform profile driver for Surface devices commit, commit, commit, commit
intel-uncore-freq: Add Sapphire Rapids server support commit
ideapad-laptop: keyboard backlight and "always on USB charging" control support, reenable touchpad control 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
Remove driver for deprecated platform: intel_mid_powerbtn commit, intel_mid_powerbtn commit, intel_mid_thermal commit, intel_mid_thermal commit
thinkpad_acpi: Add platform profile support commit, commit, commit
thinkpad_acpi: set keyboard language commit
Retire arch/x86/platform/goldfish commit
- tools/power/x86/intel-speed-select
apb_timer: Remove driver for deprecated platform commit
crypto: aesni: implement support for cts(cbc(aes)) commit
Introducing Linux root partition support for Microsoft Hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- KVM
Convert kvm_x86_ops to use static_call. Shows good performance gains for cpuid loop micro-benchmark commit, commit, commit
Conditional Hyper-V emulation enablement commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Advertise INVPCID by default commit
Add minimal support for Xen HVM guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add new ability named KVM_CAP_X86_BUS_LOCK_EXIT, which is used to handle bus locks detected in guest. It allows the userspace to do custom throttling policies to mitigate the 'noisy neighbour' problem commit, commit, commit, commit
Guest Last Branch Recording Enabling. Last branch recording (LBR) is a performance monitor unit (PMU) feature on Intel processors that records a running trace of the most recent branches taken by the processor in the LBR stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handle #GP for SVM execution instructions commit, commit, commit, commit
Add support for SEV attestation command commit
11.2. ARM
- New device support
- Renesas
- Intel SoCFPGA
eASIC N5X board (N5X) commit
- ST-Ericsson Ux500
Samsung GT-I9070 (Janice) phone (u8500) commit
- TI OMAP
MYIR Tech Limited development board (AM335X) commit
- Allwinner/sunxi
- Broadcom
Netgear R8000P router (BCM4906) commit
- AMLogic
- Qualcomm
Snapdragon 888 / SM8350 high-end phone SoC commit, commit, commit, commit
Snapdragon MTP reference board (SM8350) commit
Snapdragon MTP reference board (SDX55) commit
Sony Kitakami phones: Xperia Z3+/Z4/Z5 (APQ8094) commit
Alcatel Idol 3 phone (MSM8916) commit
ASUS Zenfone 2 Laser phone (MSM8916) commit
BQ Aquaris X5 aka Longcheer L8910 phone (MSM8916) commit
OnePlus6 and OnePlus6T (SDM845) commit
Alfa Network AP120C-AC access point (IPQ4018) commit
mt8183: Add krane-sku0 board commit
Add 8devices Jalapeno commit
- NXP i.MX6 (32-bit)
- NXP i.MX8 (64-bit)
Beacon i.MX8M Nano development kit (imx8mn) commit
Boundary Devices i.MX8MM Nitrogen SBC (imx8mm) commit
Gateworks Venice i.MX 8M Mini Development Kits (imx8mm) commit
phyBOARD-Pollux-i.MX8MP (imx8mp) commit
Purism Librem5 Evergreen phone (imx8mp) commit
Kontron SMARC-sAL28 system-on-module(imx8mp) commit
- Rockchip
- ASpeed
- Zynq
Remove efm32 commit
Remove prima2/atlas platforms commit
Remove tango platform commit
Remove u300 platform commit
Remove zte zx platform commit
- iommu
arm-smmu-qcom: Add Qualcomm SC8180X impl commit
MT8192 IOMMU support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- crypto
perf: Add support for ARMv8.3-SPE commit
perf arm-spe: Synthesize memory event commit
brcmstb: Add debug UART entry for 72116 commit
- ARM64
Add support for SMCCC TRNG entropy source commit
Early CPU feature override, and applications to VHE, BTI and PAuth commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Tegra186 and Tegra194 audio graph card commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
Add support for Cortex-A78 commit
Add JSON metrics for imx8mn DDR Perf commit
JSON metrics for imx8mp DDR Perf commit
Add JSON metrics for imx8mq DDR Perf commit
Add common and uarch event JSON commit
Reference common and uarch events for A76 commit
Reference common and uarch events for Ampere eMag commit
coresight: etm4x: Support for system instructions 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
perf arm64: Support SDT commit
- soc
socinfo: Add new systems commit
Broadcom's PMB (Power Management Bus) support commit, commit
mediatek: pm-domains: Add support for mt8167 commit
Add binding and dts for Qualcomm SM8350 SoC commit, commit, commit, commit, commit, commit
qcom: socinfo: Add MDM9607 IDs commit
qcom: socinfo: Add SoC IDs for 630 family commit
qcom: socinfo: Add SoC IDs for APQ/MSM8998 commit
qcom: socinfo: add qrb5165 SoC ID commit
qcom: socinfo: add several PMIC IDs commit
KVM: Upgrade PMU support to ARMv8.4 commit
11.3. RISC-V
Add k/uprobe & fentry & error_injection commit, commit, commit, commit, commit, commit, commit, commit, commit
Add numa support for riscv64 platform commit
kasan: add KASAN_VMALLOC support commit
Add board and SoC DT file support commit, commit, commit, commit, commit, commit
Kendryte K210 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add machine name to kernel boot log and stack dump output commit
Enable per-task stack canaries commit
Add Canaan Kendryte K210 reset controller commit
11.4. POWERPC
perf: Expose Performance Monitor Counter SPR's as part of extended regs commit
perf: Adds support for programming of Thresholding in P10 commit
perf: Support exposing Performance Monitor Counter SPRs as part of extended regs commit
debug: Add debugfs entries for IOMMU tables commit
eeh: Add a debugfs interface to check if a driver supports recovery commit
- KVM
11.5. MIPS
Add N64 machine type commit
Add Realtek RTL838x/RTL839x support as generic MIPS system commit
Support extracting off-line stack traces from user-space with perf commit
Add support for Cisco SG220-26 switch commit
perf: Add support for OCTEON III perf events commit
11.6. CSKY
Add memory layout 2.5G(user):1.5G(kernel) commit
Add kmemleak support commit
Add VDSO support with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO commit
11.7. S390
cpumf: Add support for complete counter set extraction commit
11.8. PA-RISC
Optimize per-pagetable spinlocks commit
11.9. C6X
c6x: remove architecture commit
12. Drivers
12.1. Graphics
- amdgpu
Enable freesync for A+A configs commit
GPU reset on navy flounder/vangogh commit, commit, commit, commit, commit
Add Freesync HDMI support to DMCU commit
Enable "trigger_hotplug" debugfs on all outputs commit
Enable HUBP blank behaviour commit
Implement T12 compliance commit
Add interface for request WGPs commit
Add support for hwmon control of slow and fast PPT limit on vangogh commit
Add two new sysfs nodes for vangogh commit
Add PCI reset support for several models commit, commit, commit
Add green_sardine device id (v2) commit
Add Missing Sienna Cichlid DID commit
Add new device id for Renior commit
Support ASPM for some specific ASIC commit
- Intel
Enable HDR on MCA LSPCON based Gen9 devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Intel's eDP backlight controls commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow the sysadmin to override security mitigations commit
Gen7 per-engine-reset support commit
HDCP 2.2 and HDCP 1.4 Gen12 DP MST support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Clear Color Support for TGL Render Decompression commit, commit, commit
VRR/Adaptive Sync enabling on DP/EDP for TGL+ commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Async flips for all ilk+ platforms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for DP-HDMI2.1 PCON commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make GEM errors non-fatal by default commit
Show timeline dependencies for debug commit
Spring clean debugfs commit
Show all active timelines for debugging commit
debugfs: Record the plane update times for debugging commit
debugfs: remove the i915_cache_sharing debugfs file commit
- gma500
- ingenic
- mediatek
Add support for SoC MT8183 commit
- msm
- nouveau
- sun4i
Add support for BT2020 to DE3 commit
- tegra
falcon: Support newer VIC firmware commit
- vc4
Add support for the DSI0 controller in the BCM2835 and the DSI1 controller found in the BCM2711 commit, commit, commit, commit, commit, commit, commit
hdmi: Support the 10/12 bit output commit, commit, commit, commit, commit, commit, commit, commit, commit
hdmi: Add CEC support for the BCM2711 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- panel
drm: Add DisplayPort connector commit
12.2. Power Management
In modern systems the platform performance, temperature, fan and other hardware related characteristics are often dynamically configurable with one of several 'platform-profiles', with either a bias towards low-power consumption or towards performance (and higher power consumption and thermals). This feature introduces a new platform_profile sysfs API which offers a generic API for selecting the performance-profile of these automatic-mechanisms commit, commit
ACPI: Introduce support for Firmware Performance Data Table (FPDT), which provides information about firmware performance during system boot, S3 suspend and S3 resume in /sys/firmware/acpi/fpdt/ commit
clk: make PM clock layer compatible with clocks that must sleep commit
domains: Add "performance" column to debug summary commit
Better domain idle from device wakeup patterns commit, commit
cpupower: Support AMD Family 0x19 commit, commit, commit, commit, commit, commit, commit, commit
Add required-opps support to devfreq passive gov commit, commit, commit
(FEATURED) dtpm: Add the DTPM (Dynamic Thermal Power Management) framework. It allows to allocate a power budget to the different components where the resulting heating effect will comply with the skin temperature constraint commit, commit, commit, commit
powercap/intel_rapl: add support for AlderLake Mobile commit
thermal: Remove the 'forced_passive' option commit
cpufreq_cooling: Get effective CPU utilization from scheduler: makes the cpufreq_cooling driver reuse the CPU utilization metric provided by the scheduler instead of depending on idle and busy times of a CPU, which aren't that accurate to measure the busyness of a CPU for the next cycle commit, commit, commit
12.3. Storage
- SCSI
ibmvfc: initial MQ development/enablement commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ibmvfc: MQ preparatory locking work commit, commit, commit, commit, commit
lpfc: Implement health checking when aborting I/O commit
mpt3sas: Add support for shared host tagset for CPU hotplug commit
qla2xxx: Implementation to get and manage host, target stats and initiator port commit
qla2xxx: Add error counters to debugfs node commit
scsi_transport_fc: Add store capability to rport port_state in sysfs commit
ufs: Add "wb_on" sysfs node to control WB on/off commit
ufs: ufs-debugfs: Add error counters commit
hisi_sas: Enable debugfs support by default commit
hisi_sas: Add trace FIFO debugfs support commit
Drop gdth driver commit
nvme: support command retry delay for admin command commit
12.4. Drivers in the Staging area
allegro: move driver out of staging commit
comedi: adl_pci7x3x: Add interrupt handling for PCI-7230 commit
comedi: adv_pci_dio: Add interrupt handling for PCI-1730 commit
qlge: coredump via devlink health reporter commit
qlge: support force_coredump option for devlink health dump commit
rtl8188eu: Add Edimax EW-7811UN V2 to device table commit
staging: media: imx: Kconfig: support VIDEO_IMX7_CSI for imx8m commit
tegra-video: Add support for capturing from HDMI-to-CSI bridge commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.5. Networking
- Bluetooth
btqca: Add support to read FW build version for WCN3991 BTSoC commit
btqca: Enable MSFT extension for Qualcomm WCN399x commit
btrtl: Enable MSFT extension for RTL8822CE controller commit
btrtl: Enable central-peripheral role commit
btusb: Add protocol support for MediaTek MT7921U USB devices commit
btusb: Add support for GarfieldPeak controller commit
btusb: Enable MSFT extension for Intel controllers commit
hci_bcm: Add support for ISO packets commit
hci_h5: Add support for binding RTL8723DS with device tree commit
- RDMA/Infiniband
- ath10k
ath11k: add support to configure spatial reuse parameter set commit
axienet: Support dynamic switching between 1000BaseX and SGMII commit
- bcm63xx_enet
bnxt_en: Update firmware interface to 1.10.2.11 commit
- brcmfmac
broadcom: bcm4908enet: add BCM4908 controller driver commit
- can
- dpaa2-eth
- dsa
Add Arrow SpeedChips XRS700x driver commit
Automatically bring up DSA master when opening user port commit
b53: Support setting learning on port commit
bcm_sf2: support BCM4908's integrated switch commit
tag_8021q for Ocelot switches commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
felix: Add support for MRP commit
hellcreek: Add TAPRIO offloading support commit
mt7530: MT7530 optional GPIO support commit
mv88e6xxx: Link aggregation support commit
qca: ar9331: export stats64 commit
sja1105: offload bridge port flags to device commit
tag_ocelot_8021q: add support for PTP timestamping commit
xrs700x: add HSR offloading support commit
mediatek: support setting MTU commit
fsl/fman: Add MII mode support commit
- gtp
- hns3
- i40e
- ice
Implement a new LLDP command that allows adding VSI destinations to existing filters and adds support for netdev bonding event commit, commit
Implement the creation scheduler aggregator nodes and distributing VSIs within the nodes commit
Display some stored NVM versions via devlink info commit
Display stored UNDI firmware version via devlink info commit
Display stored netlist versions via devlink info commit
Introduce function for reading from flash modules commit
- igb
- iwlwifi
Add new cards for So and Qu family commit
Add support for Qu with AX201 device commit
Add support for SnJ with Jf devices commit
Support new scan config FW API commit
Add debugfs entry to trigger a dump as any time-point commit
Add debugfs for phy-integration-ver commit
Handle CCA-EXT delay firmware notification commit
Add AX201 and AX211 radio modules for Ma devices commit
Aadd support for SnJ with Hr1 commit
Add support for So-F devices commit
Implement support for PNVM from BIOS commit
Add support for version 2 of the LARI_CONFIG_CHANGE command commit
mac80211_hwsim: add 6GHz channels commit
mhi: Add MBIM over MHI support commit, commit, commit, commit, commit
mhi: Add raw IP mode support commit
- mlx5/mlx5e
Support 400Gbps IB rate in mlx5 driver commit
Support default partition key for representor port commit
mlx5 real time clock commit, commit, commit, commit, commit, commit
Introduce some refactoring to SW steering to support different formats of different Hardware commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SW steering for ConnectX-6DX commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mlx5 subfunction support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable XDP for Connect-X IPsec capable devices commit
devlink trap support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement support for VF tunneling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Support setting lanes via ethtool commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: Configuring congestion watermarks on ocelot switch using devlink-sb commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: offload bridge port flags to device commit
- mt76
mt7915: add implicit Tx beamforming support and enable it trough debugfs commit
mt7915: add support for flash mode commit
mt7915: add support for using a secondary PCIe link for gen1 commit
mt7915: support TxBF for DBDC commit
Introduce mt7921e support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mvneta: Implement mqprio support commit
- mvpp2
netdevsim: fib: Add debugfs to debug route offload failure commit
nfc: Add a virtual nci device driver commit
- octeontx2-af
Add Marvell CN10K support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add devlink and devlink health reporters commit
Ethtool support for fec and link configuration commit, commit, commit, commit, commit, commit, commit
Support ESP/AH RSS hashing commit
Add RSS multi group support commit
Add flow classification using IP next level protocol commit
pcs: add pcs-lynx 1000BASE-X support commit
- phy
icplus: cleanups and new features commit, commit, commit, commit, commit, commit, commit, commit, commit
Add 100 base-x mode commit
Add 5GBASER interface mode commit
at803x: add support for configuring SmartEEE commit
bcm7xxx: Add an entry for BCM72116 commit
broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S commit
phy: introduce phydev->port commit
phy: micrel: Add KS8851 PHY support commit
phylink: Add 5gbase-r support commit
qede: add netpoll and per-queue coalesce support commit, commit, commit
- r8169
rt2800usb: add Sweex LW163V2 id's commit
- rtw88
- sfp
- stmmac
ti: Add switchdev support for AM65 CPSW NUSS driver to support multi port CPSW present on J721e and AM64 SoCs commit, commit, commit, commit
ti: cpsw_ale: add driver data for AM64 CPSW3g commit
- qmi_wwan
wil6210: Add Support for Extended DMG MCS 12.1 commit
Remove aurora nb8800 driver commit
12.6. Audio
Add n64 driver commit
dice: add support for Lexicon I-ONIX FW810s commit
- hda
hdsp: hardware output loopback commit
jack: implement software jack injection via debugfs commit
usb-audio: Add support for Pioneer DJM-750 commit
- ASoC
Intel: KMB: Support IEC958 encoded PCM format commit
Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 commit
SOF: Intel: initial support to AlderLake-P commit
codec: Add driver for JZ4760 internal codec commit
codec: hdmi-codec: Support IEC958 encoded PCM format commit
codecs: adds support for two Codec Macro blocks(TX and RX) available in Qualcomm LPASS (Low Power Audio SubSystem) commit, commit, commit, commit, commit, commit, commit
cpcap: Implement set_tdm_slot for voice call support commit
mediatek: mt8192-mt6359: support audio over DP commit
stm32: i2s: add master clock provider commit
tegra: Add audio graph based card driver commit
txx9: Remove driver commit
Remove sirf prima/atlas drivers commit
Remove zte zx drivers commit
12.7. Tablets, touch screens, keyboards, mouses
Add N64 controller driver commit
elants_i2c: add support for eKTF3624 commit
xpad: add support for PowerA Enhanced Wired Controller for Xbox Series X|S commit
cros-ec-keyb: expose function row physical map to userspace commit
- HID
chicony: Add Wireless Radio Control feature for Chicony devices commit
hid-sensor-custom: Add custom sensor iio support commit
i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15 commit
i2c-hid: Introduce goodix-i2c-hid using i2c-hid core commit
intel-ish-hid: ipc: Add Tiger Lake H PCI device ID commit
logitech-dj: add support for keyboard events in eQUAD step 4 Gaming commit
logitech-dj: add support for the new lightspeed connection iteration commit
logitech-hidpp: add support for Unified Battery (1004) feature commit
New driver for PS5 'DualSense' controller commit, commit, commit, commit, commit, commit, commit, commit, commit
playstation: add DualSense player LED support commit
playstation: add initial DualSense lightbar support commit
playstation: add microphone mute support for DualSense commit
sony: Add support for tilt on guitar hero guitars commit
uclogic: Improve support for Trust Panora commit
12.8. TV tuners, webcams, video capturers
Turn the existing SMIA driver into a MIPI CCS driver while maintaining SMIA support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
allegro: add HEVC support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ov5647: Support RaspberryPi Camera Module 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
em28xx: Add support for Hauppauge USB QuadHD commit
i2c: Add driver for RDACM21 camera module commit
i2c: Add imx334 camera sensor driver commit
i2c: Add support for the OV5648 image sensor commit
i2c: Add support for the OV8865 image sensor commit
ir_toy: add another IR Droid device commit
mxl692: MaxLinear 692 ATSC demod/tuner driver commit
ov5647: Remove 640x480 SBGGR8 mode commit
ov5647: Support VIDIOC_SUBSCRIBE_EVENT commit
ti-vpe: cal: Implement subdev ops for CAMERARX commit
v4l2-async: Add waiting subdevices debugfs commit
v4l2-ctrl: Add control to indicate the priority id to be applied to base layer commit
v4l2-ctrl: Add new controls for QP and layer bitrate commit, commit, commit
Introduce new hfi platform layer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
venus: add support to dump FW region commit
vidtv: Add media controller support commit
12.9. Universal Serial Bus
Support USB 3.2 multi-lanes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduced new Cadence USBSSP DRD Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdns3: Add support for TI's AM64 SoC commit
chipidea: tegra: Support host mode commit
dwc3: add imx8mp dwc3 glue layer driver commit
dwc3: pci: ID for Tiger Lake CPU commit
dwc3: pci: add support for the Intel Alder Lake-P commit
dwc3: qcom: add ACPI device id for sc8180x commit
dwc3: qcom: add URS Host support for sdm845 ACPI boot commit
gadget: u_ether: support configuring interface names commit
host: ehci-tegra: Remove the driver commit
pd: Make SVDM Version configurable in VDM header commit
Add support for USB4 _OSC, a new _OSC method that is used to negotiate OS support for native USB4 features such as PCIe tunneling commit, commit, commit, commit
- serial
- typec
Add individual version numbers for the partner and the cable, and exposes them in the appropriate sysfs in /sys/class/type commit, commit, commit, commit, commit, commit
AMS, Collision Avoidance, and Protocol Error commit, commit, commit
typec: tcpci: Add Callback to Usb Communication capable partner commit, commit, commit
Common SVDM version and VDO from dt commit, commit, commit, commit, commit, commit, commit
ucsi: Determine common SVDM Version commit
usbtmc: Add USBTMC_IOCTL_GET_STB commit and USBTMC_IOCTL_GET_SRQ_STB commit
bdc: Remove the BDC PCI driver commit
12.10. Serial Peripheral Interface (SPI)
cadence-quadspi: Add QSPI controller support for Intel LGM SoC commit, commit, commit, commit, commit
Add SPI_NO_TX/RX support commit
cadence-quadspi: Add DTR support commit
orion: enable support for switching CS every transferred byte commit
pxa2xx: Add IDs for the controllers found on Intel Lynxpoint commit
pxa2xx: Add support for Intel Alder Lake PCH-P commit
realtek-rtl: Add support for Realtek RTL838x/RTL839x SPI controllers commit
support CS timing for HW & SW mode commit
Add Tegra Quad SPI driver commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove sirf prima/atlas driver commit
txx9: Remove driver commit
Drop unused efm32 bus driver commit
12.11. Watchdog
Add watchdog driver for Intel !Keembay Soc commit
intel_scu_watchdog: Remove driver for deprecated platform commit
mt8192: add wdt support commit
remove coh901 driver commit
remove sirf atlas driver commit
remove sirf prima driver commit
remove tango driver commit
remove zte zx driver commit
12.12. Serial
Drop unused efm32 serial driver commit
cpm_uart: Add udbg support for enabling xmon commit
ifx6x60: Remove driver for deprecated platform commit
owl: Add support for kernel debugger commit
remove sirf prima/atlas driver commit
12.13. CPU Frequency scaling
sfi-cpufreq: Remove driver for deprecated firmware commit
qcom-hw: enable boost support commit
Remove tango driver commit
12.14. Device Voltage and Frequency Scaling
12.15. Voltage, current regulators, power capping, power supply
- power
reset: Add poweroff driver for ATC260x PMICs commit
reset: at91-sama5d2_shdwc: add support for sama7g5 commit
reset: remove zte zx driver commit
supply: Add battery gauge driver for Acer Iconia Tab A500 commit
supply: Add ltc4162-l-charger commit
supply: bq256xx: Introduce the BQ256XX charger driver commit
supply: cpcap-battery: Implement capacity reporting commit
- regulator
Really implement Qualcomm LAB/IBB regulators commit, commit, commit, commit, commit
Add regulator driver for ATC260x PMICs commit
Regulator driver for the Mediatek DVFSRC commit
bd9571mwv: Add BD9574MWF support commit
mt6315: Add support for MT6315 regulator commit
pf8x00: Add suspend support commit
qcom-rpmh-regulator: add pm8009-1 chip revision commit
rt4831: Adds support for Richtek RT4831 DSV regulator commit
remove ab3100 driver commit
- thermal:
12.16. Real Time Clock (RTC)
pcf8563: Add NXP PCA8565 compatible commit
remove sirfsoc driver commit
remove ste ab3100 driver commit
remove ste coh901 driver commit
mrst: Remove driver for deprecated platform commit
tx4939: Remove driver commit
12.17. Pin Controllers (pinctrl)
Add RISC-V Canaan Kendryte K210 FPIOA driver commit
at91-pio4: add support for slew-rate commit
ingenic: Improve JZ4760 support commit
qcom: Add SM8350 pinctrl driver commit
qcom: Add sc8180x TLMM driver commit
renesas: Initial R8A779A0 (V3U) PFC support commit
sunxi: Add support for the Allwinner H616 pin controller commit
sunxi: Add support for the Allwinner H616-R pin controller commit
tigerlake: Add Alder Lake-P ACPI ID commit
remove coh901 driver commit
remove sirf atlas/prima drivers commit
remove ste u300 driver commit
remove zte zx driver commit
12.18. Multi Media Card (MMC)
eMMC inline encryption support commit, commit, commit, commit, commit, commit, commit, commit
mmci: Add support for probing bus voltage level translator commit
sdhci-of-aspeed: Add AST2600 bus clock support commit
sdhci_am654: Add Support for TI's AM64 SoC commit
sunxi: add support for A100 mmc controller commit
remove dw_mmc-zx driver commit
remove sirf prima/atlas driver commit
12.19. Memory Technology Devices (MTD)
parsers: Add Qcom SMEM parser commit
rawnand: qcom: Add support for Qcom SMEM parser commit
spi-nor: Add Global Block Unlock command commit
spi-nor: intel-spi: Add support for Intel Alder Lake-P SPI serial flash commit
spi-nor: sst: Add support for Global Unlock on sst26vf commit
rawnand: tango: Remove the driver commit
12.20. Industrial I/O (iio)
Add timestamp channel for hid-sensors commit, commit, commit, commit, commit, commit
accel: kxcjk1013: Add rudimentary regulator support commit
adc: ad7476: Add LTC2314-14 support commit
ms_sensors:ms_sensors_i2c: add support for alternative PROM layout commit
dac: ad5766: add driver support for AD5766 commit
gyro: bmg160: Add rudimentary regulator support commit
hid-sensors: Add hinge sensor driver commit
imu: inv_mpu6050: Add support for MPU-6880 commit
light:apds9960 add detection for MSHW0184 ACPI device in apds9960 driver commit
magnetometer: Add driver for Yamaha YAS530 commit
magnetometer: bmc150: Add rudimentary regulator support commit
pressure:ms5637: add ms5803 support commit
xilinx-xadc: Add basic support for Ultrascale System Monitor commit
12.21. Multi Function Devices (MFD)
Add driver for Embedded Controller found on Acer Iconia Tab A500 commit
arizona: Add support for ACPI enumeration of WM5102 connected over SPI commit
bd9571mwv: Add support for BD9574MWF commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel-lpss: Add Intel Alder Lake PCH-P PCI IDs commit
intel-lpss: Add Intel Alder Lake PCH-S PCI IDs commit
intel-m10-bmc: Expose MAC address and count commit
intel_msic: Remove driver for deprecated platform commit
12.22. Pulse-Width Modulation (PWM)
Remove ZTE ZX driver commit
12.23. Inter-Integrated Circuit (I2C + I3C)
Drop unused efm32 bus driver commit
i801: Add support for Intel Alder Lake PCH-P commit
mlxcpld: Add support for I2C bus frequency setting commit
mux: mlxcpld: Extend driver functionality commit, commit, commit, commit, commit, commit
remove sirf bus driver commit
remove u300 bus driver commit
remove zte zx bus driver commit
i3c: master: svc: Add Silvaco I3C master driver commit
12.24. Hardware monitoring (hwmon)
Add AHT10 Temperature and Humidity Sensor Driver commit
Add Texas Instruments TPS23861 driver commit
amd_energy: Add AMD family 19h model 30h x86 match commit
k10temp: Zen3 Ryzen Desktop CPUs support commit
nct6683: Support ASRock boards commit
pmbus/max16601: Add support for MAX16508 commit
pmbus/max31785: Support revision "B" commit
pwm-fan: Support multiple fan tachometers commit
abx500: Decomission abx500 driver commit
12.25. General Purpose I/O (gpio)
bd9571mwv: Add BD9574MWF support commit
gpio-xilinx: Update on xilinx gpio driver commit, commit, commit, commit, commit
intel-mid: Remove driver for deprecated platform commit
mvebu: add pwm support for Armada 8K/7K commit
pca953x: Add support for pca9506 commit
rcar: Add R-Car V3U (R8A779A0) support commit
remove zte zx driver commit
visconti: Add Toshiba Visconti GPIO support commit
msic: Remove driver for deprecated platform commit
12.26. Leds
apu: extend support for PC Engines APU1 with newer firmware commit
lgm: Add LED controller driver for LGM SoC commit
trigger: implement a tty trigger commit
12.27. DMA engines
Add Intel LGM SoC DMA support commit
dw-axi-dmac: support Intel KeemBay AxiDMA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
idxd: add module parameter to force disable of SVA commit
jz4780: Add support for the JZ4760(B) commit
owl: Add compatible for the Actions Semi S500 DMA controller commit
rcar-dmac: Add support for R-Car V3U commit
remove coh901318 driver commit
remove sirfsoc driver commit
remove zte zx driver commit
ti: k3-udma: Add support for burst_size configuration for mem2mem commit
12.28. Cryptography hardware acceleration
hisilicon: add ZIP device using mode parameter commit
hisilicon/hpre: enable Elliptic curve cryptography commit
Add Keem Bay OCS HCU driver commit, commit, commit, commit, commit
octeontx2: Add Support for Marvell OcteonTX2 CPT engine commit, commit, commit, commit, commit, commit, commit, commit, commit
sun4i-ss: enabled stats via debugfs commit
picoxcell: Remove PicoXcell driver commit
mediatek: remove obsolete driver commit
12.29. PCI
brcmstb: support BCM4908 with external PERST# signal controller commit
layerscape: Add LX2160A rev2 EP mode support commit
microchip: Add Microchip PolarFire PCIe controller driver commit
Remove tango host controller driver commit
12.30. Non-Transparent Bridge (NTB)
Implement NTB Controller using multiple PCI EP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for EPF PCI Non-Transparent Bridge commit
12.31. Thunderbolt
Add support for PCIe tunneling disabled (SL5) commit
Add support for de-authorizing devices commit
Add support for native USB4 _OSC commit
Allow disabling XDomain protocol commit
12.32. Clock
Add RISC-V Canaan Kendryte K210 clock driver commit
clk-axiclkgen: add ZynqMP PFD and VCO limits commit
imx8mm: add clkout1/2 support commit
imx8mn: add clkout1/2 support commit
imx8mq: add PLL monitor output commit
mstar: MStar/SigmaStar MPLL driver commit
qcom: Add A7 PLL support commit
qcom: Add Global Clock controller (GCC) driver for SC7280 commit
qcom: Add SDM660 GPU Clock Controller (GPUCC) driver commit
qcom: Add SDX55 APCS clock controller support commit
qcom: clk-alpha-pll: Add support for Lucid 5LPE PLL commit
qcom: gcc-sm8350: add gdsc commit
qcom: gcc: Add clock driver for SM8350 commit
qcom: gcc: Add global clock controller driver for SC8180x commit
qcom: rpmh: Add support for RPMH clocks on SC7280 commit
qcom: rpmhcc: Add sc8180x rpmh clocks commit
renesas: r8a77965: Add TMU clocks commit
renesas: r8a7796: Add TMU clocks commit
renesas: r8a77990: Add TMU clocks commit
renesas: r8a77995: Add TMU clocks commit
renesas: v3u: add & update (H)SCIF nodes commit, commit, commit, commit, commit
renesas: v3u: add SDHI/MMC support commit, commit, commit, commit, commit, commit
renesas: v3u: add support for RWDT commit, commit, commit, commit
renesas: r8a779a0: Add FCP and VSP support commit, commit, commit
socfpga: agilex: add clock driver for eASIC N5X platform commit
sunxi-ng: Add support for the Allwinner H616 CCU commit
sunxi-ng: Add support for the Allwinner H616 R-CCU commit
vc5: Add support for optional load capacitance commit
Drop unused efm32gg driver commit
clocksource: atlas: Remove sirf atlas driver commit
clocksource: prima: Remove sirf prima driver commit
clocksource: tango: Remove tango driver commit
clocksource: u300: Remove the u300 driver commit
remove sirf prima2/atlas drivers commit
remove tango4 driver commit
remove u300 driver commit
remove zte zx driver commit
12.33. PHY ("physical layer" framework)
phy-brcm-usb: support PHY on the BCM4908 commit
qcom-qmp: Add SC8180X UFS phy commit
qcom-qmp: Add SC8180X USB phy commit
qcom-qmp: Add support for SDX55 QMP PHY commit
qcom-qusb2: Add configuration for SDM660 commit
qcom-qusb2: add QUSB2 support for IPQ6018 commit
12.34. CXL (Compute Express Link)
12.35. Various
bus: fsl-mc: enhance Management Complex userspace support commit, commit, commit, commit, commit
PCI: Add Silicom Denmark vendor ID commit
PCI: Add TI J721E device to PCI IDs commit
bus: mhi: core: Add device hardware reset support commit
bus: sunxi-rsb: Implement runtime power management commit
coresight: Add support for v8.4 SelfHosted tracing commit
coresight: etm-perf: Support PID tracing for kernel at EL2 commit
coresight: etm4x: Add support for sysreg only devices commit
coresight: etm4x: add AMBA id for Cortex-A55 and Cortex-A75 commit
drivers/soc/litex: support 32-bit subregisters, 64-bit CPUs commit
soc: atmel: add support for sama7g5 commit
soc: qcom: rpmpd: Add msm8994 RPM Power Domains commit
fpga: dfl: add dfl bus support to MODULE_DEVICE_TABLE() commit
fpga: dfl: add support for N3000 Nios private feature commit
habanalabs: add CS completion and timeout properties commit
habanalabs: add driver support for internal cb scheduling commit
habanalabs: add new mem ioctl op for mapping hw blocks commit
habanalabs: staged submission support commit
habanalabs: support fetching first available user CQ commit
habanalabs: support non power-of-2 DRAM phys page sizes commit
hwspinlock: omap: Add support for K3 AM64x SoCs commit
interconnect: qcom: Add MSM8939 interconnect provider driver commit
interconnect: qcom: Add SDX55 interconnect provider driver commit
interconnect: qcom: Consolidate interconnect RPM support commit
irqchip/ingenic: Add support for the JZ4760 commit
irqchip/sun6i-r: Use a stacked irqchip driver commit
irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller commit
irqchip: Remove sigma tango driver commit
irqchip: Remove sirfsoc driver commit
mailbox: omap: Add support for K3 AM64x SoCs commit
mailbox: qcom: Add SC8180X apcs compatible commit
mailbox: qcom: Add support for SDX55 APCS IPC commit
mei: add support for client dma capability commit
mei: hbm: add client dma hbm messages commit
mei: implement client dma setup commit
mei: me: add adler lake point LP DID commit
mei: me: add adler lake point S DID commit
memory: dfl-emif: add the DFL EMIF private feature driver commit
memory: tegra124: Support interconnect framework commit
mhi: pci_generic: Misc improvements commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: bcm-vk: Add Broadcom VK driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: pti: Remove driver for deprecated platform commit
misc: pvpanic: introduce device capability commit
misc: pvpanic: introduce events device attribue commit
misc: remove atmel_tclib commit
nvmem: Add driver to expose reserved memory as nvmem commit
of: property: Add fw_devlink support for more props commit, commit
of: Make fw_devlink=on more forgiving commit, commit, commit, commit, commit, commit, commit, commit
remoteproc/mediatek: support L1TCM commit
remoteproc: ingenic: Add module parameter 'auto_boot' commit
remoteproc: qcom: pas: Add SM8350 PAS remoteprocs commit
remoteproc: qcom_wcnss: Add qcom,wcn3660b compatible commit
reset: simple: add BCM4908 MISC PCIe reset controller support commit
sfi: Remove framework for deprecated firmware commit
speakup: Make dectlk flush timeout configurable commit
tpm: add i2c driver for cr50 commit
13. List of Pull Requests
14. Other news sites
Phoronix Linux 5.12 Feature overview