28249
Comment: add LWN link about epoll
|
881
Linux 4.16 finished, 4.17 next...
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Another good places to get more information about the linux kernel are [http://www.kernel-traffic.org Kernel traffic] and [http://www.lwn.net LWN] and their [http://lwn.net/Kernel/ "kernel status" articles], [http://lwn.net/Articles/driver-porting/ driver porting guide] - many of the links here are linking to LWN articles and we wouldn't have been able to restore the 2.5.x-2.6.x changelog without them (you may be insterested in subscribing so Jonathan can keep up the good work ;) ) Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, 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: |
===== 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)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 24: | Line 7: |
===== 2.6.13 ===== * Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog] * x86 now uses the generic PCI bus setup code for assigning unassigned resources * [http://lwn.net/Articles/104343/ inotify] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices * [http://lwn.net/Articles/108595/ kexec and kdump]: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. * [http://lwn.net/Articles/135472/ Execute-in-place support]: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). * [http://lwn.net/Articles/145973/ build-time configurable clock interrupt frequency]: * [http://lwn.net/Articles/143474/ Improved CFQ IO scheduler]: With support for I/O priorities * Voluntary preemption patches * Removal of the devfs configuration option ===== 2.6.12 ===== * Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog] * [http://lwn.net/Articles/140164/ API changes] * New driver for the "trusted computing" (TPM) crap^Wchip * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Multilevel security implementation for SELinux * [http://lwn.net/Articles/124703/ device mapper multipath support] * [http://lwn.net/Articles/121845/ Address space randomization] * Restore the Philips webcam driver * I/O barrier support for serial ATA drives * [http://lwn.net/Articles/134460/ "resource limits"] * [http://lwn.net/Articles/127936/ cpusets] * Remove IPV6 "experimental" status * Hot-pluggable parallel ports * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) ===== 2.6.11 ===== * Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog] * [http://lwn.net/Articles/117749/ Conversion to 4-level page tables] * [http://lwn.net/Articles/112531/ Infiniband support] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases * Fujitsu FR-V CPU arch implementation * SATA support for Intel ICH7 * [http://lwn.net/Articles/115405/ DebugFS] * [http://lwn.net/Articles/118750/ New Pipe implementation] * [http://lwn.net/Articles/102253/ "Big Kernel Sempahore"] ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * [http://lwn.net/Articles/109505 Reworking of spin lock initialization] * Big Kernel Lock preemption * IRQ subsystem code rework * Removal of the "BIO walking" helper functions * [http://lwn.net/Articles/107314/ generic circular buffer type] * Ext3 [http://lwn.net/Articles/81357/ block reservation] and [http://lwn.net/Articles/89560/ online resizing patches] * [http://lwn.net/Articles/69523/ sysfs backing store] * [http://lwn.net/Articles/103183/ I/O space write barriers] * [http://lwn.net/Articles/102976/ Modular, on-the-fly switchable I/O schedulers] * BSD secure levels module * kernel events notification mechanism * In-kernel cryptographic key management * DVD+RW and CDRW packet writing support ===== 2.6.9 ===== * Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog] * [http://lwn.net/Articles/96621 Token-based thrashing control] * Support of block I/O barrier * m32r architecture support * Allow unprivileged processes to lock small amounts of memory in RAM * Tunable "max sectors" limit for block I/O requests (can help latency reduction) * New prctl() option allowing programs to change their name (PR_GET_NAME) * AMD dual-core support * [http://lwn.net/Articles/97537/ Out-of-line spinlocks] * Support for POSIX's waitid() * Shared memory scalability improvements * [http://lwn.net/Articles/91829/ "flex mmap" user-space memory layout] * Change in TCP ICMP source quench behavior * [http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support] * New USB storage driver * Support for more than eight partitions on BSD-labeled disks * Ethtool support in the loopback driver * [http://lwn.net/Articles/101215/ NETIF_F_LLTX interface] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * more filesystem conversions to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) * "fake NUMA" mode for x86-64 testing * Small-footprint tmpfs implementation * Support for scheduler profiling (seeing where context switches come from) * Automatic TCP window scaling calculation * Removal of the Philips webcam driver * Some VFS interface improvements * Executable support in hugetlb mappings * The Whirlpool digest algorithm * Removal of the very last suser() call ===== 2.6.8 ===== * Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog] * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) * x86 no-execute support, asynchronous I/O support for USB gadgets * [http://lwn.net/Articles/91959/ reworked symbolic link lookup implementation] * New "CPU mask" implementation * RCU performance improvements * Support for new Apple Powerbooks * New wait_event_interruptible_exclusive() macro * Support for the O_NOATIME flag in the open() call * Sysfs knobs for tuning the CFQ I/O scheduler * Mirroring and snapshot targets for the device mapper * Reiserfs data=journal support * Preemptible kernel support for the PPC64 architecture * "Khazad" crypto algorithm * [http://lwn.net/Articles/98379/ Added permissions checking on raw SCSI commands from user space] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability * Support for the O_NOATIME flag in the open() call * Removal of the (non-functional) "fastroute" networking option * TEA and XTEA crypto algorithms ===== 2.6.7 ===== * Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]: * [http://lwn.net/Articles/80911/ Scheduling Domains] * [http://lwn.net/Articles/83633/ Filtered Wakeups] * Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now) * msleep() function for millisecond-scale waits * [http://lwn.net/Articles/84836/ del_singleshot_timer()]: Deleting timers quickly * shrink "dentry" structure * Removal of the Intermezzo filesystem (lack of mainteinance) * Support for quotas and external attributes in reiserfs * Removal of IDE tagged command queueing support (never worked well) * new API for NUMA systems ===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * [http://lwn.net/Articles/80472/ full object-based reverse-mapping scheme and removal of the per-page PTE chains] * Network packet timestamping optimization * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] * Message queues for the x86_64 and s390 architectures * fsync() and fdatasync() speed improvements to ext2/3 * [http://lwn.net/Articles/77190/ addition of the fcntl() method to the file_operations structure] * [http://lwn.net/Articles/65437/ "Laptop Mode"] * 4KB kernel stacks option for the i386 architecture * Non-executable stack support for several architectures * Reiserfs updates: data=ordered support, space preallocation, laptop mode support * IPv6 support in SELinux * [http://lwn.net/Articles/79326/ The lightweight auditing framework] * A mechanism which allows block drivers to respond to queries about the congestion state of their queues * [http://lwn.net/Articles/75233/ "per-device unplugging patch"] * CFQ scheduler * External module support * Generic snapshot support code for filesystems (taken from XFS) ===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * [http://lwn.net/Articles/75944 Netpoll infrastructure] * [http://lwn.net/Articles/75920 New "kref" reference counting mechanism] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] * HFS rewrite * Support for the Intel "ia32e" arch * UTF-8 tty mode * Dynamic PTY allocation (up to a million PTY devices) * Sysfs support for SCSI tapes and bluetooth devices * [ARC4 crypto module Support for large numbers of groups] * [http://lwn.net/Articles/65178/ Generic kernel thread infrastructure] * Groundwork for the hotplug CPU code * ARC4 crypto module ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] * Removal of the USB scanner code: moved support to userspace (libusb) * [http://lwn.net/Articles/69402/ New DMA pool abstraction] * "context mount" support for SELinux ===== 2.6.2 ===== * Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog] * New Qlogic SCSI driver ===== 2.6.1 ===== * Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog] * [http://lwn.net/Articles/44135/ Message Signaled Interrupt support] * Extensible Firmware Interface (EFI) support. ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] ===== pre-2.6 development ===== 2.6.0-test9: * [http://lwn.net/Articles/44243/ libata driver architecture] 2.6.0-test6: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t] * Direct I/O support for reiserfs 2.6.0-test3: * [http://www.nsa.gov/selinux/index.html SELinux] 2.6.0-test1: * [http://www.linuxvirtualserver.org/ Linux Virtual Server layer] 2.5.75 released July 10, 2003: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] * "kblockd" kernel threads * "nointegrity" JFS mount option 2.5.74 released July 2, 2003: 2.5.73 released June 22, 2003: 2.5.72 released June 17, 2003: 2.5.71 released June 14, 2003: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile] 2.5.70 released May 27, 2003: * [http://www.linux-usb.org/gadget USB gadget support] 2.5.69 released May 5, 2003: * [http://lwn.net/Articles/29555/ New interrupt handling API] * Runtime barrier instruction patching: Allows optimal performance on different processors without the need to ship multiple kernels 2.5.68 released April 20, 2003: * Merging s390 and s390x into a single architecture * Generation of hotplug events from kobject registration 2.5.67 released April 7, 2003: 2.5.66 released March 24, 2003: 2.5.65 released March 17, 2003: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] 2.5.64 released March 5, 2003: 2.5.63 released February 24, 2003: * [http://high-res-timers.sourceforge.net/ POSIX timers] 2.5.62 released February 17, 2003: * [http://lse.sourceforge.net/locking/dcache/dcache_lock.html Avoid dcache_lock while path walking] 2.5.61 released February 15, 2003: 2.5.60 released February 10, 2003: * New modversions implementation * 64-bit jiffies 2.5.59 released Janury 17, 2003: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] 2.5.58 released January 14, 2003: 2.5.57 released January 13, 2003: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] 2.5.56 released January 10, 2003: 2.5.55 released January 9, 2003: 2.5.54 released January 2, 2003: * [http://secure.netroedge.com/~lm78/ Add lm-sensors drivers for hardware health monitoring] * Support for AGP 3.0 2.5.53 released December 24, 2002: * "sysenter" 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], [http://lwn.net/Articles/14168/ LWN article] * Per-cpu hot & cold page lists * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/7027.html MMU-less processor support (ucLinux)] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101095500820185&w=2 Replace initrd by initramfs] * Extended Attributes and ACLs for ext2/ext3 2.5.45 released October 31, 2002: * [http://www.xs4all.nl/~zippel/lc/ New Linux configuration system: kconfig] * [http://samba.org/~jamesm/crypto/ CryptoAPI] * [ftp://ftp.linux-ipv6.org/pub/usagi/patch/ipsec/ IPSEC] * [http://www.linuxtv.org/dvb/ Digital Video Broadcasting (DVB) layer] * [http://www.sistina.com/products_lvm.htm Device mapper for Logical Volume Manager (LVM2)] 2.5.44 released October 19, 2002: * New sysfs filesystem (formerly known as driverfs) * 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/IA64wiki/LargeBlockDevices Remove the 2TB block device limit]: Block devices can now access up to 16TB on 32-bit architectures, and up to 8EB on 64-bit architectures. statfs64() syscall added: statfs() couldn't handle it. * Improved i2o (Intelligent Input/Ouput) layer 2.5.41 released October 7, 2002: 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 remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_4.16)>> |
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 4.16 has been released on Sun, 1 Apr 2018.
Summary: Besides the latest code to deal with CPU security bugs, this release declares the reverse mapping and reflink features as stable, membarrier(2) adds expedited support, SMB3 Direct (RDMA) support, adds the x86 jailhouse hypervisor which is able to statically partition a multicore system into multiple so-called cells, support for PowerPC memory protection keys, the hypervisor part of AMD Secure Encrypted Virtualization; and many new drivers and other improvements.
Contents
- Prominent features
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Clock
- Various
- List of merges
- Other news sites
1. Prominent features
1.1. Improved protection for CPU security bugs
This release adds:
x86: Basic IBPB (Indirect Branch Prediction Barrier) support commit
arm: Implement branch predictor hardening for Falkor and affected Cortex-A CPUs and Cavium ThunderX2 commit, commit, commit, commit
arm: Add support for unmapping kernel when running in userspace (Kernel Page Table Isolation) commit
kvm/x86: Add Indirect Branch Predictor Barrier (IBPB) is an indirect branch control mechanism. It keeps earlier branches from influencing later ones commit
s390: An implementation of the array_index_mask_nospec function to the defense against spectre v1 commit
s390: A s390 variant of the 'retpoline' spectre v2 defense called 'expoline' commit
s390: Run user space and KVM guests with modified branch prediction commit
1.2. XFS reverse mapping and reflink features are now stable
The reverse mapping and reflink features, merged back in 4.8 and 4.9 respectively, have been declared stable. These features allow for cp --reflink=always support, data deduplication, data copy-on-write ...
Code: commit and reflink features commit
1.3. membarrier(2) expedited support
This release provides expedited command in membarrier(2) for registration and use of membarrier across processes communicating through shared memory mappings. The non-expedited command has proven to be really too slow (taking 10ms and more to complete) for real-world use. The expedited version completes in a matter of microseconds.
Recommmended LWN article: Expediting membarrier()
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.4. SMB3 Direct (RDMA) support
Starting with SMB2 dialect 3.0, Microsoft introduced SMB Direct transport protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, RoCE or iWARP. This release adds support for Linux.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.5. Add the x86 jailhouse hypervisor
This release adds initial platform support for the jailhouse hypervisor. The Jailhouse hypervisor is able to statically partition a multicore system into multiple so-called cells. Linux is used as boot loader and continues to run in the root cell after Jailhouse is enabled. Linux can also run in non-root cells. Jailhouse was started 4 years ago as an open-source (GPL) light-weight hypervisor that statically partitions SMP systems. It's unique in that it uses one Linux instance, the root cell, as boot loader and management console. Jailhouse targets use cases for hard real-time and safety-critical systems that KVM cannot cater due to its inherent complexity
Code: commit
1.6. PowerPC: memory protection keys
This release adds support of memory protection keys (a feature merged in Linux 4.6) for Power7/8/9
1.7. Second part of AMD Secure Encrypted Virtualization
This release adds the hypervisor part of AMD Secure Encrypted Virtualization, a feature that allows to encrypt the memory of virtualized guests so that the host can't see it.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, [https://git.kernel.org/linus/35c6f649bbb2e3f367116307273f998f0bf3e08e|commit]], commit
2. Core (various)
Rework and optimize the cost of the inode->i_version counter in filesystems. There are measurable performance gains on several filesystems when streaming small (4k) I/Os commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add RWF_APPEND to pwritev2(2). This is the per-I/O equivalent of open(2)'s O_APPEND to support atomic append operations on any open file commit
Task scheduler: Add the possibility of getting the delivery of a SIGXCPU signal whenever there is a runtime overrun commit
(FEATURED)Task scheduler: reduce migrations and unnecessary spreading of load to multiple CPUs that can happen when interacting with cpufreq commit, commit, commit, commit
Task scheduler: Tweak the task migration logic for better multi-tasking workload scalability commit
Documentation: add maintainer handbook. commit
Documentation: document cgroup v2 device controller commit
printk: add console_msg_format command line option, which allows serial console messages to appear in syslog format. Recommended LWN article: Improving printk() commit
(FEATURED) membarrier(2): provide expedited command for registration and use of membarrier across processes communicating through shared memory mappings. The non-expedited command has proven to be really too slow (taking 10ms and more to complete) for real-world use. The expedited version completes in a matter of microseconds. Recommmended LWN article: Expediting membarrier(). commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
scripts: Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 'tar-pkg', this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap package commit
dma-direct: add support for CMA allocation commit and allocation from ZONE_DMA and ZONE_DMA32 commit
Power management: Add kernel option to ignore the system sleep blacklist commit
torture: Eliminate torture_runnable and perf_runnable commit
Separate error injection table from kprobes. An in-kernel fault-injection facility has also been added to debugfs which allows to inject a conditional error to specified function. For more details see Documentation/fault-injection/fault-injection.txt. commit, commit, commit, commit, commit
PCI/AER: Add uevents in AER and EEH error/resume commit
drivers: add coredump driver operation. When the driver defines it a coredump file is added in the sysfs folder of the device upon driver binding. The file is removed when the driver is unbound. User-space can trigger a coredump for this device by echo'ing to the coredump file commit
drivers: component: add debugfs support commit
3. File systems
- XFS
- BTRFS
- CIFS
(FEATURED) SMB3 Direct (RDMA) support. Starting with SMB2 dialect 3.0, Microsoft introduced SMB Direct transport protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, RoCE or iWARP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Dump IPC tcon in debug proc file commit
- F2FS
Support inode creation time commit
Introduce a sysfs interface readdir_ra to enable/disable readaheading inode block. When enabled, it improves the performance of "readdir + stat" commit
Add an ioctl to disable GC for specific file, which would be useful, when user wants to keep its block map commit
Add F2FS_IOC_PRECACHE_EXTENTS ioctl to precache extent info like ext4, in order to gain better performance during triggering AIO by eliminating synchronous waiting of mapping info commit
Support FIEMAP_FLAG_XATTR for xattr mapping info lookup commit
Allow root to reserve some blocks via mount option -o reserve_root commit
Allow to reserve blocks for specific UID/GID commit
Implement cgroup writeback support commit
- OCFS2
- OVERLAYFS
- GFS2
Implement fallocate(FALLOC_FL_PUNCH_HOLE) commit
- NFS
Support statx() mask and query flags parameters to enable some optimizations commit
- AFS
Support the AFS dynamic root, which is a pseudo-volume that doesn't connect to any server resource commit
4. Memory management
zswap: pages with the same contents are stored only once. Experiments have shown that this is the case of around 10-20% of pages commit
- KASAN
shmem: add sealing support to hugetlb-backed memfd commit
hugetblfs: implement memfd sealing commit
hugetlb: remove hugepages_treat_as_movable sysctl commit
Show total hugetlb memory consumption in /proc/meminfo commit
tools/vm/page-types: option to specify kpageflags file commit
5. Block layer
raid5-ppl: PPL support for disks with write-back cache enabled commit
device mapper: Add new "unstriped" target that enables Intel to workaround firmware limitations in some NVMe drives that are striped internally (this target also works when stacked above the DM "striped" target) commit
Support for SMR zones for deadline and mq-deadline commit, commit
null_blk: add option for managing IO timeouts commit, remove lightnvm support commit
bcache: add journal statistic commit
blk-mq: castly improve request-based DM's blk-mq sequential IO performance commit
- lightnvm
nfit, libnvdimm: deprecate the generic SMART ioctl commit
6. Tracing and perf
- perf report
Introduce perf report --tasks option to display monitored tasks stored in perf.data commit
Introduce perf report --mmaps option to display the same output as --tasks plus /proc/PID/maps similar lines for each mmap record present in perf.data commit
Introduce perf report --stats to display quick data statistics of event numbers, without any further processing, like the one at the end of perf report -D commit
perf report: Support time percent and multiple time ranges commit, commit, commit, commit, commit
- perf trace
- perf record
- perf script
perf probe: Support the special characters escaped by '\' in parser. This allows user to specify versions directly like perf probe -x /lib64/libc-2.25.so malloc_get_state\\@GLIBC_2.2.5 commit
Allow system wide perf stat --per-thread, sorting the result commit, commit
7. Virtualization
- virtualbox
vfio: ABI for mdev display dma-buf operation commit
vfio-pci: Allow mapping MSIX BAR commit
virtio_balloon: include disk/file caches memory statistics commit
virtio_net: Add ethtool stats commit
virtio_net: propagate linkspeed/duplex settings from the hypervisor commit
vmbus: add monitor_id and subchannel_id to sysfs per channel commit
uio_hv_generic: add rescind support commit
8. Cryptography
9. Security
EVM: Allow userland to permit modification of EVM-protected metadata commit
EVM: Add support for portable signature format commit
Smack: Privilege check on key operations commit
ima: support new hash and dont_hash policy actions commit
hardened usercopy whitelisting: Currently, hardened usercopy performs dynamic bounds checking on slab cache objects. This is good, but still leaves a lot of kernel memory available to be copied to/from userspace in the face of bugs. To further restrict what memory is available for copying, this creates a way to whitelist specific areas of a given slab cache object for copying to/from userspace, allowing much finer granularity of access control. Recommended LWN article: Hardened usercopy whitelisting. 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
seccomp: add PTRACE_SECCOMP_GET_METADATA flag to allow retrieving seccomp metadata commit
Introduce CONFIG_CC_STACKPROTECTOR_AUTO config option, which attempts to discover the best possible stack-protector available for the compiler being used commit
10. Networking
Significantly shrink the core routing structures. struct dst_entry shrinks from 160 to 112 bytes, struct rtable shrinks from 216 to 168 bytes, and struct rt6_info shrinks from 384 to 320 bytes. Result of http://vger.kernel.org/~davem/seoul2017_netdev_keynote.pdf commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TCP
Add a 2nd listener hash table for TCP, similar to what was done for UDP. It solves the performance issue when a process is listening at many IP addresses with the same port commit, commit, commit, commit
Enables tail loss probe in cwnd reduction (CWR) state to detect potential losses commit
Pause Fast Open globally after third consecutive timeout commit
Add netdevsim driver for testing various offloads commit, commit, commit, commit
Support cross-chip FDB operations in DSA commit
Initial lockless qdisc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SCTP stream interleave support. First commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, second: commit, commit, commit, commit, commit, commit, commit, commit
- xfrm:
- erspan:
Add explicit support for GRO HW offloading commit, commit, commit, commit, commit
Add flow table abstraction to netfilter. A new nf_flow_offload module is added that registers a hook at ingress. Every packet that hits the flow table is forwarded to where the flow table entry specifies in terms of destination/gateway and netdevice. In case of flow table miss, the packet follows the classic forward path. This flow table is populated via the new nftables VM action flow_offload, so the user can selectively specify what flows are placed into the flow table commit, commit, commit, commit, commit, commit, commit
- IPv6
Add support for non-equal-cost multipath routes commit, commit, commit, commit
Align nexthop behaviour with IPv4 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for onlink flag (RTNH_F_ONLINK) on routes commit, commit, commit
ip6gretap: Similar to gre, vxlan, geneve, ipip tunnels, allow ip6gretap tunnels to operate in collect metadata mode commit, commit, commit
devlink: Add support for resource abstraction commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qdisk: Currently the filters added to qdiscs are independent, eg if you have 2 netdevices and you create ingress qdisc on both and you want to add identical filter rules both, you need to add them twice. This release allows to make things easier and saves resources allowing to share all filters within a qdisc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xdp: new XDP rx-queue info concept commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Netfilter
- BFP
Add support for creating maps on networking devices. BPF is programs+maps, the pure program offload has been around for quite some time, this adds the map part of the equation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow arbitrary function calls from bpf function to another bpf function commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the ability to do BPF directed error injection. A lot of our error paths are not well tested because there is no good way of injecting errors generically. Some subystems have ways to inject errors, but they are random so it's hard to get reproduceable results. With this mechanism it is possible to add determinism to our error injection commit, commit, commit, commit, commit
Implement syscall command BPF_MAP_GET_NEXT_KEY for stacktrace map commit, commit
Implements MAP_GET_NEXT_KEY command for LPM_TRIE map. This command is really useful for key enumeration, and for key deletion if what keys in the trie are unknown
Implement MAP_GET_NEXT_KEY command for LPM_TRIE map commit, commit
Adds support for several sock_ops callbacks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a UID to use for ULP socket assignment commit
Allow user space to query prog array on the same tracepoint commit, commit
Allow for correlation of maps and helpers in dump commit
Restrict access to core bpf sysctls commit
tun: allow to attach ebpf socket filter commit
Add eBPF based queue selection to tun commit
bpftool: Add basic cgroup bpf operations to bpftool commit, commit, commit, commit
Add drop counters to VF statistics commit
Expose number of link up/down transitions commit
Bluetooth: Add support to advertise when connected commit
Infiniband: Increase number of char device minors commit
mac80211: enable TDLS peer buffer STA feature commit
vrf: Allow send to local broadcast from a socket bound to a VRF commit
rtnetlink: enable IFLA_IF_NETNSID for RTM_DELLINK and RTM_SETLINK commit, commit, commit
RDMA: Add general infrastructure to track RDMA resources commit, provide detailed QP information commit, provide global resource utilization commit
tuntap: XDP transmission commit
smc: support variable CLC proposal messages commit
tools: bpftool: create "uninstall", "doc-uninstall" make targets commit
mac80211_hwsim: add hwsim_tx_rate_flags to netlink attributes commit
macsec: Add support for GCM-AES-256 cipher suite commit
l2tp: remove configurable offset parameters commit, commit, commit, commit
dsa: Allow compiling out legacy support commit
dummy: remove fake SR-IOV functionality commit
11. Architectures
- ARM
v8.4: Support for new floating point multiplication instructions commit
Add Broadcom Brahma-B15 readahead cache support commit
Always use REFCOUNT_FULL commit
- device tree sources
Add basic devicetree for D-Link DNS-313 commit
Add minimal support for LogicPD OMAP35xx SOM-LV devkit commit and
Add minimal support for LogicPD OMAP35xx Torpedo devkit commit
TS-4600: add basic device tree commit
TS-7970: add basic device tree commit
am57xx: Add support for am574x-idk commit
aspeed: Add Ingrasys Zaius BMC machine commit
aspeed: Add Qanta Q71L BMC machine commit
aspeed: Add Witherspoon BMC machine commit
at91: add devicetree for the Axentia Nattis with Natte power commit
at91: introduce the sama5d2 ptc ek board commit
imx6q: Add Variscite DART-MX6 Carrier-board support commit
imx6qdl: Add Variscite DART-MX6 SoM support commit
imx6qdl: add HummingBoard2 boards commit
imx7: add Toradex Colibri iMX7D 1GB (eMMC) support commit
ls1021a: add support for Moxa UC-8410A open platform commit
sun8i: add support for Orange Pi R1 commit
sun8i: h3: Add dts file for Libre Computer Board ALL-H3-CC H3 ver commit
ep93xx: ts72xx: Add support for BK3 board - ts72xx derivative commit
owl-s500: Add Sparky commit
KVM: vgic: Support level-triggered mapped interrupts commit
KVM: Implement PSCI 1.0 support commit
Add ARM Statistical Profiling Extensions (SPE) support commit
Add support for CoreSight trace decoding by making the perf tools use the external openCSD commit, commit, commit, commit, commit, commit, commit, commit
- ARM64
(FEATURED) Implement branch predictor hardening for Falkor and affected Cortex-A CPUs and Cavium ThunderX2 commit, commit, commit, commit
(FEATURED) Add support for unmapping kernel when running in userspace (aka "KAISER") commit
Add software workaround for Falkor erratum 1041 commit
Support for RAS (firmware first only) and SDEI (software delegated exception interface; allows firmware to inject a RAS error into the OS) commit, commit
- dts
actions: Add S700 and CubieBoard7 commit
renesas: Add support for Salvator-XS with R-Car M3-W commit and initial V3MSK board device tree commit
Implement SHA-512 using special instructions commit
sha3: new v8.2 Crypto Extensions implementation commit
sm3: new v8.2 Crypto Extensions implementation commit
perf: ARM DynamIQ Shared Unit PMU support commit
perf vendor events aarch64: Add JSON metrics for ARM Cortex-A53 Processor commit
perf vendor events arm64: Add ThunderX2 implementation defined pmu core events commit
- X86
(FEATURED) Add initial platform support for the jailhouse hypervisor that allows native Linux guests (inmates) in non-root cells (guest partitions). Jailhouse was started 4 years ago as an open-source (GPL) light-weight hypervisor that statically partitions SMP systems. It's unique in that it uses one Linux instance, the root cell, as boot loader and management console. Jailhouse targets use cases for hard real-time and safety-critical systems that KVM cannot cater due to its inherent complexity commit
Add support for L2 cache partitioning to the Intel RDT facility commit, commit, commit, commit, commit
(FEATURED) Add basic IBPB (Indirect Branch Prediction Barrier) support commit
Drop "native" vsyscalls commit
- platforms
chrome: cros_ec_lpc: Add support for Google Glimmer commit
Add Acer Wireless Radio Control driver commit
Add driver for GPD pocket custom fan controller commit
Add support for Dollar Cove TI power button commit
alienware-wmi: lightbar LED support for Dell Inspiron 5675 commit
asus-nb-wmi: Support ALS on the Zenbook UX430UQ commit
intel-vbtn: Support separate press/release events commit, support tablet mode switch commit, support panel front button commit
intel_pmc_core: Add CannonLake PCH support commit
mlx-platform: Add support for new 200G IB and Ethernet systems commit, add support for new msn201x system type commit, add support for new msn274x system type commit
silead_dmi: Add Teclast X3 Plus tablet support commit, add entry for newer BIOS for Trekstor Surftab 7.0 commit, add entry for the Chuwi Vi8 tablet commit, add entry for the Teclast X98 Plus II commit, add entry for the Trekstor Primebook C13 commit, add support for the Onda oBook 20 Plus tablet commit, add touchscreen info for SurfTab twin 10.1 commit, add entry for Chuwi Hi8 tablet commit
mei: me: add cannon point device ids commit and add cannon point device ids for 4th device commit
- KVM
Hypervisor part of AMD Secure Encrypted Virtualization 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, [https://git.kernel.org/linus/35c6f649bbb2e3f367116307273f998f0bf3e08e|commit]], commit
(FEATURED) Add Indirect Branch Predictor Barrier (IBPB) is an indirect branch control mechanism. It keeps earlier branches from influencing later ones commit
Expose new cpu features to guest commit
Implements support within KVM for MSR-based features commit, commit
Support paravirtualized help for TLB shootdowns commit, commit
Emulate UMIP (or almost do so) commit, commit, commit, commit
Add emulation of MSR_SMI_COUNT commit
Emulate RDPID commit
hyperv: stable clocksource for L2 guests when running nested KVM on Hyper-V commit, commit, commit, commit, commit, commit, commit
Remove 'noreplace-paravirt' cmdline option commit
- POWERPC
(FEATURED) Enable support for memory protection keys aka "pkeys" on Power7/8/9 commit, commit
Add support for CLOCK_{REALTIME/MONOTONIC}_COARSE to the 64 bit VDSO commit
A new driver "ocxl" for "Open Coherent Accelerator Processor Interface (OpenCAPI)" devices commit, commit, commit, commit, commit, commit, commit
Extend our interrupt soft masking to support masking PMU interrupts as well as "normal" interrupts, and then use that to implement local_t for a ~4x speedup vs the current atomics-based implementation commit, commit
cpuidle: Add polling idle for shared processor guests commit
cell: Remove axonram driver commit
eeh: Add EEH notify resume sysfs commit
powernv: Add debugfs interface for imc-mode and imc-command commit
Expose TSCR via sysfs commit
- KVM
- MIPS
- S390
An implementation of the array_index_mask_nospec function to the defense against spectre v1 commit
A s390 variant of the 'retpoline' spectre v2 defense called 'expoline' commit
Run user space and KVM guests with modified branch prediction commit
qeth: support early setup for z/VM NICs commit
diag: add diag26c support for VNIC info commit
KVM: Exitless interrupts for emulated devices commit, commit, commit, commit
- SPARC
- RISCV
ftrace: Add basic support commit
- XTENSA
12. Drivers
12.1. Graphics
framebuffer: Add framebuffer debugfs file commit
Add support for a panel-orientation connector property commit
- intel
CannonLake: Add support for horizontal plane flipping commit
CannonLake: Extend HDMI 2.0 support to CannonLake commit
Add support for reset engine using GuC commands commit
- GVT
Show FBC worker status in debugfs commit
Adding more Coffee Lake PCI IDs commit
Remove debugfs/i915_seqno_info commit
Remove i915.enable_execlists module parameter commit
Remove i915.semaphores modparam commit
Remove unsafe i915.enable_rc6 commit
- amdgpu/radeon
- amdkfd
- rcar
- sun4i
- msm
Devfreq support for GPU commit
- tegra
- omapdrm
- exynos
Drop the old IPP subdriver commit
- armada
Allow disabling primary plane if overlay is full screen commit
- imx
- Format modifier support
- Add tile prefetch to PRE
- Runtime PM support for PRG
- nouveau
tinydrm: add driver for ILI9225 panels commit and ST7735R panels commit
- panel
ipu-v3: pre: add tiled prefetch support commit
bridge/sii8620: add DVI mode support commit
12.2. Storage
- ahci
ata: remove pata_at32 commit
- arcmsr
dh: add new rdac devices commit
hisi_sas: add RAS feature for v3 hw commit
lpfc: Beef up stat counters for debug commit
- megaraid_sas
- qla2xxx
scsi-mq-debugfs: Show more information commit
scsi_debug: Add support for injecting SCSI_MLQUEUE_HOST_BUSY commit, add cdb_len parameter commit
12.3. Drivers in the Staging area
media: Introduce NVIDIA Tegra video decoder driver commit
Move Novell IPX protocol support into staging commit
Move ncpfs to staging commit
Remove lirc_zilog driver commit
12.4. Networking
cavium: add support for Cavium PTP coprocessor commit
Add a driver for Gemini gigabit ethernet commit
socionext: add AVE ethernet driver commit
- Bluetooth
Add a new 04ca:3015 QCA_ROME device commit
btbcm: Add entry for BCM4343A0 UART bluetooth commit
btusb: Add a Kconfig option to enable USB autosuspend by default commit
btusb: Add support for 0cf3:e010 commit
hci_bcm: Add support for BCM2E72 commit
hci_bcm: Support Apple GPIO handling commit
hci_ll: add support for setting public address commit
- Infiniband
- RDMA
- ath10k
Add coredump_mask module parameter commit
Add memory dump support QCA988X commit
Add memory dump support for QCA6174/QCA9377 commit
Add per peer tx stats support for 10.2.4 commit
Add support for Ubiquiti rebranded QCA988X v2 commit
Handle tdls peer events commit
wmi: add management tx by reference support over wmi commit
- ath9k
bnxt_en: Add BCM5745X NPAR device IDs commit
bnxt_en: add support for software dynamic interrupt moderation commit
brcmfmac: Support 43455 save-restore (SR) feature if FW include -sr commit
can: Add support for limiting configured bitrate commit
can: m_can: Add PM Support commit
can: m_can: Support higher speed CAN-FD bitrates commit
- cxgb4
cxgb4/cxgb4vf: add support for ndo_set_vf_vlan commit
cxgb4/cxgb4vf: support for XLAUI Port Type commit
Add support for Inline IPSec Tx commit
Add support for ethtool i2c dump commit
Add vxlan segmentation offload commit, commit, commit, commit
Add geneve offload support for T6 commit
add new T5 and T6 device id's commit
enic: add sw timestamp support commit
hv_netvsc: track memory allocation failures in ethtool stats commit
i40e: Implement an ethtool private flag to stop LLDP in FW commit
igb: Allow to remove administratively set MAC on VFs commit
- iwlwifi:
- ixgbe
- mlxsw
- mt76
mwifiex: device dump support for usb interface commit
mlx4_en: Align behavior of set ring size flow via ethtool commit
- mlx5
Add DC transport support commit, commit, commit, commit, commit, commit
Add hairpin support (We refer the ability of NIC HW to fwd packet received on one port to the other port, also from a port to itself, as hairpin commit, commit, commit, commit, commit, commit, commit, commit
E-switch, Add steering drop counters commit
aquantia: Introduce new AQC devices and capabilities commit, commit
dsa: mediatek: add VLAN support for MT7530 commit
ena: add detection and recovery mechanism for handling missed/misrouted MSI-X commit
hns3: Add support of the HNS3 (Hisilicon Network Subsystem 3) Virtual Function Ethernet driver for hip08 family of SoCs merge
hns: add ACPI mode support for ethtool -p commit
- macb
- mvneta
- mvpp2
- phy
pxa168_eth: add netconsole support commit
qmi_wwan: Add if on lte modem wistron neweb d18q1 commit, add USB id for lt4120 modem commit, add BroadMobi BM806U 2020:2033 commit, add support for Quectel EP06 commit
qualcomm: rmnet: Enable csum offloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qualcomm: rmnet: adds support for configuring features (aggregation and control commands) commit, commit, commit, commit, commit, commit
thunderx: add timestamping support commit
- nfp
Add basic multicast filtering commit
bpf: adjust head support commit, commit, commit, commit, commit
Enhanced debug dump via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for offloading the encap and decap of Geneve tunnels commit, commit
Implement firmware flashing commit
phylib: Add device reset GPIO support commit
phylink: add support for 2500baseX and 10GbaseKR commit
- qtnfmac
- rtlwifi
- sfc
Initial X2000-series (Medford2) support commit, commit, commit, commit, commit, commit
Support PTP on 8000 and X2000 series NICs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support 25G configuration with ethtool commit, commit, commit
Support extra stats on Medford2 commit, commit, commit, commit
- sfp
tg3: Add Macronix NVRAM support commit
wcn36xx: Add hardware scan offload support commit
- wil6210
12.5. Audio
pcm: add {{{SNDRV_PCM_FORMAT_S20/SNDRV_PCM_FORMAT_U20 commit
hda/realtek - Add headset mode support for Dell laptop commit, commit, add support headset mode for DELL WYSE commit, enable Thinkpad Dock device for ALC298 platform commit, support headset mode for ALC215/ALC285/ALC289 commit
hda: add dock and led support for HP EliteBook 820 G3 commit and HP ProBook 640 G2 commit
usb-audio: Add native DSD support for TEAC UD-301 commit
usb-audio: Support changing input on Sound Blaster E1 commit
- ASoC
Intel: Skylake: Add extended I2S config blob support in Clock driver commit
Intel: Skylake: Add ssp clock driver commit
Intel: bytcr-rt5651: add support for Line In commit
Intel: cht_bsw_rt5645: Analog Mic support commit
TSCS42xx: Add support for Tempo Semiconductor's TSCS42xx audio CODEC commit
fsl_ssi: add 20-bit sample format for AC'97 and use it for capture commit
hdac_hdmi: Add vendor id for Cannonlake HDMI codec commit
max98373: Added Amplifier Driver commit
pcm186x: Add initial PCM1862/63/64/65 universal ADC driver commit
rockchip: i2s: Support mono capture commit
spdif: Add S32_LE support for S/PDIF dummy codec drivers commit
stm32: add DFSDM DAI support commit
sun4i-codec: enable 12Khz and 24Khz audio sample rates commit
sun4i-i2s: Add support for A83T commit
sun8i-codec: Add ADC support for a33 commit
tas5720: add basic support for TAS5722 devices commit
tas6424: Add support for TAS6424 digital amplifier commit
tlv320aic31xx: Add CODEC clock slave support commit
12.6. Tablets, touch screens, keyboards, mouses
- HID
Add special driver for Jabra devices commit
asus: Add product-id for the T100TAF and T100HA keyboard docks commit
hid-multitouch: support fine-grain orientation reporting commit
intel-ish-hid: Enable Cannon Lake and Coffee Lake laptop/desktop commit
rmi: Support the Fujitsu R726 Pad dock using hid-rmi commit
sony: Report DS4 version info through sysfs commit
wacom: Add support for One by Wacom (CTL-472 / CTL-672) commit
gpio_tilt - delete driver commit
mms114 - add support for mms152 commit
remove at32psif commit
remove atmel-wm97xx touchscreen driver commit
silead - add support for capactive home button found on some x86 tablets commit
12.7. TV tuners, webcams, video capturers
Add new uAPI for DVB streaming I/O commit
dvb-core: make DVB mmap API optional commit
dvb_frontend: add physical layer scrambling support commit
cx231xx: Add support for The Imaging Source DFG/USB2pro commit
dib0700: add support for Xbox One Digital TV Tuner commit
i2c: Add the ov7740 image sensor driver commit
i2c: as3645a: Remove driver commit
intel-ipu3: cio2: add new MIPI-CSI2 driver commit
lirc: implement reading scancode commit, implement scancode sending commit, commit
mt9m111: add media controller support commit
ov5640: add support of DVP parallel interface commit, add support of RGB565 and YUYV formats commit
ov7670: add V4L2_CID_TEST_PATTERN control commit
si2165: add DVBv5 BER statistics commit, add DVBv5 C/N statistics for DVB-C commit
stv090x: add physical layer scrambling support commit
tda18250: support for new silicon tuner commit
uvcvideo: Add D3DFMT_L8 support commit
venus: venc: Apply inloop deblocking filter commit
12.8. Universal Serial Bus
Add support for USB_REQ_SET_ISOCH_DELAY commit
- serial
ldusb: add PIDs for new CASSY devices supported by this driver commit
mtu3: supports remote wakeup for mt2712 with two SSUSB IPs commit
option: Add support for FS040U modem commit
renesas_usbhs: Add support for RZ/A1 commit
xhci: Add DbC support in xHCI driver commit
12.9. Serial Peripheral Interface (SPI)
a3700: Add full-duplex support commit
12.10. Watchdog
Add RAVE SP watchdog driver commit
Add Realtek RTD1295 commit
Add Spreadtrum watchdog driver commit
i6300esb: support multiple devices commit
jz4740: Add support for the watchdog in jz4780 SoC commit
remove at32ap700x_wdt commit
sp5100_tco: Add support for recent FCH versions commit
12.11. ACPI, EFI, cpufreq, thermal, Power Management
12.12. Real Time Clock (RTC)
Add mxc driver for i.MX53 SRTC commit
remove rtc-at32ap700x commit
cros-ec: add cros-ec-rtc driver commit
12.13. Voltage, current regulators, power capping, power supply
Add support for bq27521 battery monitor commit
power: reset: remove unused imx-snvs-poweroff driver commit
regulator: add PM suspend and resume hooks commit
regulator: sc2731: Add regulator driver to support Spreadtrum SC2731 PMIC commit
12.14. Pin Controllers (pinctrl)
Add Microsemi Ocelot SoC driver commit
axp209: add support for AXP813 GPIOs commit
imx6ul: add IOMUXC SNVS pinctrl driver for i.MX 6ULL commit
mediatek: add pinctrl driver for MT7622 SoC commit
meson-axg: Add new pinctrl driver for Meson AXG SoC commit
qcom: Add msm8998 pinctrl driver commit
sh-pfc: r8a7745: Add CAN[01] support commit
sh-pfc: r8a7795: Add CAN support commit
sh-pfc: r8a77995: Add CAN support commit
sh-pfc: r8a77995: Add CAN FD support commit
stm32: Add STM32MP157 MPU support commit
stm32: add STM32F769 MCU support commit
12.15. Multi Media Card (MMC)
block: Add CQE support commit
block: Add blk-mq support commit
cqhci: support for command queue enabled host commit
mmci: Add STM32 variant commit
mmci: Add support for setting pad type via pinctrl commit
renesas_sdhi: enable R-Car D3 (r8a77995) support commit
sdhci-acpi: Add support for ACPI HID of AMD Controller with HS400 commit
sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1 commit
sdhci-pci: Add CQHCI support for Intel GLK commit
sdhci_f_sdh30: add ACPI support commit
mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy commit
12.16. Memory Technology Devices (MTD)
nand: add reworked Marvell NAND controller driver commit
nand: mtk: Support MT7622 NAND flash controller commit
spi-nor: Add ISSI is25lp080d support commit
spi-nor: Add support for s25fl128l and s25fl256l commit
spi-nor: add support for ISSI is25lp128 commit
spi-nor: add support for is25lq040b commit
12.17. Industrial I/O (iio)
Add hardware consumer buffer support commit
ADC: add sigma delta modulator support commit
ADC: add stm32 DFSDM core support commit, add stm32 DFSDM support for PDM microphone commit, add STM32 DFSDM sigma delta ADC support commit
adc: ina2xx: Allow setting Shunt Voltage PGA gain and Bus Voltage range commit
adc: stm32: add support for differential channels commit
health: max30102: Add MAX30105 support commit
hx711: add triggered buffer support commit
light: add support for UVIS25 sensor commit
magnetometer: ak8975: Add another ACPI ID commit
proximity: sx9500: Add another ACPI ID commit
12.18. Multi Function Devices (MFD)
Add driver for RAVE Supervisory Processor commit
12.19. Inter-Integrated Circuit (I2C)
i2c: gpio: add fault injector commit
12.20. Hardware monitoring (hwmon)
dell-smm: Disable fan support for Dell Inspiron 7720 commit and Dell Vostro 3360 commit
dell-smm: Enable broken functionality via "force" module param commit
k10temp: Add temperature offset for Ryzen 1900X commit
pmbus: Add fan control support commit
pmbus: Export pmbus device debugfs directory entry commit
pmbus: cffps: Add debugfs entries commit
pmbus/max31785: Add dual tachometer support commit
pmbus/max31785: Add fan control commit
pmbus/lm25066: Drop support for LM25063 commit
hwmon: Add W83773G driver commit
12.21. General Purpose I/O (gpio)
Add GPIO support for the ACCES PCIe-IDIO-24 family commit
of: Support SPI nonstandard GPIO properties commit
of: Support regulator nonstandard GPIO properties commit
winbond: Add driver commit
12.22. Leds
trigger: Introduce a NETDEV trigger. Available triggers are link, rx, and tx. commit
lm3692x: Introduce LM3692x dual string driver commit
12.23. Cryptography hardware acceleration
chcr: Add support for Inline IPSec commit
caam: add Derived Key Protocol (DKP) support commit
chelsio: Add authenc versions of ctr and sha commit
crypto4xx: support Revision B parts commit
inside-secure: EIP97 support commit
stm32: Support for STM32 CRYP crypto module commit
12.24. PCI
Expose ari_enabled in sysfs commit
cadence: Add EndPoint Controller driver for Cadence PCIe controller commit
cadence: Add host driver for Cadence PCIe controller commit
dwc: artpec6: Add support for endpoint mode commit
dwc: artpec6: Add support for the ARTPEC-7 SoC commit
switchtec: Add device IDs for PSX 24xG3 and PSX 48xG3 commit
12.25. Non-Transparent Bridge (NTB)
Remove Intel Atom NTB driver support commit
12.26. Clock
Add Ingenic jz4770 CGU driver commit
Show symbolic clock flags in debugfs commit
hisilicon: Add support for Hi3660 stub clocks commit
meson-axg: add clock controller drivers commit
qcom: Add A53 PLL support commit
qcom: Add APCS clock controller support commit
qcom: Add regmap mux-div clocks support commit
qcom: Add spmi_pmic clock divider support commit
qcom: ipq8074: add GP and Crypto clocks commit
qcom: ipq8074: add NSS clocks commit
qcom: ipq8074: add NSS ethernet port clocks commit
qcom: ipq8074: add PCIE, USB and SDCC clocks commit
sprd: Add common infrastructure commit
ti: Drop legacy clk-3xxx-legacy code commit
clocksource/drivers/spreadtrum: Add timer driver for the Spreadtrum SC9860 platform commit
12.27. Various
ACPICA: iASL/Tools: Add support for PDTT, SDEV, TPM2 ACPI tables commit
EDAC, ti: Add support for TI keystone and DRA7xx EDAC commit
PM / OPP: Add ti-opp-supply driver commit
visorbus: move driver out of staging commit
extcon: usbc-cros-ec: add support to notify USB type cables commit
firmware: arm_sdei: Add driver for Software Delegated Exceptions commit
firmware: arm_sdei: Add support for CPU and system power states commit
firmware: arm_sdei: add support for CPU private events commit
hwrng: bcm63xx - Remove since bcm2835-rng takes over commit
hwrng: exynos - add Samsung Exynos True RNG driver commit
irqchip/gic-v2m: Add PCI Multi-MSI support commit
irqchip/irq-goldfish-pic: Add Goldfish PIC driver commit
lp: support 64-bit time_t user space commit
memory: tegra: Add Tegra186 support commit
memory: ti-emif-sram: introduce relocatable suspend/resume handlers commit
misc: rtsx: Add support for RTS5260 commit
optee: support asynchronous supplicant requests commit
regmap: add SLIMbus support commit
serial: 8250_pci: Add Brainboxes UC-260 4 port serial device commit
siox: add gpio bus driver commit
siox: new driver framework for eckelmann SIOX commit
slimbus: Add SLIMbus bus type commit
slimbus: Add messaging APIs to slimbus framework commit
slimbus: Add support for 'clock-pause' feature commit
slimbus: core: add common defines required for controllers commit
slimbus: core: add support to device tree helper commit
slimbus: qcom: Add Qualcomm Slimbus controller driver commit
slimbus: qcom: Add runtime-pm support using clock-pause commit
soc/tegra: fuse: Add Tegra186 support commit
soc: Add SoC driver for Gemini commit
soc: mediatek: add MT2712 scpsys support commit
soc: qcom: Introduce QMI encoder/decoder commit
soc: qcom: Introduce QMI helpers commit
soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP init driver commit
soundwire: Add IO transfer commit
soundwire: Add Master registration commit
soundwire: Add Slave status handling helpers commit
soundwire: Add slave status handling commit
soundwire: intel: Add Intel Master driver commit
soundwire: intel: Add Intel init module commit
switchtec: Add Global Fabric Manager Server (GFMS) event commit
tcmu: allow max block and global max blocks to be settable commit
tcmu: allow userspace to reset ring commit
tee: add TEE_IOCTL_PARAM_ATTR_META commit
tee: add register user memory commit
tty: moxa: Add support for CMSPAR commit
13. List of merges
14. Other news sites
Phoronix 4.16 feature overview