27582
Comment: missing )
|
880
Linux 5.7
|
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]. A interesting place to get good information about the linux kernel is LWN and their [http://lwn.net/Kernel/ "kernel status" articles], [http://lwn.net/Articles/driver-porting/ driver porting guide] and lots of nice stuff - 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, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. | |
Line 4: | Line 7: |
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)] * 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)] 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 block reservation and online resizing patches * [http://lwn.net/Articles/69523/ sysfs backing store] * [http://lwn.net/Articles/103183/ I/O space write barriers] * 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]: 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" support 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] * 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) * 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://marc.theaimsgroup.com/?l=linux-kernel&m=103298446916066&w=2 ext2/ext3 large directory support: HTree index] * [http://us1.samba.org/samba/Linux_CIFS_client.html Add new CIFS (Common Internet File System)] * [http://www.gelato.unsw.edu.au/ Remove the 2TB block device limit] * Improved i2o (Intelligent Input/Ouput) layer 2.5.41 released October 7, 2002: 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: * [http://www.hojdpunkten.ac.se/054/samba/ http://www.hojdpunkten.ac.se/054/samba/] * [http://www.cs.helsinki.fi/linux/linux-kernel/2002-01/0438.html HDLC (High-level Data Link Control) update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0920.html per_cpu infrastructure] * [http://www-124.ibm.com/jfs/ Add JFS (Journaling FileSystem from IBM)] * Killing kdev_t for block devices 2.5.5 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: * 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)] TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] or remainig stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_5.7)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.7 was released on Sun, 31 May 2020.
Summary: This release adds: support for the notion of Thermal Pressure, which lets the task scheduler to take better scheduling decisions in the face of CPU frequency changes; support for frequency invariant scheduler accounting on x86 CPUs, which makes x86 perform better with the schedutil governor; a new and better exFAT file system implementation; support for a x86 feature that allows to detect atomic operations that span cache lines; ARM Pointer Authentication support for kernel code, which helps to prevent security issues; support for spawning processes with clone3() into cgroups; write protection support in userfaultfd(), which is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler; and a BPF-based Linux Security Module which allows for more dynamic security auditing. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- Thermal Pressure in the task scheduler
- Frequency invariant scheduler accounting on x86 CPUs
- New exFAT file system
- Split lock detection
- ARM Kernel Pointer Authentication support
- userfaultfd() write protection support
- bpf-lsm: A BPF-based Linux Security Module
- clone3(): Allow spawning processes into cgroups
- Improved perf cgroup profiling
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Cryptography
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Input devices: Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU 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
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Modem Host Interface (MHI) Bus
- Various
- List of pull requests
- Other news sites
1. Prominent features
1.1. Thermal Pressure in the task scheduler
When a CPU is overheating, the thermal governor will usually cap the maximum CPU frequency. This, however, decreases the maximum available compute capacity of that CPU. If the task scheduler is not immediately aware of those frequency changes, it will take wrong scheduling decisions assuming that the CPU has greater computing capacity than it actually has. This release introduces the notion of Thermal Pressure, which makes the task scheduler more aware of frequency capping, and leads to better task placement among available cpus in event of overheating, which in turn leads to better performance numbers.
Recommended LWN article: Telling the scheduler about thermal pressure
1.2. Frequency invariant scheduler accounting on x86 CPUs
Suppose a CPU has two frequencies: 500 and 1000 MHz. When running a task that would consume 1/3rd of a CPU at 1000 MHz, it would appear to consume approximately 2/3rd when running at 500 MHz, giving the false impression this CPU is almost at capacity, even though it can go faster. Without frequency scale-invariance, tasks look larger just because the CPU is running slower. This makes the schedutil cpufreq governor -which uses scheduler-provided CPU utilization information as input for making its decisions- take wrong decisions and perform worse.
This release implements frequency invariant scheduler accounting on (some) x86 CPUs. This makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Because of the improved behavior, the intel_pstate driver defaults now to using the schedutil governor.
Recommended LWN article: Frequency-invariant utilization tracking for x86
1.3. New exFAT file system
Linux 5.4 added an implementation for the exFAT file system. This file system has been dropped; instead, an alternative implementation coming from Samsung has been found to have better quality, and has been merged in this release as a substitute of the previous implementation
1.4. Split lock detection
A split-lock occurs when an atomic CPU instruction operates on data that spans two cache lines. This is much slower than an atomic operation within a cache line, and it disrupts performance on other cores. This release adds support for a x86 features that allows to detect split locks. Using the split_lock_detect boot command line, it is possible to warn or even send SIGBUS to applications that make use of split locks.
Recommended LWN article: Developers split over split-lock detection
1.5. ARM Kernel Pointer Authentication support
Linux 5.0 added support for the ARMv8.3 Pointer Authentication extension, which uses a Pointer Authentication Code to determine whether pointers have been modified unexpectedly. This prevents many security vulnerabilities, but this support was only added for user space code. This release adds support for the arm64 kernel, which should help protect the kernel against attacks using return-oriented programming.
Recommended LWN article: ARM pointer authentication
1.6. userfaultfd() write protection support
This release adds to userfaultfd(2) -a system call added in Linux 4.3 to let a process handle page faults in userspace- the support for write protection. This means that attempts to write in areas of the address space specified with userfaultfd() can be handled in userspace. This is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler. hugetlbfs/shmem is not supported in this release. For more details see the documentation.
Recommended LWN article: Write-protect for userfaultfd().
1.7. bpf-lsm: A BPF-based Linux Security Module
The current kernel infrastructure for providing telemetry (Audit, Perf etc.) is disjoint from access enforcement (i.e. LSMs). Augmenting the information provided by audit requires kernel changes to audit, its policy language and user-space components. Furthermore, building a MAC policy based on the newly added telemetry data requires changes to various LSMs and their respective policy languages. This release adds a new LSM allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic (not requiring re-compilation of the kernel) audit and MAC policy.
Recommended LWN article: KRSI — the other BPF security module.
1.8. clone3(): Allow spawning processes into cgroups
This release adds support in clone3(2) for creating a process in a different cgroup than its parent, which means that callers can limit and account processes and threads right from the moment they are spawned. A service manager can directly spawn new services into dedicated cgroups; a process can be directly created in a frozen cgroup and will be frozen as well; the initial accounting jitter experienced by process supervisors and daemons is eliminated; threaded applications or even thread implementations can choose to create a specific cgroup layout where each thread is spawned directly into a dedicated cgroup.
Recommended LWN article: Cloning into a control group
1.9. Improved perf cgroup profiling
In the past, perf could only profile tasks in a specific cgroup and there was no way to know to which cgroup the current sample belonged to. In this release, perf incorporates cgroup information into each sample, which makes possible to profile more than one cgroup and used a cgroup sort key in perf report
2. Core (various)
(FEATURED) clone: allow spawning processes into a cgroup. recommended LWN article. commit, commit, commit, commit, commit, commit
- Task scheduler
(FEATURED) Introduce Thermal Pressure tracking and optimizations, to improve task placement on thermally overloaded systems. When a CPU is overheating the thermal governor may adjust the maximum possible frequency; the task scheduler is now aware of that "thermal pressure", so it can take better decisions. Recommended LWN article, cover letter; commit, commit, commit, commit, commit, commit, commit, commit, commit
Various NUMA scheduling updates: harmonize the load-balancer and NUMA placement logic to not work against each other. The intended result is better locality, better utilization and fewer migrations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Rework asymmetric CPU capacity wakeup to improve capacity utilization on asymmetric topologies (DynamIQ big.LITTLE systems) commit, commit, commit, commit
Improve spreading of utilization commit
- io_uring
Re-work of how pollable async IO is handled, it is no longer required thread offload to handle that. Instead we rely using poll to drive this commit, commit, commit, commit, commit
In conjunction with the above, allow expendable buffer selection, so that poll+recv (for example) no longer has to be a split operation. Recomended LWN article, commit, commit, commit, commit, commit, commit, commit
Support user xattrs in cgroupfs commit, commit, commit, commit
VFS: Massive pathwalk rewrite, cover letter, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- kbuild
Support LLVM=1 environment variable to switch the default tools to Clang/LLVM commit
Device Tree: allow allow to run dt_binding_check without kernel configuration and allow to run dt_binding_check and dtbs_check in a single command commit, commit, commit
Allow whitelisting of symbols to keep in ksymtab when using TRIM_UNUSED_KSYM commit, commit, commit
Enable -Wtautological-compare commit
Raise minimum supported binutils version to 2.23 commit
- kunit
Add fw_devlink kernel command-line option (and remove of_devlink) that can be set to off|permissive|on|rpm which are in increasing order of enforcement by device links commit, commit, commit, commit, commit
- Power management
RCU: React to callback overload by aggressively seeking quiescent states commit and boosting RCU readers commit
Percpu-rwsem rewrite that uses its own waitqueue and atomic_t instead of an embedded rwsem. This addresses a couple of weaknesses, but the primary motivation was complications on the real-time kernel commit, commit, commit, commit, commit
Introduce raw lock nesting detection on lockdep, document the raw_lock vs. normal lock differences commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
firmware_loader: load files from the mount namespace of init commit
3. File systems
- Btrfs
Add full support for cloning inline extents commit, commit, commit
Add more cancellation point for relocation, improves long response from 'balance cancel' commit, commit, commit
New BTRFS_IOC_SNAP_DESTROY_V2 ioctl to delete subvolumes, allowing to delete by id and more future extensions commit
Speedup of extent back reference resolution, on an example test scenario the runtime of send went down from a hour to minutes commit, commit, commit, commit
Per-inode file extent tree, for in memory tracking of contiguous extent ranges to make sure i_size adjustments are accurate commit, commit, commit, commit, commit
Make pinned extents tracking per-transaction commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Factor out locking scheme used for subvolume writer and NOCOW exclusion, abstracted as DREW lock, double reader-writer exclusion (allow either readers or writers) commit, commit
Make ranged full fsyncs more efficient commit
Remove obsolete BTRFS_SUBVOL_CREATE_ASYNC ioctl commit
- XFS
Tighten metadata validation and online fsck checking commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a common btree rebuilding library so that we can refactor xfs_repair and introduce online repair in a future cycle commit, commit, commit, commit, commit, commit, commit
- Ceph
Support for asynchronous create and unlink. Creates and unlinks are satisfied locally, without waiting for a reply from the MDS, provided the client has been granted appropriate caps (new in v15 release). This can be a big help for metadata heavy workloads such as tar and rsync. Opt-in with the new nowsync mount option commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Don't hold onto caps that aren't actually needed. This has been our long-standing behavior, but it causes issues with some active/standby applications (synchronous I/O, stalls if the standby goes down, etc) commit, commit, commit, commit, commit, commit
- CIFS
- FSCRYPT
- exFAT
- ext4
- F2FS
- NFS
Enable partial-file layout segments in the pNFS/flexfiles driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a module parameter to set the NFS automounted mountpoint timeout value commit
- OverlayFS
Let virtiofs be used as upper layer commit
4. Memory management
mremap(2): add MREMAP_DONTUNMAP flag. When remapping an anonymous, private mapping, if MREMAP_DONTUNMAP is set, the source mapping will not be removed. This is expected to be used on Chrome OS where with userfaultfd it would be possible to write an anonymous mapping to disk without having to STOP the process or worry about VMA permission changes commit, commit
Memory cgroup: recursive memory protection. It extends memory.low/min such that the knobs apply recursively to the entire subtree. Users can still assign explicit protection to subgroups, but if they don't, the protection set by the parent cgroup will be distributed dynamically such that children compete freely - as if no memory control were enabled inside the subtree - but enjoy protection from neighboring tree. This should have been the default behavior but is a mount-option to avoid regressions commit, commit, commit
(FEATURED) userfaultfd: initial write protection support (both shmem and hugetlbfs are not supported yet). This is equivalent to (but faster than) using mprotect and a SIGSEGV signal handler. For details see the documentation. recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dma-buf: add dynamic DMA-buf handling. This allows the exporter to provide the mappings without the need to pin the backing store commit, commit, commit, commit, commit, commit, commit
Page fault enhancements: it allows the page fault handlers to be more interactive on not only SIGKILL, but also the rest of userspace signals (especially for user-mode faults), and it allows the page fault retry to happen for more than once commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for free page reporting, which is an API that provides an asynchronous means of reporting free guest pages to a hypervisor, so that the memory associated with those pages can be dropped and reused by other processes and/or guests on the host. Using this it is possible to avoid unnecessary I/O to disk and greatly improve performance in the case of memory overcommit on the host commit, commit, commit, commit, commit, commit, commit, commit, commit
mbind(2): Support MPOL_MF_STRICT for huge page mapping commit
vmstat: add stat for hugepage fallback. The existing thp_fault_fallback indicates when thp attempts to allocate a hugepage but fails, or if the hugepage cannot be charged to the mem cgroup hierarchy. This release extends this to shmem as well and adds a new thp_file_fallback to complement thp_file_alloc that gets incremented when a hugepage is attempted to be allocated but fails, or if it cannot be charged to the mem cgroup hierarchy commit, commit
zswap: allow setting default status, compressor and allocator at compile time commit
Add a hugetlb_cma boot option, which allows to reserve a cma area which can be later used for 1 GB hugepages allocations commit, commit
hugetlbfs: use i_mmap_rwsem for better synchronization commit, commit,
hugetblfs: hit hugetlb_cgroup limits at reservation time, instead of at fault time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add Uacce (Unified/User-space-access-intended Accelerator Framework). Von Neumann architecture is not good at general data manipulation, so there are more and more heterogeneous processors, such as encryption/decryption accelerators, TPUs, or EDGE processors. The intention of Uacce is to make sure the accelerator and process can share the same address space, so the accelerator ISA can directly address any data structure of the main CPU. This differs from the data sharing between CPU and IO device, which share data content rather than address. Uacce is intended to be used with Jean Philippe Brucker's SVA patchset, which enables IO side page fault and PASID support commit, commit, commit, commit
Fix transparent huge page migration for CMA allocations commit, commit
ubsan: Split out bounds checker so it can be individually used commit, commit, commit, commit, commit, commit
5. Block layer
scsi: Allow non-root users to perform ZBC commands commit
- device mapper
dm writecache: implement gradual cleanup, adding a new option max_age that specifies the maximum age of a block in milliseconds commit
dm writecache: Add DM writecache "cleaner" policy feature that allows cache to be flushed while userspace monitors for completion to then discommision use of caching commit
dm integrity: add optional discard support commit
diskstats: more accurate io_ticks and optimization commit, commit, commit
rbd: enable multiple blk-mq queues commit
null_blk: Add support for fault injection commit
Add support for block disk resize udev notification commit, commit, commit, commit, commit
6. Tracing, perf and BPF
- perf
(FEATURED) Improve cgroup profiling. It allows to add a new cgroup id to samples so it's possible to profile more than one cgroup. A new cgroup sort key is added to perf report that shows cgroup membership commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
report: Support annotation of code without symbols commit, commit, commit
Support metric group constraint: some metric groups can't count when NMI is enabled. This release adds "MetricConstraint" in event list, which provides a hint for perf tool, and perf tool can change the metric group to non-group (standalone metrics) if NMI watchdog is enabled commit, commit, commit, commit, commit
report/top: Support sorting by a given event in group with option --group-sort-idx, and hotkeys in the TUI interface to let user select events for sorting commit, commit, commit, commit
evlist: Support the recently added PERF_SAMPLE_BRANCH_HW_INDEX commit, commit
report: Support a new key to reload the browser commit
Stitch LBR call stack (kernel): the existing Last Branch Record (LBR) allows to record call stack, but the depth of the call stack is limited by the number of the LBR registers. However, the overwritten LBRs may still be retrieved from previous samples and stitched together commit, commit
script: Introduce --deltatime option, which calculates the time difference in relation to the previous event commit
stat: Show percore counts in per CPU output commit
script: Allow --symbol to accept hexadecimal addresses commit, commit
- BPF
Extend SOCKMAP to store listening as well as established sockets. This lets use SOCKMAP BPF maps with reuseport BPF programs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make BPF and PREEMPT_RT co-exist. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
BPF programs may want to know whether an skb is gso. Expose gso_size field in the same manner as gso_segs commit, commit, commit
Add bpf_sk_assign eBPF helper, it allows assigning a previously-found socket to the skb as the packet is received towards the stack, to cause the stack to guide the packet towards that socket subject to local routing configuration. The intention is to support TProxy use cases more directly from eBPF programs attached at TC ingress, to simplify and streamline Linux stack configuration in scale environments with Cilium commit, commit, commit, commit, commit
Add bpf_sk_storage_get() and bpf_sk_storage_delete() helper to the bpf_tcp_ca's struct_ops commit, commit
Add various straight-forward helper improvements and additions to BPF cgroup based connect(), sendmsg(), recvmsg() and bind-related hooks which would allow to implement more fine-grained policies and improve current load balancer limitations commit, commit, commit, commit, commit, commit, commit
Provide bpf_sk_storage data during inet_diag's dump commit, commit, commit, commit
Add support for storing UDP sockets in sockmap and sockhash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds bpftool struct_ops to support struct_ops features commit, commit, commit, commit
Introduce bpftool prog profile command, which uses hardware counters to profile BPF programs commit, commit, commit, commit
libbpf: Add support for dynamic program attach target: previously, when you wanted to attach a trace program to a bpf program the section name needs to match the tracepoint/function semantics. The addition of new APIs allow to specify the tracepoint/function dynamically commit, commit, commit
Adds bpf_link abstraction, analogous to libbpf's already existing bpf_link abstraction. This formalizes and makes more uniform existing bpf_link-like BPF program link (attachment) types (raw tracepoint and tracing links), which are FD-based objects that are automatically detached when last file reference is closed. These types of BPF program links are switched to using bpf_link framework. FD-based bpf_link approach provides great safety guarantees, by ensuring there is not going to be an abandoned BPF program attached, if user process suddenly exits or forgets to clean up after itself commit, commit, commit
Add bpf_link based BPF program attachment mechanism for cgroup BPF programs commit, commit, commit, commit, commit, commit
Introduce BPF_MODIFY_RET tracing progs. modify_return programs are allowed for security hooks and functions whitelisted for error injection commit, commit, commit, commit, commit, commit, commit
Allow per-file SELinux labeling for bpffs commit
- tracing
The ring buffer is no longer disabled when reading the trace file commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New set_ftrace_notrace_pid file. PIDs in this file will not be traced by the function tracer commit, commit, commit
New set_event_notrace_pid file. PIDs in this file will cause events not to be traced if triggered by a task with a matching PID commit, commit
7. Cryptography
Use batched output from CRNG instead of CPU's RNG instructions for better performance commit
8. Virtualization
Add vDPA device support. vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software commit, commit, commit, commit, commit, commit, commit, commit, commit
UML: Support external time travel: using a special application on a unix socket - lets multiple machines take part in a time-travelling simulation together commit, commit, commit, commit, commit, commit
vfio/pci: SR-IOV support commit, commit, commit, commit, commit, commit, commit
virtio-net: Introduce features defined in the spec: RSS receive steering, extended RSC information, and report has of incoming packets commit, commit, commit
virtio_net: Add XDP meta data support commit
virt_wifi: implement ndo_get_iflink commit
Hyper-V: PCI: Add support for protocol 1.3 commit
tools/kvm_stat: add command line switch '-c' to log in csv format commit and '-s' to set update interval commit
9. Security
(FEATURED) New LSM: MAC and Audit policy using eBPF (KRSI). It allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic audit and MAC policy. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit
seccomp: allow TSYNC and USER_NOTIF together commit
- SELinux
ibmvtpm: Add support for TPM2 commit
10. Networking
Improve bind(addr, 0) behaviour. Linux used to fail to bind sockets to ephemeral ports when all of the ports were exhausted even if all sockets had SO_REUSEADDR enabled. In this case, it still is possible to connect to the different remote hosts. This release adds the net.ipv4.ip_autobind_reuse, which allows to bind SO_REUSEADDR enabled sockets to the same (addr, port) when set to 1 and all ephemeral ports are exhausted commit, commit, commit, commit
Enable SO_BINDTODEVICE for non-root users commit
Multipath TCP part 3 (but not last): Multiple subflows and path management. Recommended LWN article commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv4: show tcp_allowed_congestion_control and tcp_available_congestion_control sysctls in non-initial netns commit
IPv6: Add handling for RPL source routing handling and insertion (implement as lwtunnel) commit, commit, commit, commit, commit
UDP: Bare UDP L3 Encapsulation Module. The Bareudp tunnel module provides a generic L3 encapsulation tunnelling support for tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP tunnel commit, commit
- Bluetooth
- Devlink
Allow capable device drivers to register their supported packet trap policers with devlink. User space can then tune the parameters of these policers (currently, rate and burst size) and read from the device the number of packets that were dropped by the policer, if supported commit, commit, commit, commit, commit, commit, commit
devlink: Add support for the DEVLINK_CMD_REGION_NEW operation, used to enable userspace requesting a snapshot of a region on demand. This can be useful to enable adding regions for a driver for which there is no trigger to create snapshots commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Refactor the auto-recover health reporter flag to be explicitly set by the devlink core. In addition, add another flag to control auto-dump attribute, also to be explicitly set by the devlink core commit, commit, commit
IPsec: Add offload support for ESP beet mode commit, commit, commit
ethtool: netlink interface, part 3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and part 4 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- MACSec
- Bridge
- Packet schedulers
Make FIFO Qdisc offloadable commit
Introduce connection tracking hardware offload commit, commit, commit, commit, commit
Add software offload of connections with an established ct state using the NF flow table offload infrastructure, so once such flows are offloaded, they will not pass through conntrack again, and instead act_ct will restore the conntrack info metadata on the skb to the state it had on the offload event - established commit, commit, commit
Allow user to specify the type of hardware stats for the added TC action: immediate, delayed, or disabled commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
RED qdisc: Introduce an ECN nodrop mode commit, commit, commit
Enables tc classification to start from a specified chain. TC multi chain configuration can cause offloaded tc chains to miss in hardware after jumping to some chain, in such cases the software should continue from the chain that was missed in hardware commit, commit, commit, commit
Expose HW stats types per action used by drivers commit, commit
Implement callback used for adding HW counters to the SW ones for pedit and skbedit actions commit, commit, commit
- Netfilter
Introduce a netfilter egress hook to complement the existing ingress hook commit, commit, commit
conntrack: re-visit visibility of sysctls in unprivileged namespaces commit
Provide tunnel offload based on route lwtunnel commit, commit, commit, commit
Allow users to add and to restore stateful expressions of set elements commit, commit, commit, commit, commit
Support for stateful expressions in set definition commit, commit, commit
nft_tunnel: add support for geneve opts commit
xtables: Add snapshot of hardidletimer target commit
nft_set_pipapo: Performance improvements commit, commit, commit, commit, commit, commit
WiFi
Add encapsulation offloading support commit
Add infrastructure to support per TID configurations like noack policy, retry count, AMPDU control(disable/enable), RTSCTS control(enable/disable) and TX rate mask configurations commit, commit, commit, commit, commit, commit
Add support for requesting that the ranging measurement will use the trigger-based / non trigger-based flow instead of the EDCA based flow commit
Add API for telling whether the driver supports protected TWT commit
Add support for Beacon protection commit, commit, commit, commit, commit, commit, commit
To support Pre Association Security Negotiation (PASN) while already associated to one AP, allow user space to register to Rx authentication frames, so that the user space logic would be able to receive/handle authentication frames from a different AP as part of PASN commit
Allow userspace to reset IBSS stations to fix aggregation issue commit, commit
Allow to configure PMK lifetime and reauth threshold for PMKSA entries commit
openvswitch: add TTL decrement action commit
pktgen: Allow on loopback device commit
veth: Add more veth XDP stats to align with Mellanox, Intel and Marvell implementations commit, commit, commit, commit, commit
XDP: add support for atomically replacing the XDP program loaded on an interface. This is achieved by means of a new netlink attribute that can specify the expected previous program to replace on the interface commit, commit, commit, commit
Extends packet pacing to work over DEVX interface commit, commit
qrtr: migrates the Qualcomm IPC Router (QRTR) Nameservice from userspace to kernel commit
11. Architectures
11.1. ARM
- Device Tree Sources
Two new Qualcomm SoCs with their evaluation boards: Snapdragon 865 (SM8250) is the current high-end phone chip, and IPQ6018 is a new Wi-Fi 6 router chip commit, commit
Mediatek MT8516 application processor SoC for voice assistants, along with the "pumpkin" development board commit, commit
NXP i.MX8M Plus SoC, a variant of the popular i.MX8M, along with an evaluation board commit, commit, commit
Kontron "sl28" board family based on NXP LS1028A commit, commit, commit, commit
Eleven variations of the new i.MX6 TechNexion Pico board, combining the "dwarf", "hobbit", "nymph" and "pi" baseboards with i.MX6/i.MX7 SoM carriers commit, commit, commit, commit, commit
Three additional variants of the Toradex Colibri board family, all based on versions of the NXP i.MX7 commit
The Pinebook Pro laptop based on Rockchip RK3399 commit
Pine64 PineTab tablet and PinePhone phone, both based on Allwinner A64 commit, commit, commit
Samsung S7710 Galaxy Xcover 2, a 2013 vintage Android phone based on the ST-Ericsson u8500 platform commit
DH Electronics DHCOM SoM and PDK2 rev. 400 carrier based on STMicroelectronics stm32mp157 commit
Renesas M3ULCB starter kit for R-Car M3-W+ commit
Hoperun HiHope development board with Renesas RZ/G2M commit
Linutronix Testbox v2 for the Lamobo R1 router, based on Allwinner A20 commit
PocketBook Touch Lux 3 ebook reader, based on Allwinner A13 commit, commit
arm-smmu-v3: Add SMMUv3.2 range invalidation support commit
arm-smmu-v3: Finish PASID support and command queue batching commit, commit, commit, commit, commit, commit
irqchip/gic-v4: GICv4.1 architecture support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
soc: fsl: dpio: Enable QMAN batch enqueuing commit, commit, commit
soc: mediatek: pwrap: add pwrap driver for MT6779 SoCs commit, commit, commit
Introduce Protection Domain Restart (PDR) Helpers commit, commit, commit
OMAP2+: Introduce cpuidle for am335x/am437x commit, commit, commit, commit, commit
CoreSight CTI Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: Removing support for 32-bit KVM/arm host commit, commit, commit, commit, commit, commit, commit
qcom: Add support for IPQ40xx commit
- 64 bits
Introduce support for the Activity Monitors Unit (AMU) CPU extension, an optional extension in ARMv8.4 CPUs. This provides performance counters intended for system management use. Two of these counters are then used to compute the frequency scale correction factor needed to achieve better CPU utilisation numbers for the scheduler (frequency invariance) commit, commit, commit, commit, commit, commit, commit
(FEATURED) In-kernel Pointer Authentication support (previously only offered to user space). It improves function return address protection for the arm64 kernel, by compiling the kernel with ARMv8.3 Pointer Authentication instructions (referred ptrauth hereafter). This should help protect the kernel against attacks using return-oriented programming. Recommended LWN article, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf: Add support for ARMv8.5-PMU 64-bit counters commit, commit, commit
Enable RANDOM_TRUST_CPU for arm64 commit, commit, commit, commit
11.2. x86
Add support for generic EFI mixed mode boot: booting 64-bit x86 kernels from 32-bit firmware running on 64-bit capable CPUs without requiring the bootloader to implement the EFI handover protocol or allocate the setup block, etc commit, commit, commit
(FEATURED) Enable split lock detection for real time and debug. Split lock is an access to misaligned data across two cache lines in an atomic instruction, and it takes a significant performance penaly. This feature detects and either warns or crashes the kernel depending on the setting of the kernel boot option split_lock_detect. Recommended LWN article, commit
(FEATURED) Implement frequency invariant scheduler accounting on (some) x86 CPUs. This is done by observing and sampling the 'recent' CPU frequency average at ~tick boundaries. The CPU provides this data via the APERF/MPERF MSRs. This hopefully makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Recommended LWN article. commit, commit, commit, commit, commit, commit
(FEATURED) As a consequence of adding frequency invariant support, the intel_pstate driver defaults to using the schedutil governor commit
- Platforms
intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support commit
intel_pmc_core: Add debugfs entries commit, commit, commit, commit, commit, commit, commit
intel-speed-select: Add display for enabled cpus count commit
mce/amd: Add protected processor identification number (PPIN) support for AMD MCE commit
vmware: Add steal time support for VMware guests commit, commit
- perf
Intel: Introduce Control-flow Enforcement opcodes commit, commit
amd: Add support for Family 19h L3 PMU commit
Add Intel Jasper Lake CPU support commit
Add Intel Ice Lake server uncore support commit
Add Intel Tiger Lake uncore support commit
vendor events: Add AMD Zen2 events commit and update Zen1 events to V2 commit
acpi: add a kernel parameter (bgrt_disable) to disable ACPI BGRT commit
intel_th: msu: Make stopping the trace optional commit
curve25519: replace with formally verified implementation commit
11.3. RISC-V
Add Supervisor Binary Interface 0.2 and CPU hotplug commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Partial support for the Kendryte K210 commit, commit, commit, commit, commit, commit, commit
Add support to dump the kernel page tables commit
eBPF JIT for 32-bit RISC-V (RV32G) commit, commit, commit, commit
11.4. S390
- /proc/cpuinfo
perf: Add new extended counters for IBM z15 commit
perf: vendor events s390: Add new deflate counters for IBM z15 commit
ipl: add support (via sysfs) to control memory clearing for FCP and CCW re-IPL commit
KVM: Add support for protected VMs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, 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 fake numa support commit
qeth: adds support for ETHTOOL_RX_COPYBREAK commit, commit, commit, commit, commit, commit, commit, commit
qdio: export SSQD via debugfs commit
qeth: several ethtool enhancements (.set_channels, SW Timestamping, per-queue TX IRQ coalescing) commit, commit, commit, commit
zcrypt: Support for CCA protected key block version 2 commit
KVM: introduce module parameter kvm.use_gisa commit
Remove broken hibernate / power management support commit
11.5. PowerPC
Exception cleanup, rewrite syscall assembler code in C and disable compat cruft on ppc64le commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fadump: sysfs for fadump memory reservation commit,reorganize /sys/kernel/fadump_* sysfs files commit
Add new config option PMU_SYSFS to enable PMU SPRs sysfs file creation commit
powernv: Add explicit fast-reboot support commit
powernv: Move core and fadump_release_opalcore sysfs files to another directory commit
xive: Add a debugfs file to dump internal XIVE state commit
Book3S HV: Add a capability for enabling secure guests commit
11.6. C-Sky
11.7. MIPS
Add modern DeviceTree and irqchip support to Loongson64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Desktop Management Interface (DMI) commit
11.8. ARC
12. Drivers
12.1. Graphics
- amdgpu
- Intel
Allow specific CS ring buffer sizes commit
- Tigerlake enablement patches + Tigerlake enabled by default
New sysfs entries for engine properties commit, commit, commit, commit, commit, commit, commit
debugfs: add parameters to debugfs commit, remove i915_dpcd file commit
Remove 'prefault_disable' modparam commit
- bridge
Add I2C based driver for ps8640 bridge commit
omap: Replace custom display drivers with drm_bridge and drm_panel commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add tc358768 driver commit
adv7511: Add support for ADV7535 commit
- vmwgfx
- mediatek
- etnaviv
Show identity information in debugfs commit
- meson
- tidss
New driver for TI Keystone platform Display SubSystem commit
- hibmc
- pl111
Integrator IM-PD1 support commit
- sun4i
- tiny
- panel
Add Feixin K101 IM2BA02 panel commit
Add Samsung s6e88a0-ams452ef01 panel driver commit
Add driver for Novatek NT35510-based panels commit
Add panel driver for Elida KD35T133 panels commit
simple: Add EDT panel support commit
simple: Add NewEast Optoelectronics CO., LTD WJFH116008A panel support commit
simple: Add Rocktech RK101II01D-CT panel commit
simple: Add support for the Frida FRD350H54004 panel commit
simple: add panel-dpi support commit
- matroxfb
Add Matrox MGA-G200eW board support commit
Add getfb2 ioctl, it allow to pass multiple planes and modifiers, just like addfb2 over addfb commit
Enables huge-and giant page-table entries for TTM and TTM-enabled graphics drivers commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for bridge bus-format negotiation between all elements of the 'encoder -> bridges -> connector/display' section of the pipeline commit, commit, commit, commit, commit, commit, commit, commit
12.2. Power management
pm-graph v5.6 commit
- EFI
Introduces an arch agnostic way of loading the initrd into memory from the EFI stub commit, commit, commit
Add embedded peripheral firmware support: the EFI code / ROM itself sometimes may contain data which is useful/necessary for peripheral drivers to have access to. Specifically the EFI code may contain an embedded copy of firmware which needs to be (re)loaded into the peripheral, commit, commit, commit, commit, commit, commit, commit, commit, commit
ACPI: Add new tiny-power-button driver, an alternative to the ACPI Button driver that only handles the power button. Rather than notifying userspace via the input layer or a netlink event, this driver directly signals the init process to shut down commit
- thermal
int340x: processor_thermal: Add Tiger Lake support commit
imx_sc: add i.MX system controller thermal support commit
imx8mm: Add support for i.MX8MM thermal monitoring unit commit
sprd: Add Spreadtrum thermal driver support commit
tsens: Add watchdog support commit
rcar_gen3_thermal: Add r8a77961 support commit
imx8mm: Add i.MX8MP support commit
12.3. Storage
- nvmem
- SCSI
lpfc: Add Link Integrity FPIN registration and logging commit, commit
zfcp: expose fabric_name in fc_host sysfs commit, commit, commit
zfcp: provide user information on the state of the otherwise transparent IBM Fibre Channel Endpoint Security commit, commit, commit, commit
qla2xxx: Add beacon LED config sysfs interface commit
qla2xxx: Add sysfs node for D-Port Diagnostics AEN data commit
qla2xxx: Add ql2xrdpenable module parameter for RDP commit
pm80xx: sysfs attribute for non fatal dump commit
iscsi: Report connection state in sysfs commit
- AHCI
Add Intel Comet Lake H RAID PCI ID commit
Add Intel Comet Lake PCH RAID PCI ID commit
Add Intel Comet Lake PCH-H PCI ID commit
Add Intel Comet Lake PCH-U PCI ID commit
Add Intel Comet Lake PCH-V PCI ID commit
Add support for Loongson 7A1000 SATA controller commit
Add sysfs attribute to show remapped NVMe device count commit
nvmet: make ctrl model commit and ctrl-id configurable commit
nvme: expose hostid commit and hostnqn via sysfs for fabrics controllers commit
ide: remove no longer used au1xxx-ide driver commit
12.4. Drivers in the Staging area
Restore octeon driver commit
Restore octeon-usb host controller driver commit
iio: adc: ad7192: move out of staging commit
most: move core files out of the staging area commit
- media
rtl8188eu: Add ASUS USB-N10 Nano B1 to device table commit * remove hp100 driver commit
Remove staging version of exfat filesystem commit
Remove wusbcore and UWB from the kernel tree commit
12.5. Networking
- Bluetooth
- ath11k
atlantic: MACSec offloading support for AQC devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
axienet: Add mii-tool support commit
bcmgenet: Add ACPI bindings commit, commit, commit, commit, commit, commit
bgmac: configure MTU and add support for frames beyond 8192 byte size commit
brcmfmac: add USB autosuspend feature support commit
cdc_ncm: Implement the 32-bit version of NCM Transfer Block commit
- cxgb4/chcr
- dpaa2-eth
- DSA
Add support for configuring the MTU on front-panel switch ports, while seamlessly adapting the CPU port and the DSA master to the largest value plus the tagger overhead commit, commit, commit, commit, commit, commit, commit, commit
Add support for matching VLAN TCI keys/masks to the CFP code commit, commit, commit, commit, commit
Wire up Ocelot tc-flower to Felix DSA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7530: add support for port mirroring commit
mv88e6xxx: Add SERDES/PCS registers to ethtool -d commit, commit, commit
- sja1105
Add support for the SGMII port commit
Add 100baseT1_Full support commit
Show more ethtool statistics counters for P/Q/R/S commit
Port and flow policers (SJA1105, Felix/Ocelot) commit, commit, commit, commit, commit, commit
- e1000e
ti: add networking support for k3 am65x/j721e soc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- hns3
- ice
- igc
- ionic
ipa: introduce Qualcomm IPA driver. The IPA is a component present in some Qualcomm SoCs that allows network functions such as aggregation, filtering, routing, and NAT to be performed without active involvement of the main application processor (AP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
iwlwifi: Support new FW API version, EDCA measurements and new scan API features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ll_temac: ethtool support for controlling rx and tx ring sizes and irq coalesce parameters commit, commit
- mac80211_hwsim
mdio: add ipq8064 mdio driver commit
- mlx5
mlx5/mlx5e: Support connection tracking hardware offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Devlink health dump support for both rx and tx health reporters commit, commit, commit, commit, commit
mlx5: FEC modes supports commit, commit, commit, commit, commit, commit
mlx5/mlx5e: support handling tunnel restore when the packet was decapsulated on first chain hop commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Implement ACL-dropped packets identification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mlxfw
Improve error reporting and FW reactivate support commit, commit, commit, commit, commit, commit, commit
Offload TC action pedit munge dsfield commit, commit, commit, commit, commit
Implement ACL-dropped packets identification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload FLOW_ACTION_MANGLE commit
Offload TC action skbedit priority commit, commit, commit, commit, commit
Offload RED ECN nodrop mode commit
Add packet trap policers support commit, commit, commit, commit, commit, commit, commit, commit
- mt76
mt7615: Add support for the MT7622 SoC built-in WLAN chip commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7615: dual-band concurrent 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
mt7615: introduce LED support commit
mt7615: implement hardware reset support commit
mt7615: introduce mt7663e 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
mt7615: report firmware version using ethtool commit
mt7603: make dynamic sensitivity adjustment configurable via debugfs commit
eeprom: add support for big endian eeprom partition commit
Enable Airtime Queue Limit support commit
Channel switch support for USB devices commit
- mvneta
- octeontx2-vf
Add network driver for the virtual functions of OcteonTX2 SOC's resource virtualization unit (RVU) commit, commit, commit, commit, commit, commit, commit, commit
Add flow control support (802.3 pause frames) and add other changes wrt generic admin function (AF) functionality commit, commit, commit, commit, commit, commit, commit
- phy
Add marvell usb to mdio controller commit
marvell10g: add energy detect power down tunable commit
mscc: add support for RGMII MAC mode commit
mscc: RGMII delays and VSC8502 support commit, commit, commit, commit
phylib and phylink: Pause updates commit, commit, commit, commit, commit, commit, commit, commit, commit
qtnfmac: WPA3 OWE/SAE support for AP commit, commit, commit, commit, commit
rtw88: add a debugfs entry to dump coex's info commit and a debugfs entry to enable/disable coex mechanism commit
r8152: support additional Microsoft Surface Ethernet Adapter variant commit
sfc: support configuring vf spoofchk on EF10 VFs commit
- stmmac
qmi_wwan: add support for DW5816e commit
qmi_wwan: add Telit LE910C1-EUX composition commit
12.6. Audio
Add more WMA profiles and WMA decoder parameters to UAPI and then support for these in qcom driver. Also adds FLAC and APE IDs and decoder parameters to UAPI and then support in qcom driver commit, commit, commit, commit, commit, commit, commit, commit, commit
hda/realtek: Add supported new mute Led for HP commit, and for ALC236 commit
hda/realtek - Add new codec supported for ALC245 commit and for ALC287 commit
hda/hdmi: Add module option to disable audio component binding commit
usb-audio: Add support for Presonus Studio 1810c commit
usb-audio: Add support for MOTU MicroBook IIc commit
soundwire: cadence: multi-link support commit
soundwire: intel: add trigger support in sdw dai driver commit
- ASoC
Add Multi CPU DAI support commit, commit, commit, commit, commit, commit
Intel: CHT: add support for pcm512x boards commit
Intel: boards: add sof_sdw machine driver commit
Intel: sof_da7219_max98373: Add support for max98360a speaker amp commit
Intel: sof_rt5682: Add rt1015 speaker amp support commit
Intel: sof_rt5682: Add support for tgl-max98373-rt5682 commit
Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function commit
SOF: enable data probing feature for audio DSP: First, provide new and alter existing interfaces interfaces (page allocation, runtime flow adjustments) to make them compress friendly, then provide probe APIs. Probes can be treated as endpoints which allow for data extraction from or injection to target module - a great ally when debugging problematic audio issues such as distortions, glitches or gaps commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: Intel: add SoundWire support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: update S0ix/D0ix support commit, commit, commit, commit, commit, commit, commit, commit, commit
amd: Add machine driver for Raven based platform commit
brcm: Add DSL/PON SoC audio driver commit
jz4740-i2s: Add support for the JZ4760 commit and JZ4770 commit
max98357a: Add ACPI HID MAX98360A commit
meson: add t9015 internal DAC driver commit
meson: gx: add support for the i2s and spdif audio outputs commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for the AIU audio controller found on the 32-bit Meson8 and Meson8b SoCs commit, commit, commit
meson: g12a: add internal audio DAC support commit, commit, commit
rl6231: Add new supports on rl6231 commit
Add codec2codec DAI link support to simple-audio-card commit, commit, commit
tas2562: Add support for digital volume control commit
ti: Add udma-pcm platform driver for UDMA commit
ti: davinci-mcasp: Add support for platforms using UDMA commit
tlv320adcx140: Add the tlv320adcx140 codec driver family commit, commit, commit
12.7. Input devices: Tablets, touch screens, keyboards, mouses
keyboard: Add support for Azoteq IQS620A/621/622/624/625 commit
elants_i2c: support palm detection commit
goodix: add support for more then one touch-key commit
goodix: add support for Goodix GT917S commit
goodix: support gt9147 touchpanel commit
usbtouchscreen: add support for BonXeon TP commit
- HID
logitech-dj: add support for the static device in the Powerplay mat/receiver commit
mcp2221: add usb to i2c-smbus host bridge commit
Add driver fixing Glorious PC Gaming Race mouse report descriptor commit
logitech: Add support for Logitech G11 extra keys commit
multitouch: add eGalaxTouch P80H84 support commit
alps: Add AUI1657 device ID commit
12.8. TV tuners, webcams, video capturers
Add 14-bit raw bayer pixel formats commit
aspeed: add AST2600 support commit
atmel: atmel-isc-base: expose white balance as v4l2 controls commit
em28xx: Enable Hauppauge 461e rev2 commit
Add driver for Sony IMX219 sensor commit
imx219: Add support for RAW8 bit bayer format commit
imx219: Add support for cropped 640x480 resolution commit
m88ds3103: Add support for ds3103b demod commit
ov5675: add vflip/hflip control support commit
rc: add keymap for Videostrong KII Pro commit
sun8i: Add Allwinner A83T Rotate driver commit
tvp5150: add support to limit sdtv standards commit
tvp5150: add v4l2-event support commit
venus: support frame rate control commit
venus: vdec: handle 10-bit bitstreams commit
12.9. Universal Serial Bus
core: Add ACPI support for USB interface devices commit
Add driver to control USB fast charge for iOS devices commit
dwc2: add support for STM32MP15 SoCs USB OTG HS and FS commit
dwc3: Add Amlogic A1 DWC3 glue commit
gadget: add raw-gadget interface. The incentive to implement a different interface was to provide a somewhat raw and direct access to the USB Gadget layer for the userspace, where every USB request is passed to the userspace to get a response. See documentation for the list of differences between Raw Gadget and GadgetFS commit, commit
gadget: add udc driver for max3420 commit
gadget: aspeed: add ast2600 vhub support commit
musb: jz4740: Add support for the JZ4770 commit
phy: Add driver for the Ingenic JZ4770 USB transceiver commit
serial: Add Fintek F81534A series usb-to-serial driver commit, commit, commit, commit, commit, commit
Tegra XUSB OTG support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
serial: option: add BroadMobi BM806U commit
serial: option: add Wistron Neweb D19Q1 commit
serial: option: add support for ASKEY WWHC050 commit
serial: qcserial: Add DW5816e support commit
typec: Add sysfs node to show cc orientation commit
typec: Driver for Intel PMC Mux-Agent commit, commit, commit, commit, commit, commit, commit, commit, commit
xhci-tegra: Tegra186/Tegra194 LPM commit
12.10. Serial Peripheral Interface (SPI)
Add FSI-attached SPI controller driver commit
Add driver for ar934x spi controller commit
Add support for Mediatek spi-nor controller commit
meson-spicc: add support for Amlogic G12A commit
rspi: Add support for active-high chip selects commit
spi-fsl-dspi: Add support for LS1028A commit
12.11. Watchdog
Add stop_on_reboot module parameter to control reboot policy commit
Add K3 RTI watchdog support commit
12.12. Serial
serial/sysrq: Add a magic sysrq serial secuence: a string sequence that can enable sysrq if it follows BREAK on a serial line. This is necessary because having sysrq always enabled doesn't work for some embedded boards that tend to generate garbage on serial line commit, commit
imx serial: Implement support for reversing TX and RX polarity commit
Add CONSOLE_POLL support to SiFive UART commit
fsl_lpuart: add LS1028A earlycon support commit
fsl_lpuart: add LS1028A support commit
8250: Support console on software emulated rs485 ports commit
8250_bcm2835aux: Support rs485 software emulation commit
8250_early: Add earlycon for BCM2835 aux uart commit
8250_tegra: Create Tegra specific 8250 driver commit
ar933x_uart: add RS485 support commit
12.13. CPU frequency scaling
12.14. Voltage, current regulators, power capping, power supply
Add smb208 support commit
Add support for MP8869 regulator commit
mp5416: add mp5416 regulator driver commit
mp886x: add MP8867 support commit
qcom_smd: Add pmi8994 regulator support commit
12.15. Real Time Clock (RTC)
sun6i: Make external 32k oscillator optional commit
Add support for the MediaTek MT2712 RTC commit
jz4740: Add support for JZ4760 SoC commit
ds1307: add support for watchdog timer on ds1388 commit
rc5t619: Add Ricoh RC5T619 RTC driver commit
fsl-ftm-alarm: enable acpi support commit
alpha: remove legacy rtc driver commit
ia64: remove legacy efirtc driver commit
12.16. Pin Controllers (pinctrl)
bcm2835: Add support for all GPIOs on BCM2711 commit
da9062: add driver support commit
mediatek: Add support for pin configuration dump via debugfs commit
qcom: Add ipq6018 pinctrl driver commit
12.17. Multi Media Card (MMC)
core: Add MMC software queue support, and set the queue depth as 64 to allow more requests can be be prepared, merged and inserted into IO scheduler, which improves the performance commit, commit, commit, commit, commit
mmci: Add support for sdmmc variant revision 2.0 commit
sdhci-esdhc-imx: add strobe-dll-delay-target support commit
12.18. Memory Technology Devices (MTD)
rawnand: Add support for Macronix NAND randomizer commit
rawnand: macronix: Add support for deep power down mode commit
rawnand: toshiba: Support reading the number of bitflips for BENAND (Built-in ECC NAND) commit
spi-nor: Add SR 4bit block protection support commit
spi-nor: remove mtk-quadspi driver commit
spinand: Add new series Micron SPI NAND devices (M78A, M79A and M70A) commit, commit, commit, commit, commit, commit
spinand: toshiba: Support for new Kioxia Serial NAND commit
12.19. Industrial I/O (iio)
adc: ad7124: add 3db filter commit
adc: rn5t618: Add ADC driver for RN5T618/RC5T619 commit
amplifiers: ad8366: add support for HMC1119 Attenuator commit
amplifiers: hmc425a: Add support for HMC425A attenuator commit
chemical: atlas-sensor: add DO-SM module support commit
dac: ad5770r: Add AD5770R support commit
dac: ltc2632: add support for LTC2636 family commit
imu: adis: add support product ID check in adis_initial_startup commit
imu: inv_mpu6050: add support of IAM20680 commit
imu: inv_mpu6050: add support of ICM20609 & ICM20689 commit
imu: inv_mpu6050: add support of ICM20690 commit
light: Add a driver for Sharp GP2AP002x00F commit
light: Add support for Azoteq IQS621/622 ambient light sensors commit
light: add Dyna-Image AL3010 driver commit
light: al3320a implement suspend support commit
position: Add support for Azoteq IQS624/625 angle sensors commit
pressure: icp10100: add driver for InvenSense ICP-101xx commit
srf04: add power management feature commit
temperature: Add support for Azoteq IQS620AT temperature sensor commit
trigger: stm32-timer: add power management support commit
vcnl4000: Enable runtime pm for vcnl4200/4040 commit
12.20. Multi Function Devices (MFD)
Add support for Azoteq IQS620A/621/622/624/625 commit
sc27xx: Add USB charger type detection support commit
intel-lpss: Add Intel Comet Lake PCH-V PCI IDs commit
12.21. Pulse-Width Modulation (PWM)
12.22. Inter-Integrated Circuit (I2C + I3C)
i2c: brcmstb: Support BCM2711 HDMI BSC controllers commit
12.23. Hardware monitoring (hwmon)
adt7475: Add attenuator bypass support commit and inverting PWM output commit
Support ADI Fan Control IP commit
pmbus: add support for 2nd Gen Renesas digital multiphase commit
pmbus/tps53679: Add support for TPS53647 and TPS53667 commit, commit, commit, and for TPS53681 commit
pmbus/ltc2978: add support for more parts commit
12.24. General Purpose I/O (gpio)
Core: Add new ioctl that allows user-space processes to reuse the file descriptor associated with the character device for watching any changes in line properties. Every such event contains the updated line information commit
tools: Add gpio-watch program for monitoring changes in line infocommit
Add driver for Mellanox BlueField 2 GPIO controller commit
12.25. LEDs
Add SGI IP30 LED support commit
12.26. DMA engines
Add basic debugfs support commit
ti: k3-udma: Implement support for atype (for virtualization) commit
uniphier-xdmac: Add UniPhier external DMA controller driver commit
12.27. Cryptography hardware acceleration
caam: Add support for SKCIPHER, HASH, RSA and AEAD algorithms commit, commit, commit, commit, commit, commit, commit, commit, commit
caam: enable prediction resistance in HRWNG commit
chtls: add/delete TLS header in driver commit
marvell: Support for Marvell OcteonTX CPT driver commit, commit, commit
xilinx - Add Xilinx AES driver commit
12.28. PCI
Add support for Error Disconnect Recover (EDR, you can find EDR spec here) and _OSC based negotiation support for DPC commit, commit, commit, commit, commit, commit, commit, commit, commit
P2PDMA: Add Intel Skylake-E Root Ports B, C, D to the whitelist commit
mobiveil: Add PCIe Gen4 RC driver for Layerscape SoCs commit
tegra: Add support for PCIe endpoint mode in Tegra194 commit
vmd: Add two VMD device IDs commit
genirq: Sanitize interrupt injection commit, commit, commit, commit, commit, commit, commit
tools: pcitest: Add 'd' command-line option to support DMA commit and add 'e' to clear IRQ commit
12.29. Clock
Ingenic: Add support for TCU of X1000 commit
at91: add at91rm9200 pmc driver commit
at91: add at91sam9g45 pmc driver commit
at91: add at91sam9n12 pmc driver commit
at91: add sama5d3 pmc driver commit
imx7d: Add PXP clock commit
imx8mm: Add CLKO2 support commit
keystone: Add new driver to handle syscon based clocks commit
meson: g12a: add support for the SPICC SCLK Source clocks commit
mmp2: Add clocks for the thermal sensors commit
mmp2: Add support for PLL clock sources commit
qcom: Add modem clock controller driver for SC7180 commit
qcom: clk-alpha-pll: Add support for controlling Lucid PLLs commit
qcom: gcc: Add global clock controller driver for SM8250 commit
qcom: gpucc: Add support for GX GDSC for SC7180 commit
qcom: rpmh: Add support for RPMH clocks on SM8250 commit
si5341: Support multiple input ports commit
sprd: add clocks support for SC9863A commit
clocksource: Add driver for the Ingenic JZ47xx OST commit
clocksource: ingenic: Add support for TCU of X1000 commit
12.30. PHY ("physical layer" framework)
amlogic: Add Amlogic A1 USB2 PHY Driver commit
amlogic: Add Amlogic AXG MIPI/PCIE analog PHY Driver commit
amlogic: Add Amlogic AXG PCIE PHY Driver commit
qcom-qmp: Add MSM8996 UFS QMP support commit
qcom-qusb2: Add generic QUSB2 V2 PHY support commit
qcom: qmp: Add SDM845 PCIe QMP PHY support commit
qcom: qmp: Add SDM845 QHP PCIe PHY commit
qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver commit
qualcomm: usb: Add SuperSpeed PHY driver commit
tegra: xusb: Add Tegra194 support commit
ti: gmii-sel: add support for am654x/j721e soc commit
uniphier-pcie: Add legacy SoC support for Pro5 commit
uniphier-usb3hs: Add legacy SoC support for Pro5 commit
uniphier-usb3ss: Add Pro5 support commit
12.31. EDAC (Error Detection And Correction)
Add EDAC driver for DMC520 commit
12.32. Modem Host Interface (MHI) Bus
Add the MHI (Modem Host Interface) bus interface to Linux kernel. MHI is a communication protocol used by the host processors to control and communicate with modems over a high speed peripheral bus or shared memory. The MHI protocol has been designed and developed by Qualcomm Innovation Center, Inc., for use in their modems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.33. Various
bus: ti-sysc: Add support for PRUSS SYSC type commit
counter: 104-quad-8: Support Differential Encoder Cable Status commit
counter: 104-quad-8: Support Filter Clock Prescaler commit
counter: stm32-timer-cnt: add power management support commit
eeprom: at24: add TPF0001 ACPI ID for 24c1024 device commit
extcon: axp288: Add wakeup support commit
firmware: xilinx: Add ZynqMP aes API for AES functionality commit
habanalabs: add debugfs write64/read64 commit
habanalabs: support temperature offset via sysfs commit
Add Operating State Manager (OSM) L3 interconnect provider support on SDM845 and SC7180 SoCs to handle bandwidth requests from CPU to scale L3 caches commit, commit, commit, commit, commit
interconnect: qcom: Add SC7180 interconnect provider driver commit
interconnect: qcom: Consolidate interconnect RPMh support commit
irqchip/ingenic: Add support for TCU of X1000 commit
irqchip: Add driver for Loongson I/O Local Interrupt Controller commit
irqchip: Add driver for Loongson-3 HyperTransport PIC controller commit
mailbox: imx: add SCU MU support commit
mailbox: sun6i-msgbox: Add a new mailbox driver commit
mei: me: add cedar fork device ids commit
misc: pci_endpoint_test: Add ioctl to clear IRQ commit
misc: pci_endpoint_test: Add support to get DMA option from userspace commit
ptp: Add a ptp clock driver for IDT 82P33 SMU commit
ptp: add VMware virtual PTP clock driver commit
remoteproc: updates for OMAP remoteproc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
remoteproc: add IPA notification to q6v5 driver commit
13. List of pull requests
14. Other news sites
Phoronix: Linux 5.7 feature overview
Español: Las novedades de Linux 5.7