28561
Comment: explain sysenter/sysexit
|
881
|
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/SYSEXIT support: Systems that support the SYSENTER extension (Basically Intel Pentium-II and above, and AMD Athlons) now have a faster method of making the transition from userspace to kernelspace when a syscall is performed. Pentium Pro also has SYSENTER, but due to errata, is unusable. Need an updated glibc to use it. 2.5.52 released December 16, 2002: 2.5.51 released December 10, 2002: * [http://linuxconsole.sourceforge.net/ Rewrite of the console layer] * Compatibility syscall layer 2.5.50 released November 27, 2002: 2.5.49 released November 22, 2002: 2.5.48 released November 18, 2002: * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/6214.html In-kernel module loader] 2.5.47 released November 11, 2002: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html Zerocopy NFS] 2.5.46 released November 4, 2002: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll], [http://lwn.net/Articles/14168/ LWN article] * Per-cpu hot & cold page lists * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/7027.html MMU-less processor support (ucLinux)] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101095500820185&w=2 Replace initrd by initramfs] * Extended Attributes and ACLs for ext2/ext3 2.5.45 released October 31, 2002: * [http://www.xs4all.nl/~zippel/lc/ New Linux configuration system: kconfig] * [http://samba.org/~jamesm/crypto/ CryptoAPI] * [ftp://ftp.linux-ipv6.org/pub/usagi/patch/ipsec/ IPSEC] * [http://www.linuxtv.org/dvb/ Digital Video Broadcasting (DVB) layer] * [http://www.sistina.com/products_lvm.htm Device mapper for Logical Volume Manager (LVM2)] 2.5.44 released October 19, 2002: * New sysfs filesystem (formerly known as driverfs) * 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.15)>> |
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.15 has been released on 28 Jan 2018.
Summary: Besides the latest code to deal with Meltdown/Spectre, this release includes modesetting and advanced display features for the amdgpu driver; improved power management support of systems with SATA Aggressive Link Power Management; a port for the open RISC-V CPUs; initial support for virtualized memory encryption in AMD CPUs; support for the Intel User Mode Instruction Prevention feature; support of the CPU controller in cgroups v2; a new mmap(2) flag to allow direct writes to persistent memory managed by filesystems; and many new drivers and other improvements.
Contents
-
Coolest features
- Meltdown/Spectre
- Modesetting and much better display support in the AMD amdgpu driver
- Improved power management in systems with SATA Link Power Management
- New architecture: RISC-V
- Support for AMD Secure Encrypted Virtualization
- Support the User-Mode Instruction Prevention Intel Security feature
- Better CPU usage restrictions with the CPU resource controller for cgroupv2
- New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems
- Core
- 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 (USB)
- Serial Peripheral Interface (SPI)
- Serial
- 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)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Clock
- Various
- List of merges
- Other news sites
1. Coolest features
1.1. Meltdown/Spectre
This release contains the latest code to deal with Meltdown/Spectre, a security problem you probably have never heard of. Page Table Isolation to address Meltdown is supported for x86/Intel CPUs (it can be disabled with the pti=off kernel boot option); there is also the retpoline mechanism to mitigate spectre v2 (which affects both Intel and AMD), it requires a GCC version supporting the -mindirect-branch=thunk-extern functionality and it can be turned off with boot option spectre_v2=off (if you don't have such compiler, there will be a minimal retpoline mitigation that only exists in the kernel code written in assembly) The PowerPC architecture is also affected by Meltdown on many CPU models, and can prevent those attacks with a "RFI flush of L1-D cache" feature included in this release. ARM is also affected by meltdown, but patches for it are not included in this release. Spectre v1 is not addressed in this version.
A /sys/devices/system/cpu/vulnerabilities/ directory has been added that will show the vulnerabilities affecting your CPU and the mitigations being currently applied.
Code: PTI merge, commit, commit, commit, merge; retpoline commit, commit; powerpc RFI flush commit, commit, commit, commit
1.2. Modesetting and much better display support in the AMD amdgpu driver
This release finally includes the "display code" (132k LoC) that has been missing for a long time from the amdgpu driver - a new driver that AMD made for modern graphics hardware. It provides atomic modesetting support for DCE8 (CIK), DCE10 (Tonga, Fiji), DCE11 (CZ, ST, Polaris), DCE12 (vega10), and DCN1 (RV) including HDMI and DP audio, DP MST, and many other advanced display features. This display code has been enabled by default for Vega10 and Raven; pre-vega10 parts can be enabled via module parameter (amdgpu.dc=1), but are not enabled by default in this release because of stability concerns.
Code: merge
1.3. Improved power management in systems with SATA Link Power Management
For many, many years, there has been a problem with Linux and modern systems that have ALPM (Aggressive Link Power Management) in their SATA AHCI controllers (eg. Haswell, Broadwell, Skylake). Because of the obscurity and lack of documentation of the feature (and because playing with this feature was scary, because it easily caused data corruption), Linux has been unable to properly implement ALPM support for years. Lack of ALPM support prevents the system from entering in deep power saving states, which means a much worse battery life for Linux users on systems with ALPM.
In this release, a patch has been merged that implements a better default behaviour for ALPM without corrupting your data, and this means that Linux users with ALPM will see an improved battery life: a T440s test laptop saves 0.9-1.2W when idle with this patch.
Related link: Hans de Goede post
Related link: Matthew Garret post
Code: commit
1.4. New architecture: RISC-V
This release includes the main parts of the port to RISC-V CPUs. RISC-V is an open instruction set architecture that, unlike proprietary CPUs, can be freely used for any purpose, permitting anyone to design, manufacture and sell RISC-V chips and software.
The port is definitely a work in progress. While builds and boots, it's a bit hard to actually see anything happen because there are no device drivers yet.
Code: merge
1.5. Support for AMD Secure Encrypted Virtualization
Linux 4.14 already added support for AMD Secure Memory Encryption, a feature that allows encrypts memory when written to RAM, and automatically decrypts it when read, thus protecting the contents of DRAM from physical attacks on the system.
This release adds initial support for Secure Encrypted Virtualization, which integrates the memory encryption support in the AMD-V virtualization architecture to support encrypted virtual machines - virtual machines that have their memory secured such that only the guest itself has access to unencrypted version, which protects them from other virtual machines and even the hypervisor itself. Secure Encrypted Virtualization is particularly applicable to cloud computing where virtual machines need not fully trust the hypervisor and administrator of their host system. This release adds the changes necessary in a guest OS for Secure Encrypted Memory; changes required to create and manage SEV guests by a host will be merged in next releases.
See: From KVM forum, AMD's Virtualization Memory Encryption
See: AMD memory encryption whitepaper
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.6. Support the User-Mode Instruction Prevention Intel Security feature
This release adds support for a Intel CPU feature called "User Mode Instruction Prevention". When enabled, this feature disables certain instructions such as SGDT, SLDT, SIDT, SMSW and STR, from being executed in user mode, which reduces the tools available to craft some type of privilege escalation attacks. Because of emulators such as WineHQ and DOSEMU2, in virtual-8086 and protected modes, sgdt, sidt and smsw are emulated; str and sldt are not emulated (no emulation is done for user-space long mode processes).
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
1.7. Better CPU usage restrictions with the CPU resource controller for cgroupv2
Control groups with "unified hierarchy", or cgroup v2, was implemented in 2.6.24 and declared stable in 4.5. The individual resource controllers had to be ported in order to work with this new approach. The biggest missing item was the CPU resource controller, which is used to control the usage of CPU by a group of tasks. The merge of the CPU controller, however, required first addressing some funcionality in the cgroupv2 design, specifically the "thread mode", merged in 4.14, which supports hierarchical resource distribution across the threads of a group. After all that work, this release finally brings a cgroupv2-ready CPU controller.
Recommended LWN article: A milestone for control groups
1.8. New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems
This release introduces MAP_SYNC and MAP_SHARED_VALIDATE flags to mmap(2), a mechanism that implements synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall. It arranges for any filesystem metadata updates that may be required to satisfy a write fault to also be flushed ("on disk") before the kernel returns to userspace from the fault handler. Effectively every write-fault that dirties metadata completes an fsync() before returning from the fault handler. The new MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag is validated as supported by the filesystem's mmap() implementation.
Recommended LWN article: Two more approaches to persistent-memory writes
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
2. Core
PID: replace pid bitmap implementation with IDR API commit, commit
proc: Add CoreDumping flag to /proc/self/status to notify if a process is being coredumped commit
epoll: Massively increase nested epoll performance, commit, commit
- Control Groups
- livepatching
(Un)patching Callbacks, which provide a mechanism for livepatch modules to execute callback functions when a kernel object is (un)patched. They can be considered a "power feature" that extends livepatching abilities to include: Safe updates to global data, "Patches" to init and probe functions and patching otherwise unpatchable code (i.e. assembly) commit, commit, commit
Shadow variables: they allow callers to associate new shadow fields to existing data structures, in order to emulate additions to said structures commit
pvqspinlock: Implement hybrid queued/unfair lock with 2 modes to combine the best attributes of an unfair lock and a pvqspinlock. A lock waiter goes into the unfair mode when there are waiters in the wait queue but the pending bit isn't set. Otherwise, it will go into the queued mode waiting in the queue for its turn commit
sysvipc: make get_maxid O(1) once again commit
user namespaces: increase the number of uid and gid mappings a user namespace can support from 5 to 340 commit
lockdep: Add a boot parameter allowing unwind in "cross-release" lockdep feature commit, commit
Support resetting WARN_ONCE/WARN_ON_ONCE (in order to check if they are triggered again) by writting 1 to /sys/kernel/debug/clear_warn_once commit, commit
kbuild: Speed incremental builds of the kernel up by a bit by caching generated variables commit, commit
kcov: support comparison operands collection commit
Remove /proc/sys/vm/nr_pdflush_threads (has been obsolete since 2.6.32) commit
Add /sys/devices/system/cpu/vulnerabilities directory to show the status of meltdown/spectre handling commit
3. File systems
- XFS
Initial parts of online fsck support, complete support will be merged in future releases 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
Switch to use a b+tree to implement the in-core extent list. This reduces the need for a large contiguous allocation that the current indirection array requires, and thus avoids stalls during workloads using giant extent lists (ie. workloads that work with heavily fragmented files), especially on systems that are long running commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Btrfs
Allow to specify zlib compression level, using the mount option -o compress=zlib:9 commit, commit
Improve btrfs send performance of large files commit
A new version of ioctl "extent to inode mapping", addressing a usecase where we want to retrieve more but inaccurate results and do the postprocessing in userspace, aiding defragmentation or deduplication tools commit, commit, commit
Enable indexing for btrfs as lower filesystem in overlayfs commit
Add heuristics for faster guess of the compressibility of data commit, commit, commit, commit, commit, commit, commit
add ref-verify, an optional debugging feature to verify extent reference accounting commit, commit
- ext4
- F2FS
Support flexible inline xattr size commit
Support issuing/waiting discard in range commit
Support error injection of bio allocation commit and get_page errors commit
Support quota sys files commit
Support soft block reservation commit
Export SSR allocation threshold in sysfs commit
Show # of dirty segments via sysfs commit
Show flush list status in sysfs commit
Expose quota information in debugfs commit
- CRAMFS
- GFS2
- AFS
4. Memory management
Speed up page cache truncation part 1 commit, commit, commit, commit, commit, commit, commit
Speed up page cache truncation part 2 commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Implement synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace (through a new mmap(2) flag, MAP_SYNC), so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make able to disable NUMA stats for improved performance by writing 0 to /proc/sys/vm/numa_stat commit
Switches page table accounting to single counter from three - this removes VmPMD and VmPUD in /proc/self/status commit
Complete deferred page initialization commit, commit, commit, commit, commit, commit, commit, commit
dump_pagetables: Add two debugfs files which allow to dump the pagetable of the current task commit, commit, commit
Add infrastructure for get_user_pages_fast() benchmarking commit
slabinfo: add "-U" option to show unreclaimable slabs only commit
android/ion: userspace test utility for ion buffer sharing commit
kmemcheck: rip it out, it has been obsoleted by other facilities commit
Account filp cache to kmemcg commit
Account epoll's epitem and eppoll_entry to kmemcg commit
5. Block layer
loop: make loop cgroup aware commit
device mapper: add DAX support to the DM log-writes target commit, commit
null_blk: add no_sched module parameter commit
zram: add zstd to the supported algorithms list and remove zlib from the recommended list commit, commit
zram: skip swapcache for fast devices to reduce swap-in latency commit, commit, commit, commit
bcache: implement PI controller for writeback rate commit
brd: remove dax support commit
6. Tracing and perf
ftrace: Allow module init functions to be traced commit, commit, commit, commit, commit
tracing: add support for preempt and interrupt enabled/disable events commit, commit
perf stat: Add generic support for standalone metrics specified in JSON files. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit
perf stat: Setting up groups can be complicated due to the complicated scheduling restrictions of different PMUs. Add a concept of a 'weak group': try to set up a group, but if it's not schedulable fallback to not using a group commit
perf list: Print metric groups with perf list metricgroups. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit
perf record: user registers can currently only collected implicitely with call graph recording. To allow to see them separately, and filter them, add a new --user-regs option to record that is similar to --intr-regs, but acts on user regs. Also teach perf script to print user regs commit, commit
perf sched timehist: Add --pid and --tid options to show only events for specific pid/tids commit
perf script: Allow creating per-event dump files commit
perf top: multithread the synthetizing of events, which greatly improves user experience in systems such as Intel's Knights Mill commit, commit
Update vendor events JSON metrics for Broadwell DE commit, Broadwell Server commit, Broadwell commit, Haswell EP commit, Haswell commit, Ivy Bridge commit, Ivy Town commit, Sandy Bridge EP commit, Sandy Bridge commit, Skylake commit, Skylake server commit, add Goldmont Plus V1 event file commit
kprobes: Disable the jprobes APIs in preparation for removal. Nowadays ftrace and other tracing features are mature enough to replace jprobes use-cases commit, commit, commit, commit, commit
7. Virtualization
Hyper-V: vmbus: Expose per-channel info in sysfs commit, commit
tools/kvm_stat: Add Python 3 support to kvm_stat commit
vfio/pci: Virtualize Maximum Payload Size commit and Maximum Read Request Size commit
XEN: introduces the frontend for the newly introduced PV Calls procotol, which allows the implementation of a set of POSIX functions in a different domain commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
XEN: grant table interface v2 support commit, commit, commit, commit, commit
8. Cryptography
sm3: add OSCCA SM3 secure hash commit
9. Security
- Add eBPF LSM hooks (see bpf section in networking)
- EVM
Extend the /sys/kernel/security/evm interface to allow userspace to signal an RSA key has been loaded. Also allow userspace to block loading of a symmetric key in order to avoid a compromised system from being able to load an additional key type later commit
Include security.apparmor in EVM measurements commit
- audit
Smack: Base support for overlayfs commit
10. Networking
Note: If you are interested in Linux networking, it is recommended to take a look at LWN's reports on Netconf 2017 and Netdev 2.2
- TCP
Maintain the TCP retransmit queue using an rbtree, with 1GB windows at 100Gb this really has become necessary commit
Improve the CPU consumption of the RACK TCP loss recovery algorithm, in particular for high-speed networks commit, commit, commit
Remove the forward-acknowledgment (FACK) packet-based loss and reordering detection. FACK has been disabled by default and the successor RACK subsumed FACK and can handle reordering better commit, commit
Higher throughput under reordering with adaptive RACK reordering wnd commit
New socket option TCP_FASTOPEN_KEY to allow different keys per listener commit
Configure TFO without cookie per socket and/or per route. Linux already allows to enable TFO without a cookie by using the fastopen-sysctl and setting it to TFO_SERVER_COOKIE_NOT_REQD (or TFO_CLIENT_NO_COOKIE). This release exposes a socket-option and a per-route attribute to enable such fine-grained configurations commit
Add namespace support for the sysctls tcp_abort_on_overflow commit, tcp_adv_win_scale commit, tcp_app_win commit, tcp_autocorking commit, tcp_challenge_ack_limit commit, tcp_default_congestion_control commit, tcp_dsack commit, tcp_early_retrans commit, tcp_fack commit, tcp_frto commit, tcp_invalid_ratelimit commit, tcp_limit_output_bytes commit, tcp_max_reordering commit, tcp_min_rtt_wlen commit, tcp_min_tso_segs commit, tcp_moderate_rcvbuf commit, tcp_nometrics_save commit, tcp_pacing_ca_ratio commit, tcp_pacing_ss_ratio commit, tcp_recovery commit, tcp_retrans_collapse commit, tcp_rfc1337 commit, tcp_rmem and tcp_wmem commit, tcp_slow_start_after_idle commit, tcp_stdurg commit, tcp_thin_linear_timeouts commit, tcp_tso_win_divisor commit, tcp_workaround_signed_windows commit
Add support for the new of a new TCP experimental option that is needed by the SMC protocol. With this option, SMC capabilities are exchanged between peers during the TCP three way handshake commit
- IPv4
- IPv6
During route lookup, reader lock is taken and during route insertion, deletion or modification, writer lock is taken. This is a very inefficient implementation because the fastpath always has to do the operation to grab the reader lock. This release tries to get rid of the usage of the rwlock and replace it with rcu and spinlock protection. This greatly speeds up the fastpath performance as it only needs to hold rcu which is much less expensive than grabbing the reader lock commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement limits on RFC 8200 Hop-by-Hop and Destination options commit
Set all.accept_dad to 0 by default commit
Add support for sockopt(SOL_IPV6, IPV6_FREEBIND) commit
ila: make identifier format optional commit, commit, commit, commit, commit
Add a per-device sysctl (ndisc_tclass) to specify IPv6 Neighbour Discovery traffic class commit
VSOCK: add the netlink sock_diag interface for AF_VSOCK. Userspace can send a DUMP request to filter sockets based on their state (connected, listening, etc) commit, commit, commit, commit, commit
- BPF
spectre v2 prevention: prevent out-of-bounds speculation commit, introduce BPF_JIT_ALWAYS_ON config commit
Add 'bpftool' utility, to help with the inspection and simple manipulation of eBPF maps (documentation tools/bpf/bpftool
Allow BPF programs to get the base RTT of the connection commit, commit, commit, commit, commit
New bpf cpumap type for XDP_REDIRECT commit commit, commit, commit, commit
eBPF-based device cgroup controller: cgroup v2 lacks the device controller, provided by cgroup v1; this release adds a new eBPF program type, which in combination of previously added ability to attach multiple eBPF programs to a cgroup, will provide a similar functionality, but with some additional flexibility commit, commit, commit, commit, commit
New file mode and LSM hooks for eBPF object permission control: eBPF objects are accessed, controlled, and shared via a file descriptor, but unlike file descriptors for files and sockets, the existing mechanisms for eBPF object access control are very limited: grant access to all processes, or only CAP_SYS_ADMIN processes. This release adds LSM hooks to eBPF so that security systems such as selinux can do a more fine grained control commit, commit, commit, commit, commit
Extend bpf_{prog,map}_info commit, commit, commit, commit, commit
Permit multiple bpf attachments for a single perf tracepoint event commit, commit, commit
Enable generic transfer of metadata from XDP into skb, meaning the packet has a flexible and programmable room for meta data, which can later be used by BPF to set various skb members when passing up the stack commit, commit, commit, commit, commit, commit
Add support for attaching multiple programs per cgroup commit, commit, commit, commit, commit, commit, commit, commit
Add offload as a first class citizen commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- bridge
IGMP snooping for local traffic commit, commit, commit, commit, commit, commit
Add notifications for the bridge dev on vlan change commit
Implement arp and nd suppression in the bridge driver for ethernet vpns. It implements rfc7432, section 10 for ethernet VPN deployments commit, commit, commit
Trigger RTM_NEWLINK when interface is modified by bridge ioctl commit
- 802.11 (wireless)
ppp: allow usage in namespaces commit
ip_tunnel: add mpls over gre support commit
Trigger netlink notification on ifalias change via sysfs commit
Time-sensitive Networking (TSN): Add qdisc based config interface for Credit-Based Shaper (CBS). The CBS queueing discipline implements the shaper algorithm defined by the 802.1Q-2014 Section 8.6.8.2 and detailed in Annex L commit, commit, commit, commit, commit, commit
Distributed switch architecture: add port fdb dump commit
qrtr: Support decoding incoming v2 packets commit
- packet scheduler
netfilter: nf_tables: adds a new get operation to look up for specific elements in a set via netlink interface commit
- openvswitch
smc: add SMC rendezvous protocol commit
SCTP: Introduce SCTP Stream Schedulers. It provides 3 schedulers at the moment: FCFS, Priority and Round Robin. The other 3, Round Robin per packet, Fair Capacity and Weighted Fair Capacity will be added later commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Add a 'Group Communication' feature in order to resolve the datagram and multicast flow control problem. This new feature makes it possible for a user to instantiate multiple private virtual brokerless message buses by just creating and joining member sockets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvlan: add 'private' and 'vepa' attributes to ipvlan modes commit, commit
- Infiniband
Expose CQ moderation to user space commit, commit, commit, commit, commit, commit, commit
Receive stateless offloading support for incoming tunneling traffic for raw ethernet QP commit, commit, commit
Introduce Multi-Packet receive work queue to improve performance and memory footprint commit, commit
NFC: Add NFC_CMD_DEACTIVATE_TARGET support commit
11. Architectures
- RISC-V
Add new RISC-V architecture (FEATURED) merge
- ARM 32/64 bit Device-Tree Sources
New SoC: Add support for Broadcom Hurricane 2 SoC used in switching products commit, commit
Hurricane 2 based support for Ubiquiti UniFi Switch 8 commit
Hurricane 2 based support for Broadcom BCM5301X based wireless access points and routers: Luxul ABR-4500 commit, Luxul XBR-4500 commit, Luxul XAP-1440 commit, Luxul XAP-810 commit
New SoC: Allwinner R40 is a new SoC, with Quad Core Cortex-A7 and peripherals like A20 commit, commit
Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers commit, commit
New SoC: Amlogic Meson-AXG A113D based SoC for audio commit
Allwinner A83T based TBS A711 Tablet commit
Allwinner H5 based NanoPi NEO Plus2 single-board computer commit
Actions S500 based CubieBoard6 single-board computer commit
Amlogic S912 based Khadas VIM2 single-board computer commit
Amlogic S912 based Tronsmart Vega S96 set-top-box commit
NXP i.MX51 based Zodiac Inflight Innovations RDU1 board commit
NXP i.MX53 based GE Healthcare PPD biometric monitor commit
NXP i.MX6 based Pistachio single-board computer commit
NXP i.MX6 based Vining-2000 automotive diagnostic interface commit
NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants commit
Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone commit
Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet commit
Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA commit, commit
New SoC: Renesas R-Car V3M (R8A77970) SoC for automotive commit, commit
R-Car V3M "Eagle" reference board commit
Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards commit, commit, commit
Renasas r8a7745 based iWave G22D-SODIMM SoM commit
Rockchip rk3288 based Amarula Vyasa single-board computer commit
Samsung Exynos5800 based Odroid HC1 single-board computer commit
display5: Device tree description of LWN's DISPLAY5 board commit
imx6qdl-wandboard: Add support for the revd1 variants commit
iwg22m: Add iWave RZG1E SODIMM board based on RZ/G1E commit, commit
sun7i: Add dts file for A20-OLinuXino-MICRO-eMMC commit
DRA722: Add support for DRA71x Silicon Rev 2.1 commit
ulcb-kf: initial device tree commit
- ARM
Make XIP kernel .data compressed in ROM commit, commit, commit, commit, commit
Add support for ELF fdpic binaries on both MMU and noMMU platforms commit, commit, commit, commit, commit, commit, commit, commit
Delete the V3 PCI driver commit
NOMMU: Support MPU in XIP configuration commit
KVM: Add full support for GICv4, bringing direct injection of MSIs to arm and arm64 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
KVM: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET commit
- ARM64
Initial support for the Scalable Vector Extension (SVE), an extension to the AArch64 execution state which complements and extends the SIMD functionality of the base architecture to support much larger vectors 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
Always use REFCOUNT_FULL commit
Expose support for optional ARMv8-A features commit
perf: Add PMU driver for ARMv8.2 Statistical Profiling Extension commit
perf: Add PMU driver for Hisilicon's system PMUs commit, commit, commit,commit
- X86
(FEATURED) Add page table isolation to fix Meltdown merge, commit, commit, commit
Implement CPU vulnerabilites sysfs functions commit
(FEATURED) Add User-Mode Instruction Prevention 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
Enable new SSE/AVX/AVX512 CPU features commit
PCI: Enable a 64bit BAR on AMD Family 15h (Models 00-1f, 30-3f, 60-7f) commit
intel_rdt: Add framework for better RDT UI diagnostics commit
(FEATURED) Add AMD Secure Encrypted Virtualization (SEV) support part 1 (changes required in a guest OS for SEV support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit commit
Add vector domain debugfs support commit
- platforms
wmi: create userspace interface for drivers commit
Add driver to force WMI Thunderbolt controller power status commit
asus-wmi: Add lightbar led support commit
thinkpad_acpi: Implement tablet mode using GMMS method commit
intel_turbo_max_3: Add Skylake platform commit
silead_dmi: Add entry for the Chuwi Hi8 Pro tablet commit, add entry for the Digma e200 tablet commit
dell-smbios-wmi: Add new WMI dispatcher driver commit, commit, commit, commit, commit
Remove unused HyperTransport interrupt support commit
xen: support 52 bit physical addresses in pv guests commit
kvm: vmx: Allow disabling virtual NMI support commit
- OPENRISC
- POWERPC
(FEATURED) Add support for RFI flush of L1-D cache to address meltdown issue commit, commit, commit, commit
Add commandline option to disable hardware transactional memory commit
Implement PMEM API commit
Implement UACCESS_FLUSHCACHE API commit
Allow to configure if radix is used by default commit
VAS: Add support for user receive window commit, export HVWC to debugfs commit
xmon: Add option to show uptime information commit, support dumping software pagetables commit
Add support for setting SPRN_TIDR commit
Add POWER9_DD20 feature commit
KVM: PPC: Book3S HV: Add infrastructure for running HPT guests on radix host commit, allow for running POWER9 host in single-threaded mode commit
- S390
Add support for FORTIFY_SOURCE commit
Queued spinlocks and queued rwlocks implementations commit, commit, commit, commit
Add hardware counter support for IBM z14 commit
crypto: add s390 platform specific aes gcm support commit
disassembler: add new z14 instructions commit, add sthyi instruction commit
ptrace: add runtime instrumention register get/set which allows to read and modify the runtime instrumention control block commit
Add s390_sthyi system call which emulates the sthyi (store hypervisor information) instruction commit
topology: add detection of dedicated vs shared CPUs commit
Optimized implementations of memset16, memset32 & memset64 commit and memset commit
virtio: remove the old KVM virtio transport commit
zcrypt: add the full CEX6S card support to the zcrypt device driver commit
zcrypt: Introduce QACT support for AP bus devices commit
- perf
- SPARC
vDSO for sparc commit
- MIPS
- M68K
Add Sysam stmark2 open board support commit
- PARISC
parisc: Add CPU topology support commit
12. Drivers
12.1. Graphics
Add DRM mode object leasing for improving VR use cases. It provides new data structures to hold "lease" information about drm mode setting objects, and provides for creating new drm_masters which have access to a subset of the available drm resources commit, commit, commit, commit
Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls. They provide crtc-id based functions instead of pipe-number, while also offering higher resolution time and wider frame count as required by the Vulkan API commit
- intel
Add Display IPC support. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display commit, commit, commit
Transparent Huge Page support commit, commit, commit, commit, commit, commit
User defined priorities support. It allows to change the default priority on a per-context basis, allowing different contexts to be favoured with GPU time at the expense of lower importance work. The user can adjust the context's priority via I915_CONTEXT_PARAM_PRIORITY, with more positive values being higher priority (they will be serviced earlier, after their dependencies have been resolved) commit, commit, commit
gvt: Add emulation for BAR2 (aperture) with normal file RW approach commit
gvt: Add support for PCIe extended configuration space commit
perf: add support for Coffeelake GT2 commit
Drop debugfs/i915_gem_pin_display commit
- amdgpu
(FEATURED) Merge the AMD DC (display code) layer which is requirement to program the display engines on the new Vega and Raven based GPUs. It also contains support for all amdgpu supported GPUs (CIK, VI, Polaris), which has to be enabled. It is also a kms atomic modesetting compatible driver (unlike the previous display code) and it includes HDMI and DP audio, DP MST, and many other advanced display features merge
BO flag to allow buffers to opt out of implicit sync commit
Add GPU reset functionality for Vega10 commit
Prime mmap support commit
Add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file or being able to convert an amdgpu fence into one of the handles commit
UVD video encode ring support on Polaris commit, commit, commit, commit, commit, commit, commit, commit, commit
Transparent huge page DMA support commit, commit, commit, commit
CTX priority setting API commit, commit, commit, commit, commit
Add query to allow userspace to figure out if VRAM was lost commit
Powerplay: get the temperature on CZ commit
Add option for force enable multipipe policy for compute commit
amdkfd: Drop radeon support commit
- nouveau
Pascal temperature sensor support commit
- exynos
- tegra
Prep work for tegra186 commit
- msm
- vc4
New madvise ioctl commit
- Rockchip
LVDS support commit
- omapdrm
- etnaviv
- sun4i
- pl111
- adv7511
Add HDMI CEC support commit
- sii8620
Add remote control support commit
- host1x
- panel
tve200: Add new driver for TVE200 commit
fbdev: remove dead igafb driver commit
12.2. Storage
(FEATURED) libata: Add new med_power_with_dipm link_power_management_policy setting commit
ahci: Add support for Cavium's fifth generation SATA controller commit
ceva: Add gen 3 mode support in driver commit
ceva: Make RxWaterMark value as module parameter commit
- nvme
- SCSI
scsi: Export blacklist flags to sysfs commit
sd: change allow_restart to bool in sysfs interface commit
hisi_sas: add v3 hw DFX feature commit
hisi_sas: add support for servicing AXI error handling commit, commit
megaraid_sas: Add support for Crusader controllers commit
mpt3sas: NVMe support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mpt3sas: Adding support for SAS3616 HBA device commit
qla2xxx: Changes to support N2N logins commit
qla2xxx: Reinstate module parameter ql2xenablemsix commit
smartpqi: update controller ids commit
target: Add netlink command reply supported option for each device commit
12.3. Drivers in the Staging area
typec: fusb302: Move out of staging commit
typec: tcpm: Move out of staging commit
comedi: adv_pci_dio: update for PCI-1761 commit
atomisp: Remove AP1302 sensor support commit
atomisp: Remove IMX sensor support commit
VME: Remove PIO2 driver commit
12.4. Networking
- Bluetooth
Add support for the HiSilicon RoCE engine in the hip08 SoC 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
vmw_pvrdma: Add shared receive queue support commit
ath10k: add new cipher suite support commit
- bnxt_en
brcmfmac: add CLM download support commit
- cxgb4
Add support for new flash parts commit
Add support to offload tc flower commit, commit, commit, commit
Add new pci device id's for T5 commit, commit and T6 commit, commit
Add hash-filter support to tc-flower offload commit, commit, commit, commit, commit, commit, commit
Enable more tc flower offload matches and actions commit, commit, commit, commit, commit, commit, commit, commit
Collect more hardware dumps via ethtool commit, commit, commit, commit, commit, commit, commit, commit
Add support to get hardware debug logs via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove the obsolete kernel module option 'c4iw_debug' commit
cxgb4vf: define get_fecparam ethtool callback commit
enic: Add support for 'ethtool -g/-G' commit
hv_netvsc: Add ethtool handler to set and get TCP hash levels commit
- i40e
Configuring traffic classes via new hardware offload mechanism in tc/mqprio commit, commit, commit, commit, commit, commit
tc-flower based cloud filters commit, commit, commit, commit, commit, commit
Add new PHY types for 25G AOC and ACC support commit
Add support for 'ethtool -m' commit
allow XPS with QoS enabled commit
i40evf: enable support for VF VLAN tag stripping control commit
- ibmvnic
atusb: Driver for Busware HUL dongle commit
- iwlwifi
ixgbe: add counter for times Rx pages gets allocated, not recycled commit
liquidio: xmit_more support commit, switchdev support for LiquidIO NIC commit
- mlxsw
Preparation for multicast router offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for partial multicast route offload commit, commit, commit, commit, commit, commit, commit
Add router adjacency dpipe table commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for non-equal-cost multi-path commit, commit, commit, commit, commit, commit, commit, commit
Add support for offloading IPv4 multicast routes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handle changes in GRE configuration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload decap without encap commit, commit, commit, commit, commit
qdisc RED offload commit, commit, commit ,commit, commit, commit, commit, commit, commit
Offload bridge device mrouter commit, commit, commit, commit, commit
- mlx5/mlx5e
Enable differentiated services code point (dscp) to priority mapping for Ethernet packet. Once this feature is enabled, the packet is routed to the corresponding priority based on its dscp. User can combine this feature with priority flow control (pfc) feature to have priority flow control based on the dscp commit, commit, commit, commit, commit, commit
IPoIB Muli Pkey support commit, commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit
Support multiple updates of steering rules in parallel commit
Add support for 802.1ad vlan filter commit and insertion support commit
Add VLAN offloads statistics commit
Add support for ethtool msglvl support commit
CHECKSUM_COMPLETE offload for VLAN/QinQ packets commit
Enable CQE based moderation on TX CQ commit
Add support for networking over Thunderbolt cable commit, commit and properties commit, commit
- dsa
ena: add power management ops to the ENA driver commit, add statistics for missed tx packets commit
- hns3
Add support for DCB feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mqprio hardware offload support in hns3 driver commit
Add support set_link_ksettings and for nway_reset ethtool command commit, commit
Support set_ringparam and {set|get}_rxnfc ethtool commands commit, commit, commit
Add mac loopback selftest support in hns3 driver commit
korina: use GRO commit
mvpp2: add ethtool GOP statistics commit
- phy
qmi_wwan: add Quectel BG96 2c7c:0296 commit, add Sierra EM7565 1199:9091 commit
qualcomm: rmnet: Add support for GRO commit, implement bridge mode commit
- netronome nfp
Extend flower offload match and action capabilities to add offload capabilities for matching on MPLS, TTL, TOS and flow label. Furthermore offload capabilities for action have been expanded to include set ethernet, ipv4, ipv6, tcp and udp headers commit, commit, commit, commit, commit, commit, commit
Add get/set link settings ndos to representors commit
bpf: stack support in offload commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf: support direct packet access commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf ABIv2 and multi port commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf: support [BPF_ALU | BPF_ALU64] | BPF_NEG commit
flower vxlan tunnel offload commit, commit, commit, commit, commit, commit, commit
qedr: Add iWARP support for QL4xxxx commit, commit, commit, commit, commit, commit, commit
- qed
qtnfmac: make "Channel change" event report full channel info commit
r8169: Add support for interrupt coalesce tuning (ethtool -C) commit
ravb: RX checksum offload commit
- rsi
- rtlwifi
sfc: support rx-fcs and rx-all commit
wil6210: remove SSID debugfs commit
Add a driver for Renesas uPD60620 and uPD60620A PHYs commit
12.5. Audio
ac97: add an ac97 bus. The goal of this new implementation is to implement a device/driver model for AC97, with an automatic scan of the bus and automatic discovery of AC97 codec devices commit
hda/realtek: Add support for ALC1220 commit, add headset mic support for Intel NUC Skull Canyon commit, new codec support for ALC257 commit
hda: Add Raven PCI ID commit
line6: add support for POD HD DESKTOP commit
- ASoC
AMD: Add machine driver for cz rt5650 commit
Intel: Headset button support in kabylake machine driver commit
Intel: cht_bsw_max98090: add support for Baytrail commit
add mclk-fs support to audio graph card commit
arizona: Add support for setting the output volume limits commit
bcm2835: Add support for TDM modes commit, support additional samplerates up to 384kHz commit, support left/right justified and DSP modes commit
cygnus: Remove support for 8 bit audio and for mono commit
da7213: add support for DSP modes commit
intel: byt: Add headset jack commit
max98927: Added support for DSP_A and DSP_B format commit
rsnd: add MIX Volume Ramp support commit
rt5514: Voice wakeup support commit
stm32: sai: Add synchronization support commit
ts3a227e: add acpi table commit
wm9705: add ac97 new bus support commit
wm9712: add ac97 new bus support commit
wm9713: add ac97 new bus support commit
sound: Retire OSS commit
12.6. Tablets, touch screens, keyboards, mouses
- HID
Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel commit
alps: add support for Alps T4 Touchpad device commit, add new U1 device ID commit,
asus: Add support for Fn keys on Asus ROG G752 commit
Add I2C attached EETI EXC3000 multi touch driver commit
Add support for the Samsung S6SY761 touchscreen commit
edt-ft5x06: implement support for the EDT-M12 series commit
goodix: support gt1151 touchpanel commit
wm97xx: add new AC97 bus support commit
xpad: add support for PDP Xbox One controllers commit
12.7. TV tuners, webcams, video capturers
rockchip/rga: v4l2 m2m support commit
v4l2-tpg: add Y10 and Y12 support commit
vivid: add support for Y10 and Y12 commit
cec-gpio: add HDMI CEC GPIO driver commit
imx274: V4l2 driver for Sony imx274 CMOS sensor commit
- remote control
tc358743: add CEC support commit
tegra-cec: add Tegra HDMI CEC driver commit
usbtv: add a new usbid commit
12.8. Universal Serial Bus (USB)
typec: driver for TI TPS6598x USB Power Delivery controllers commit
typec: wcove: start using tcpm for USB PD support commit
f81534: implement break control commit
qcserial: add pid/vid for Sierra Wireless EM7355 fw update commit, add Sierra Wireless EM7565 commit
dwc2: add support for STM32F7xx USB OTG HS commit
mtu3: support option to disable usb3 ports commit
mtu3: add support for usb3.1 IP commit
renesas_usbhs: add support for R-Car D3 commit
usb251xb: Add USB2517i specific struct and IDs commit
xhci-mtk: support option to disable usb3 ports commit
xhci: add port speed ID to portsc tracing commit
xhci: Add debugfs interface for xHCI driver commit
early: Use new USB product ID and strings for DbC device commit
option: add Quectel BG96 id commit, add support for Telit ME910 PID 0x1101 commit, adding support for YUGA CLM920-NC5 commit
usb_debug: add new USB device id commit
cp210x: add new device ID ELV ALC 8xxx commit, add IDs for LifeScan OneTouch Verio IQ commit
ftdi_sio: add id for Airbus DS P8GR commit
phy: mxs: add usb charger type detection commit
phy: remove phy-msm-usb.c commit
phy: remove phy-qcom-8x16-usb.c commit
host: remove ehci-msm.c commit
Drop unused usb-serial-core USB driver commit
12.9. Serial Peripheral Interface (SPI)
12.10. Serial
8250_fintek: UART dynamic clocksource on Fintek F81216H commit and Fintek F81866 commit
8250_mid: Enable HSU on Intel Cedar Fork PCH commit
mvebu-uart: add function to change baudrate commit, support probe of multiple ports commit, commit
8250_pci: Add Amazon PCI serial device ID commit
serdev: Add ACPI support commit
sh-sci: Support for variable HSCIF hardware RX timeout commit
tty: serial: meson: allow baud-rates lower than 9600 commit
12.11. ACPI, EFI, cpufreq, thermal, Power Management
- ACPI:
LPIT: Add Low Power Idle Table (LPIT) support commit
PMIC: Add TI PMIC TPS68470 operation region driver commit
PMIC: Add opregion driver for Intel Dollar Cove TI PMIC commit
nfit: add support for the _LSI, _LSR, and _LSW label methods commit
nfit: Enable to show what feature is supported for nfit_test commit
nfit: add 'Enable Latch System Shutdown Status' command support commit
nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs commit
APD: Add clock frequency for ThunderX2 I2C controller commit
- thermal
hisi: Add support for hi3660 SoC commit
Add Tegra BPMP thermal sensor driver commit
Add brcmstb AVS TMON driver commit
imx: Add support for reading OCOTP through nvmem commit
int340x: processor_thermal: Add Cannon Lake support commit and Coffee Lake support commit
pch: Add Cannon Lake support commit
rockchip: Support the RV1108 SoC in thermal driver commit
cpuidle: ladder: Add per CPU PM QoS resume latency support commit
nfit_test: add error injection DSMs commit
12.12. Real Time Clock (RTC)
mediatek: add driver for RTC on MT7622 SoC commit
Add support for NXP PCF85363 real-time clock commit
sc27xx: Add Spreadtrum SC27xx PMIC RTC driver commit
12.13. Voltage, current regulators, power capping, power supply
Add support for Smart Battery System Manager commit
axp20x: Add support for AXP813 regulators commit
da9211: update for supporting da9223/4/5 commit
qcom_spmi: Add support for pmi8994 commit
12.14. Pin Controllers (pinctrl)
intel: Add Intel Cedar Fork PCH pin controller support commit
sh-pfc: r8a7795: Add SDHI0-3 support commit, Add USB3.0 host support commit
sh-pfc: r8a77995: Add USB2.0 host support commit
sh-pfc: r8a7795-es1: Add USB3.0 host support commit
rza1: Add support for RZ/A1L commit
gpio: mcp23s08: add support for mcp23018 commit
12.15. Multi Media Card (MMC)
Preparations for enabling CQE (eMMC CMDQ) requests commit, commit, commit
Convert RPMB to a character device commit
Export emmc revision in sysfs commit
- mediatek
meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs commit
sdhci-omap: Add OMAP SDHCI driver commit
sdhci-pci: Add support for Intel CDF commit
12.16. Memory Technology Devices (MTD)
sharpslpart: Add sharpslpart partition parser commit
intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID commit
- spi-nor
12.17. Industrial I/O (iio)
accel: add support to LIS2DW12 commit
accel: add support to LIS3DHH commit
accel: kxcjk1013: add support for KXTF9 commit
dac: Add Texas Instruments 8/10/12-bit 2/4-channel DAC driver commit
dac: ad5446: Add IDs of compatible Texas Instruments chips commit
dac: ds4422/ds4424 dac driver commit
adc: mcp320x: Add support for mcp3550/1/3 commit
chemical: ccs811: Add support for data ready trigger commit
gyro: st_gyro: add SPI-3wire support to st_gyro framework commit
light: tcs3472: support out-of-threshold events commit
magnetometer: st_magn: add SPI-3wire support to LIS3MDL commit
pressure: add support to LPS33HW and LPS35HW commit
pressure: st_pressure: add SPI-3wire support to st_pressure framework commit
proximity: Add rfd77402 driver commit
platform/chrome: Add cros_ec_accel_legacy driver commit
12.18. Multi Function Devices (MFD)
Add Spreadtrum SC27xx series PMICs driver commit
Add support for Cherry Trail Dollar Cove TI PMIC commit
rts5249: Add support for RTS5250S power saving commit
wm97xx-core: core support for wm97xx Codec commit
12.19. Pulse-Width Modulation (PWM)
mediatek: Add MT2712/MT7622 support commit
12.20. Inter-Integrated Circuit (I2C)
xgene-slimpro: Support v2 commit
12.21. Hardware monitoring (hwmon)
k10temp: Add support for family 17h commit, add support for temperature offsets commit
max6621: Add support for Maxim MAX6621 temperature sensor commit
xgene: Support hwmon v2 commit
pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller commit
12.22. General Purpose I/O (gpio)
Add Tegra186 support commit
Add driver for Maxim MAX3191x industrial serializer commit
dwapb: Add wakeup source support commit
12.23. Leds
ledtrig-activity: Add a system activity LED trigger commit
Add driver for PC Engines APU/APU2 LEDs commit
12.24. DMA engines
Add STM32 DMAMUX driver commit
Add STM32 MDMA driver commit
Add Spreadtrum DMA driver commit
sun6i: Add support for Allwinner A64 and compatibles commit
12.25. Hardware Random Number Generator (hwrng)
iproc-rng200 - Add support for BCM7278 commit
12.26. Cryptography hardware acceleration
12.27. PCI
Add resizable BAR infrastructure commit
Add pci=big_root_window option for AMD 64-bit windows commit
Expose SR-IOV offset, stride, and VF device ID via sysfs commit
Add support for Synopsys DesignWare RC in ECAM mode commit
layerscape: Add support for ls1012a commit
tango: Add MSI controller support commit
tegra: Add Tegra186 PCIe support commit
v3-semi: Add V3 Semiconductor PCI host driver commit
12.28. Non-Transparent Bridge (NTB)
Add MicroSemi Switchtec Non-Transparent Bridge Support commit, commit, commit, commit, commit, commit, commit, commit, commit
12.29. Clock
bcm: Add Broadcom Hurricane 2 clock support commit
samsung: Add a separate driver for Exynos4412 ISP clocks commit
qcom: Implement RPM clocks for MSM8660/APQ8060 commit
mediatek: Add MT2712 clock support commit, add clock support for MT7622 SoC commit
sh_cmt: Support separate R-Car Gen2 CMT0/1 commit
12.30. Various
bus: ti-sysc: Add minimal TI sysc interconnect target driver commit
bus: add driver for the Technologic Systems NBUS commit
extcon: max77843: Add OTG power control to the MUIC driver commit, add support for SmartDock accessory commit
firmware: qcom: scm: Expose download-mode control commit. expose secure IO service commit
firmware: tegra: Add BPMP debugfs support commit
iommu/omap: Add support to program multiple iommus commit
iommu/ipmmu-vmsa: Enable multi context support commit
- irqchip
brcmstb-l2: Add support for the BCM7271 L2 controller commit
gic-v3: Add support for Range Selector (RS) feature commit
meson: Add support for gpio interrupt controller commit
stm32: Add stm32h7 support commit, add multi-bank management commit
exiu: Add support for Socionext Synquacer EXIU controller commit
memory: brcmstb: Add driver for DPFE commit
cxl: Add support for POWER9 DD2 commit
cxl: Provide debugfs access to PSL_DEBUG/XSL_DEBUG registers commit
- drivers/nvmem
remoteproc: debug: add resource table dump feature commit
remoteproc: debug: add carveouts list dump feature commit
- drivers/reset
- drivers/soc
w1: add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge commit
vfio: platform: reset: Add Broadcom FlexRM reset module commit
13. List of merges
14. Other news sites
LWN's merge window part 1, part 2; Statistics for the 4.15 kernel
Phoronix The New Features Of Linux 4.15
heise.de Die Neuerungen von Linux 4.15