Size: 66155
Comment:
|
Size: 880
Comment: https://kernelnewbies.org/Linux_5.1
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel. This page shows a summary of the important changes being added in each linux kernel release - support for new devices, new features (filesystems, subsystems), important internal changes, etc. While this text is aimed to be (unlike the full changelog) readable, it's obvious that some parts will not be comprehensible for those who don't know a lot about kernel internals, just like it happens in every software project. Other places to get news about the linux kernel are [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide], [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6], or [http://www.lkml.org www.lkml.org]. If you're going to add something here look first at LinuxChangesRules! | #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.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [http://wiki.kernelnewbies.org/Linux_2_6_17 the current changes] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r * Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha * Convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs * Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64 * Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] |
<<Include(Linux_5.1)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.1 released on 5 May 2019
Summary: This release includes io_uring, an high-performance interface for asynchronous I/O; it also adds improvements in fanotify to provide a scalable way of watching changes on large file systems; it adds a method to allow safe delivery of signals in presence of PID reuse; persistent memory can be used now as hot-plugabble RAM; Zstd compression levels have been made configurable in Btrfs; it also adds a new cpuidle governor that makes better power management decisions than the menu governor; all 32 bit architectures have added the necessary syscalls to deal with the y2038 problem; it is possible now to boot to a device-mapper device without initramfs; and live patching has added support for creating cumulative patches. As always, there are many other new drivers and improvements.
(Note: in this release, the "coolest features" section does not have links to the code commits, those are available for each feature in their respective sections, preceded by FEATURED)
Contents
-
Coolest features
- High-performance asynchronous I/O with io_uring
- Improved fanotify for better file system monitorization
- Safe signal delivery in presence of PID reuse
- Use persistent memory as RAM
- TEO, an alternative cpuidle governor to 'menu'
- More Year 2038 preparation
- Configurable Zstd compression level in Btrfs
- Boot to a device-mapper device without initramfs
- live patching: support cumulative patches
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- 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
- 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)
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Clock
- EDAC (Error Detection And Correction)
- PHY ("physical layer" framework)
- Various
- List of merges
- Other news sites
1. Coolest features
1.1. High-performance asynchronous I/O with io_uring
Linux has supported asynchronous I/O for a long time. However, the interface suffers from a large number of shortcomings. It does not support buffered I/O, only unbuffered (O_DIRECT) I/O, which only a subset of a subset of applications use. Even in those cases asynchronous IO was some times not really asynchronous or fast. All attempts to fix the existing interface have failed.
A new asynchronous interface, io_uring, has been created and merged in the release, with the purpose of finally adding fast, scalable asynchronous I/O to Linux, both buffered and unbuffered. It also supports asynchronous polled IO, and other features that will be added in the future. For more details, read this document (PDF). For performance details, see this email.
Additionally, a user space library, liburing, has been created to provides basic functionality for applications that don't need or want to care about how to fiddle with the low level details of the kernel interface. It has helpers to allow applications to easily set up an io_uring instance, and submit/complete IO through it without knowing about the intricacies of the rings, and will continue to grow support helper functions and features as time progresses.
Document explaining the reasons for the existence of io_uring, inner workings of it, the user visible interface and liburing: io_uring.pdf
Recommended LWN article: Ringing in a new asynchronous I/O API
liburing git repository: http://git.kernel.dk/cgit/liburing/
1.2. Improved fanotify for better file system monitorization
Unlike other operating systems, Linux does not have an efficient way to watch changes on a large file system. The only way to monitor file system dirent modification events is recursive inotify watches, which scales poorly for large directory trees. The fanotify interface, introduced in Linux 2.6.36, was intended to supersede inotify and solve its deficiencies, and it initially took several steps in the direction of solving scalability issues, but the work needed to completely supersede inotify.
This release (along with the fanotify changes in Linux 4.20) expands fanotify to provide "super block root watch" functionality, which is a scalable way of watching changes on large file systems. For more details see the project wiki
1.3. Safe signal delivery in presence of PID reuse
The kill(2) syscall operates on PIDs. After a process has exited its PID can be reused by another process. If a caller sends a signal to a reused PID it will end up signaling the wrong process. This is an old problem with the Unix process design, and has caused numerous security problems.
After considering several proposals, the Linux kernel has added a new syscall, pidfd_send_signal(2), which uses file descriptors from /proc/<pid> as stable handles on struct pid. Even if a pid is recycled the handle will not change, and the file descriptor can be used to safely send signals to the process it refers to. Note that Linux 5.2 adds a CLONE_PIDFD flag to clone(2) that will allow to retrieve a pid file descriptor that is usable for these purposes.
Recommended LWN article: Toward race-free process signaling
asciinema recording for the basic functionality: https://asciinema.org/a/IQjuCHew6bnq1cr78yuMv16cy
1.4. Use persistent memory as RAM
Linux supports persisten memory devices, but they are often used as storage devices. Some users want to use persistent memory as additional volatile memory, they are willing to cope with potential performance differences, and want to use typical Linux memory management apis rather than a userspace memory allocator layered over an mmap() of a dax file. This release allows them to do so. This is intended for use with NVDIMMs that are physically persistent (physically like flash) so that they can be used as a cost-effective RAM replacement.
Recommended LWN article: Persistent memory for transient data
1.5. TEO, an alternative cpuidle governor to 'menu'
The cpuidle subsystem is the part of the kernel in charge of deciding which CPU deep idle state should be used when the CPU has nothing to do (deeper idle states save more power, but it takes more time to get out of them). There are two cpuidle governors, "menu" and "ladder", each one using different heuristics. However, the menu governor is believed to have a number of shortcomings in its heuristics, but instead of being fixed an alternative was introduced in this release so people can compare both: TEO, the Timer Events Oriented Governor, which seems to offer improved performance with no extra power consumption cost. You can check your governor in /sys/devices/system/cpu/cpuidle/current_governor_ro) and change the default cpuidle governor at boot time with the cpuidle.governor=teo boot parameter.
Recommended LWN article: Improving idle behavior in tickless systems
1.6. More Year 2038 preparation
As part of the work to prepare for the prepare for the year 2038 problem, this release includes syscalls for 32 bits architecture with a 64-bit time_t structure. This finally allows to have system calls with 64-bit time_t on all architectures, after a long time of preparation
Recommended LWN article: Approaching the kernel year-2038 end game
1.7. Configurable Zstd compression level in Btrfs
Btrfs has support Zstd compression since Linux 4.14, but it didn't allow to configure the compression level used by the filesystem, which can make a big difference. This release adds support for configuring the compression level used in a Btrfs file system, as it's done with zlib, by using the mount option -o compress=zstd:level. To see the levels available and their impact in performance and compression rate, see this commit
1.8. Boot to a device-mapper device without initramfs
In order to boot to a filesystem placed in a device-mapper device, you need an initramfs. Some people, however, don't want or can't use an initramfs. This release allows to use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs, with the help of a tricky kernel boot parameter. For more details see the documentation
1.9. live patching: support cumulative patches
There might be dependencies between livepatches. If multiple patches need to do different changes to the same function(s) then it's necessary to define an order in which the patches will be installed. And function implementations from any newer livepatch must be done on top of the older ones. This might become a maintenance nightmare for distros, especially if anyone would want to remove a patch that is in the middle of the stack.
An elegant solution included in this release is the feature called "Atomic Replace". It allows creation of so called "Cumulative Patches". They include all wanted changes from all older livepatches and completely replace them in one transition. As a result, the livepatch authors might maintain sources only for one cumulative patch. For more details, see the documentation
2. Core (various)
(FEATURED) Add io_uring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
VFS: Introduce filesystem context. This is an intensive rework of the Linux file system mounting internals intended to solve limitations imposed by the existing mount(2) design, and provide a foundation that will allow to provide new functionality that is impossible to achieve now. While no new user-visible feature has been introduced in this release, a lot of the new infrastructure has been merged in this release. For more details, see this recommended LWN article or this email. 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, commit, commit, commit, commit, commit, commit, commit
(FEATURED) fanotify: add support for more event types commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a future write seal (F_SEAL_FUTURE_WRITE) to memfd(2). It prevents any future mmap(2) and write(2) syscalls from succeeding while keeping the existing mmap active. It will be used to migrate Android ashmem use cases to memfd(2) commit, commit
(FEATURED) year 2038: add 64-bit time_t syscalls to all 32-bit architectures 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
epoll: use rwlock in order to reduce ep_poll_callback() contention in a scenario that can be reproduced by generating events (write to pipe or eventfd) from many threads, while consumer thread does polling commit, commit, commit
(FEATURED) livepatch: Add atomic replace. It allows to create cumulative patches. They are useful when you maintain many livepatches and want to remove one that is lower on the stack. In addition it is very useful when more patches touch the same function and there are dependencies between them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
lockdep: current lockdep implementation is that it requires lock keys to be allocated statically. Add support for dynamic keys in the lockdep code and eliminates a class of false positive reports from the workqueue implementation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
LZO compression: run-length encoding support commit, commit, commit and performance improvements commit, commit, commit
tty: add configuration option and sysctl (dev.tty.ldisc_autoload) to prevent autoloading of ldiscs commit
task scheduler: Introduce a sysctl (sched_energy_aware)for Energy Aware Scheduling commit
task scheduler: wake_q: Reduce reference counting for special users commit
Speed up /proc/stat commit
Add NUMA aware async_schedule calls commit, commit, commit, commit, commit, commit, commit, commit, commit
gcc plugins: improve structleak to also work with non-struct types, which should give the kernel complete initialization coverage of all stack variables passed by reference, including padding commit, commit
RCU: Add sysrq rcu_node-dump capability to dump out Tree RCU's rcu_node tree with an eye towards determining why a new grace period has not yet started commit
swiotlb: add debugfs to track swiotlb buffer usage commit
Add boot option (driver_async_probe=...) to specify drivers to be async probed commit
Power management: Expose the Energy Model in /sys/kernel/debug/energy_model commit
3. File systems
- BTRFS
- AUTOFS
Add ignore mount option that can be used to provide a indicator to applications that the mount entry should be ignored displaying mount information. commit
- XFS
Introduce an always_cow mode where XFS never overwrites existing blocks in place. This is to aid debugging COW code commit
- NFS
- CIFS
- EXT2
Support statx syscall commit
- F2FS
Add quick mode of checkpoint=disable for QA commit
- FAT
Support splice on O_DIRECT file commit
- CEPH
- EXT4
Add sysfs attr /sys/fs/ext4/<disk>/journal_task commit
- EXOFS
Remove exofs commit
4. Memory management
Algorithmic complexity of swapoff operation is reduced from quadratic to linear, reducing (with 6GB data in swap in a VM) the swapoff operation from 8 to 3 minutes and CPU utilization from 80% to 5% commit commit
Increase success rates and reduce latency of compaction (physical memory defragmentation), reducing the number of scanned pages for migration by 65%, and free pages for migration targets by 97%, while improving transparent hugepage allocation success rates significantly. commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit
Remove the ancient OOM killer heuristic that preferred to kill children of the "worst" process rather than the process itself commit
Prevent SLAB and other pages with special type to be mapped into userspace, for improved security. commit commit
Allow excluding balloon pages from kdump crash dumps to reduce their size. Also exclude them from hibernation image. commit commit commit commit commit commit commit commit
Simplify some of the early memory allocations by replacing usage of older memblock APIs with newer and shinier ones commit commit commit commit commit commit
Some improvements and, importantly, tests were added for VM related fiels found in /proc/*/maps and related files. commit commit commit commit
Shuffle GFP flags so that common combinations (e.g. GFP_KERNEL) are tightly packed, which allows arm to emit more efficient instruction stream, saving about 0.1% commit
A new vm_fault_t type is introduced to detect cases (via sparse) where a page fault handler mistakenly returns an error code instead of VM_FAULT_* code commit
Drop the mmap_sem when doing IO in the fault path commit, commit, commit, commit
memory controller: expose transparent huge page events on a per-memcg basis, using the files anon_thp, thp_fault_alloc and thp_collapse_alloc commit
In mremap(2) an unfortunate corner case is fixed where (if the number of mappings of a process approaches the maximum limit) mremap() can fail with ENOMEM but only after performing some destructive unmap actions. commit
Cleanup and better documentation of how the PG_reserved page flag is used. commit commit commit commit commit commit commit commit commit
(FEATURED) "Hotplug" persistent memory for use like normal RAM commit, commit, commit, commit, commit
Test driver to analyse vmalloc allocator commit, commit, commit
dma-debug: add dumping facility via debugfs commit
kasan: remove use after scope bugs detection. It significantly increases stack usage and does not provide much value for the kernel commit
5. Block layer
- bcache
- device mapper
(FEATURED) Add a "create" module parameter, which allows device-mapper targets to be configured at boot time. This enables early use of DM targets in the boot process (as the root device or otherwise) without the need of an initramfs commit
dm cache: add support for discard passdown to the origin device commit
raid5: adds new sysfs attribute which can be used to specify which write_hint should be assigned to PPL commit
rbd: advertise support for RBD_FEATURE_DEEP_FLATTEN commit
6. Tracing and perf
- BPF
Add Host Bandwidth Manager. Host Bandwidth Manager is a framework for limiting the bandwidth used by v2 cgroups. It consists of 1 BPF helper, a sample BPF program to limit egress bandwdith as well as a sample user program and script to simplify HBM testing commit, commit, commit, commit, commit
Implements BPF_LWT_ENCAP_IP mode in bpf_lwt_push_encap BPF helper. It enables BPF programs (specifically, BPF_PROG_TYPE_LWT_IN and BPF_PROG_TYPE_LWT_XMIT prog types) to add IP encapsulation headers to packets (e.g. IP/GRE, GUE, IPIP) commit, commit, commit, commit, commit, commit, commit
Add new jmp32 instructions. Current eBPF ISA has 32-bit sub-register and has defined a set of ALU32 instructions. However, there is no JMP32 instructions, the consequence is code-gen for 32-bit sub-registers is not efficient. For example, explicit sign-extension from 32-bit to 64-bit is needed for signed comparison commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add __sk_buff->sk, struct bpf_tcp_sock, BPF_FUNC_sk_fullsock and BPF_FUNC_tcp_sock. Together, they provide a common way to expose the members of struct tcp_sock and struct bpf_sock for the bpf_prog to access commit, commit, commit, commit, commit, commit, commit
Add a new command to bpftool in order to dump a list of eBPF-related parameters for the system (or for a specific network device) to the console commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow BPF programs access skb_shared_info->gso_segs field commit
Support __int128. Previous maximum supported integer bit width is 64. But the __int128 type has been supported by most (if not all) 64bit architectures including bpf for both gcc and clang commit, commit, commit, commit, commit
Introduce per program stats to monitor the usage BPF commit, commit, commit
Many algorithms need to read and modify several variables atomically. Until now it was hard to impossible to implement such algorithms in BPF. Hence introduce support for bpf_spin_lock commit, commit, commit, commit, commit, commit, commit
Add support for queue/stack manipulations commit, commit, commit, commit, commit, commit, commit
Avoid unloading xdp prog not attached by sample commit, commit, commit, commit, commit, commit, commit, commit
Add AF_XDP support to libbpf. The main reason for this is to facilitate writing applications that use AF_XDP by offering higher-level APIs that hide many of the details of the AF_XDP uapi commit, commit, commit
Add btf documentation commit
Reveal invisible bpf programs. This set catches symbol for all bpf programs loaded/unloaded before/during/after perf-record run PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT commit, commit, commit, commit, commit, commit, commit, commit, commit
tracing: Add some useful new functions to the hist trigger code: a snapshot action and an onchange handler commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
perf bpf: Automatically add BTF ELF markers to 'perf trace' BPF programs, so that tools such as 'bpftool map dump' can pretty print map keys and values commit
Add support for annotating BPF programs, using the PERF_RECORD_BPF_EVENT and PERF_RECORD_KSYMBOL recently added to the kernel and plugging binutils's libopcodes disassembly of BPF programs with the existing annotation interfaces in 'perf annotate', 'perf report' and 'perf top' various output formats (--stdio, --stdio2, --tui) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add new filter options for perf diff: --time, --cpu, --pid, --tid commit, commit, commit
Reduce NUMA related overhead in perf record profiling on large server systems commit, commit, commit, commit
Add initial BPF map dumper, initially just for the current, minimal needs of the augmented_raw_syscalls BPF example used to collect pointer args payloads that uses BPF maps for pid and syscall filtering, but will in time have features similar to 'perf stat' --interval-print, --interval-clear, ways to signal from a BPF event that a specific map (or range of that map) should be printed, optionally as a histogram, etc commit, commit
perf script: Support insn output for normal samples commit
perf script: Make the --cpu filter apply to PERF_RECORD_COMM/FORK/... events, in addition to PERF_RECORD_SAMPLE commit
perf report: Add 'time' sort option. E.g.: perf report --sort time,overhead,symbol --time-quantum 1ms --stdio commit, commit, commit
perf list: Display metric expressions for --details option commit
perf scripts python: exported-sql-viewer.py: Add call tree commit
7. Security
LSM: Module stacking ie. the ability to load one LSM module in top of another commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add SafeSetID LSM module. SafeSetID gates the setid family of syscalls to restrict UID/GID transitions from a given UID/GID to only those approved by a system-wide whitelist. These restrictions also prohibit the given UIDs/GIDs from obtaining auxiliary privileges associated with CAP_SET{U/G}ID, such as allowing a user to set up user namespace UID mappings. For now, only gating the set*uid family of syscalls is supported, with support for set*gid coming in a future patch set. Documentation. commit, commit
audit: add support for fcaps v3 commit
8. Networking
Introduce a sysctl knob (devconf_inherit_init_net) to control if a new network namespace should inherit all current settings under /proc/sys/net/{ipv4,ipv6}/conf/{all,default}/ commit
bonding: add 3ad stats and export them via xstats commit, commit
bridge: implement Multicast Router Discovery (RFC4286 commit, commit, commit, commit
sockets: Add year 2038-safe socket timestamps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
WiFi
Support airtime fairness commit, commit, commit, commit, commit, commit
Add Multi-BSSID support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Authentication offload to user space in AP mode commit
Allow set/del pmksa operations for AP commit
- TCP
- devlink
Add health reporting and recovery system. The health mechanism is targeted for Real Time Alerting, in order to know when something bad had happened to a PCI device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
devlink: add the ability to update device flash commit, commit, commit
Add device (driver) information API commit, commit, commit, commit, commit, commit, commit, commit
Report cell size of shared buffers commit
batman-adv: netlink configuration restructuring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ethtool: Added support for 50Gbps per lane link modes commit
failover: allow name change on IFF_UP slave interfaces commit
Add flow_rule infrastructure, which allows to reuse the driver codebase to configure ACL hardware offloads for the ethtool_rxnfc and the TC flower interfaces commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipconfig: add carrier_timeout kernel parameter commit
ipmr: ip6mr: Create new sockopt to clear mfc cache or vifs commit
smc: add pnet table namespace support commit
- dsa
Introduce a new generic SOL_SOCKET-level socket option called SO_BINDTOIFINDEX. It behaves similar to SO_BINDTODEVICE, but takes a network interface index as argument, rather than the network interface name. User-space often refers to network-interfaces via their index, but has to temporarily resolve it to a name for a call into SO_BINDTODEVICE. This might pose problems when the network-device is renamed asynchronously by other parts of the system. When this happens, the SO_BINDTODEVICE might either fail, or worse, it might bind to the wrong device commit
ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE. It restricts packets received by the socket to be only from the socket's namespace commit
Support 64bit rates for getsockopt(SO_MAX_PACING_RATE) commit and setsockopt(SO_MAX_PACING_RATE) commit
TLS: Add TLS 1.3 support commit, commit, commit, commit, commit
AF_XDP: add socket monitoring support commit, commit, commit
- scheduler
- netfilter
- RDMA
Reliable Datagram Sockets: Add tos support commit, commit, commit, commit, commit
9. Architectures
9.1. ARM
New SoCs
Milbeaut SoC family from Socionext. SC2000 is a SoC of the Milbeaut series. equipped with a DSP optimized for computer vision. It also features advanced functionalities such as 360-degree, real-time spherical stitching with multi cameras, image stabilization for without mechanical gimbals, and rolling shutter correction commit, commit
Bitmain BM1880 chip used in the Sophon Edge TPU developer board. The chip is intended for Deep Learning applications, and comes with dual-core Arm Cortex-A53 to run Linux as well as a RISC-V microcontroller core to control the tensor unit. For the moment, the TPU is not accessible in mainline Linux, so it's treated it as a generic Arm SoC commit, commit
Renesas RZ/A2M (R7S9210) 32-bit Cortex-A9 Real-time imaging processor commit, commit
Renesas RZ/G2E (r8a774c0) 64-bit Cortex-A53 SoC "for Rich Graphics Applications" commit
NXP i.MX8QuadXPlus 64-bit Cortex-A35 SoC commit, commit
Mediatek gains support for a new SoC: MT7629 is a new wireless router platform, following MT7623 commit
- New device tree sources
Bosch Guardian is a product made by Bosch Power Tools GmbH, based on the Texas Instruments AM335x chip commit
Winterland IceBoard is a Texas Instruments AM3874 based machine used in telescopes at the south pole and elsewhere commit
Inspur on5263m5 is an x86 server platform with an Aspeed ast2500 baseboard management controller. This is for running on the BMC commit
Zodiac Digital Tapping Unit, apparently a kind of ethernet switch used in airplanes commit
Phicomm K3 is a WiFi router based on Broadcom bcm47094 commit
Methode Electronics uDPU FTTdp distribution point unit commit
X96 Max, a generic TV box based on Amlogic G12a (S905X2) commit
NVIDIA Shield TV (Darcy) based on Tegra210 commit
- New SBC, evaluation, development or modular systems added
- Three new Rockchips rk3399 based boards
- Five new i.MX6 family SoM modules and boards for industrial products
MYIR Tech MYD-LPC4357 development based on the NXP lpc4357 microcontroller commit
Chameleon96, an Intel/Altera Cyclone5 based FPGA development system in 96boards form factor commit
Arm Fixed Virtual Platforms(FVP) Base RevC, a purely virtual platform for corresponding to the latest "fast model" commit
Another Raspberry Pi variant: Model 3 A+, supported both in 32-bit and 64-bit mode commit, commit
Oxalis Evalkit V100 based on NXP Layerscape LS1012a, in 96Boards enterprise form factor commit
Elgin RV1108 R1 development board based on 32-bit Rockchips RV1108 commit
freescale: Add devicetree for Oxalis commit
renesas: Add Si-Linux CAT874 board support commit
renesas: Add Si-Linux EK874 board support commit
- coresight
- ARM64
default NR_CPUS to 256 commit
Enable HugeTLB migration support for all supported huge page sizes at all levels including contiguous bit implementation commit commit commit commit commit
Enable the support of pseudo-NMIs commit
Add ptrace regsets for ptrauth key management commit
gic-v3: Implement arch support for priority masking commit
9.2. X86
speculation: Add PR_SPEC_DISABLE_NOEXEC argument to PR_SET_SPECULATION_CTRL option of prctl(2) to allow applications to specify that the SSBD feature bit on the task structure should be cleared whenever a new program is being execve'ed commit
intel_idle: add support for Jacobsville commit
powercap/intel_rapl: add Ice Lake mobile commit
adds decoding for some new SMCA bank types (MP5, NBIO, and PCIE) and also for some new versions of existing bank types (CS, PSP, and SMU) commit, commit, commit
- perf
- platform
chrome: Add new driver for Wilco EC commit
intel_pmc_core: Add ICL platform support commit
mlx-platform: Add support for new VMOD0007 board name commit
touchscreen_dmi: Add info for the CHUWI Hi10 Air tablet commit
touchscreen_dmi: Add info for the Chuwi Hi8 Air tablet commit
touchscreen_dmi: Add info for the PoV Wintab P1006w (v1.0) tablet commit
pcengines apuv2 gpio/leds/keys platform driver commit
- KVM
9.3. POWERPC
sstep: Extend instruction emulation support commit, commit, commit, commit, commit, commit
Activate CONFIG_THREAD_INFO_IN_TASK commit
Migrate longterm-pinned pages from CMA regions, and compound pages, reducing the likelihood of CMA allocation failures commit commit commit commit
Enable kcov commit
Implement nvram ioctls commit
KVM: Book3S HV: Add KVM stat largepages_[2M/1G] commit
eeh: Add eeh_force_recover to debugfs commit
9.4. S390
qeth: add support for ETHTOOL_GRINGPARAM commit
cpum_cf_diag: Add support for s390 counter facility diagnostic trace commit
- perf report
9.5. MIPS
Enable hugepage support for MIPS64r6 commit
ingenic: Add support for appended devicetree commit
Add support for MemoryMapIDs (MMIDs) & GINVT instructions. These give us a larger, global namespace for address space IDs & allow for global invalidation of TLB entries without IPIs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
9.6. XTENSA
Use generic spinlock/rwlock implementation commit
9.7. M68K
Add ColdFire mcf5441x eDMA platform support commit
9.8. RISCV
9.9. ARC
Removed extra memory barrier around spinlock code commit
10. Drivers
10.1. Graphics
Add ARM Komeda display driver commit, commit, commit, commit, commit, commit, commit, commit
- panels
- Intel:
Coffelake: Adding another PCI Device ID commit
Adding few more device IDs for Ice Lake commit
Expose RPCS (SSEU) configuration to userspace (Gen11 only) for ICL media driver commit
Coffeelake GVT Support commit
VFIO GVT EDID Region support commit
ACPI/PMIC support for MIPI/DSI commit
Add 1080p30/50/60 TV modes commit
Add Per connector debugfs node for DSC support/enable commit
Drop debugfs/i915_next_seqno commit, remove debugfs/i915_ppgtt_info commit
- amdgpu
Add scheduled dependencies interface commit
vega10/20 BACO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- powerplay
Add sysfs file for PCIe usage v5 commit
Add picasso pci id commit
Add debug option to force fclk request commit
Add backlight pwm debugfs commit
- sun4i
- nouveau
- vc4
- exynos
s5pv210 rotator support commit
- dw-hdmi
- rockchip
- rcar-du
- bochs
- meson
- host1x
- imx
zpos property support [[https://git.kernel.org/linus/74a3dba26c606adc29f6ba6484d5cdaaf877cccc|commit]
- ipu-v3
Add planar support to interlaced scan commit
ARM FB compression fourcc, P010 + P016 fourcc, allwinner tiled format modifier commit, commit, commit, commit
10.2. Storage
ata: add Buddha PATA controller driver commit
nvme-multipath: round-robin I/O policy commit
nvme: add support for the Write Zeroes command commit
nvmem: imx-ocotp: Implement i.MX6ULL/ULZ support commit
nvmem: imx-ocotp: add i.MX7ULP support commit
nvmem: zynqmp: Added zynqmp nvmem firmware driver commit
- SCSI
fnic: Add port speed stat to fnic debug stats commit
fnic: Enable fnic devcmd2 interface commit
fnic: fnic stats for max CQs processed and ISR time commit
gdth: remove ISA and EISA support commit
gdth: remove gdth_{alloc,free}_ioctl commit
- hisi_sas
- mpt3sas
- qla2xxx
remove bidirectional command support commit
remove the SCSI OSD library commit
scsi_debug: Implement support for write protect commit
ufs: Add HI3670 SoC UFS driver support commit
10.3. Drivers in the Staging area
iio: adc: ad7606: Move out of staging commit
mt7621-pci-phy: add new driver for phy part of mt7621-pci commit
erofs: complete POSIX ACL support commit
xgifb: delete the driver commit
- media
iio: cdc: ad7152: remove driver completely commit
10.4. Networking
8139too : Add support for U.S. Robotics USR997901A 10/100 Cardbus NIC commit
Bluetooth: btmrvl: add support for sd8977 chipset commit
Bluetooth: mediatek: add support for MediaTek MT7663U and MT7668U UART devices commit
- Infiniband
hfi1: Add OPFN which is the feature negotiation protocol used by TID RDMA commit, commit, commit, commit, commit, commit
hfi1: Add TID RDMA Write commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hfi1: Add TID RDMA Read commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5: Add SRQ and XRC support for ODP MRs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5: Enable DEVX asynchronous query commands commit, commit, commit, commit
mlx5: Add support for 50Gbps per lane link modes commit
bnxt_en: Add support Broadcom's 57500 series of adapters commit, commit, commit, commit, commit, commit, commit
- ath10k
bnxt_en: Add support for BCM957504 commit
brcmfmac: support monitor frames with the hardware/ucode header commit
cxgb4/cxgb4vf: Add support for SGE doorbell queue timer commit
cxgb4: Add VF Link state support commit
cxgb4: Add new T6 PCI device ids 0x608b commit
cxgb4: TLS record offload enable commit
dpaa2-eth: add XDP_REDIRECT support commit
dsa: microchip: add MIB counter reading support commit
enetc: Introduce ENETC ethernet drivers commit, commit, commit, commit, commit, commit
hinic: Add pci device ids commit
hns3: add support to config depth for tx|rx ring separately commit
hns3: add xps setting support for hns3 driver commit
i40e: Add support FEC configuration for Fortville 25G commit
ibmvnic: Enable GRO commit
- ice
Add ethtool private flag to make forcing link down optional commit
Add ethtool set_phys_id handler commit
Add support for adaptive interrupt moderation commit
Add support for new PHY types commit
Allow for software timestamping commit
Implement getting and setting ethtool coalesce commit
Implement support for normal get_eeprom[_len] ethtool ops commit
Offload SCTP checksum commit
igc: Add ethtool support commit
- iwlwifi
Add new 0x2723/0x2080 card for 22000 commit
Add new card for 9260 series commit
Add new cards for 22000 and killer series and change the market name commit
Add new cards for 22560, 9260 and killer series commit
Introduce device family AX210 commit
mvm: add support for new FTM fw API commit
mvm: advertise support for TWT in the Extended Capability IE commit
mvm: save and export regdb blob from the NVM commit
mvm: support FTM initiator commit
mvm: support FTM responder commit
mvm: support beacon IE injection commit
mvm: support mac80211 AMSDU commit
Remove support for 9000 A-step devices commit
dbg_ini: implement Rx fifos dump commit and Tx fifos dump commit
macvlan: add ndo_change_proto_down support commit
- mlxsw
hwmon and thermal extensions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for new port types and speeds for Spectrum-2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add GRE tunnel support for Spectrum-2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
minimal: Add ethtool support commit
mt76: add channel switch announcement support commit
mt76: add led support to mt76x0e driver commit
mt76: usb: introduce disable_usb_sg parameter commit
mt76x02: enable support for IBSS and MESH commit
mt76x0: phy: report target_power in debugfs commit
mvpp2: Add 2.5GBaseT support commit
mwifiex: add support for sd8977 chipset commit
- mlx5
- dsa
hns3: add HNAE3_RESTORE_CLIENT interface in enet module commit
hns3: add rx multicast packets statistic commit
marvell: neta: add comphy support commit
mscc: Enable all ports in QSGMII commit
- stmmac
nfp: bpf: dead code elimination commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- qed/qede
- qmi_wwan
- qtnfmac
- r8169
rsi: Add debug support for wowlan wakeup confirmation commit
sfc: extend MTD support for newer hardware commit
sh_eth: RX checksum offload support commit, offload RX checksum on R7S72100 commit, R8A7740 commit, R8A77980 commit, SH7734 commit, SH7763 commit
wil6210: add option to drop Tx packets when Tx ring is full commit
wil6210: support up to 20 stations in AP mode commit
10.5. Audio
dice: add support for Solid State Logic Duende Classic/Mini commit
fireface: add support for Fireface UCX commit, commit, commit
- hda/realtek
Add support for Acer Aspire E5-523G/ES1-432 headset mic commit
Add support headset mode for DELL WYSE AIO commit
Add support headset mode for New DELL WYSE NB commit
Enable ASUS X441MB and X705FD headset MIC with ALC256 commit
Enable headset MIC of ASUS X430UN and X512DK with ALC256 commit
Enable headset MIC of Acer Aspire Z24-890 with ALC286 commit
Enable headset mic of ASUS P5440FF with ALC256 commit
hda: hdmi - add Icelake support commit
- ASoC
Add MICFIL SoC Digital Audio Interface driver commit
Intel: Add Geminilake Dialog Maxim machine driver commit
Intel: Boards: Add Maxim98373 support commit
Intel: Headset button support in broxton machine driver commit
Intel: bytcht_es8316: Add external speaker mux support commit, add input-map support commit, add jack-detect support commit
Intel: bytcr_rt5651: Add quirks module parameter commit, add support for jack-detect using an external GPIO commit
ak4458: Add support for AK4497 commit
apq8096: add slim support commit
audio-graph-scu-card: remove audio-graph-scu-card commit
codecs: Add jz4725b-codec driver commit
cros_ec_codec: Add codec driver for Cros EC commit
cs35l36: Add support for Cirrus CS35L36 Amplifier commit
cs4341: Add driver for CS4341 DAC commit
es8316: Add DAC mono mix switch mixer control commit, add jack-detect support commit
mediatek: add btcvsd driver commit
mediatek: mt6358: add codec driver commit
mediatek: mt8183: add platform driver commit
rockchip: support ACODEC for rk3328 commit
rt5651: Add ACPI ID 10EC5640 commit
rt5651: Add support for jack detect using an external GPIO commit
samsung: odroid: Add support for secondary CPU DAI commit
simple-scu-card: remove simple-scu-card commit
sprd: Add Spreadtrum audio DMA platfrom driver commit
sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch commit, add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch commit, add MIC2 Pre-Amplifier, Mic2 input commit, add Mic Playback Volume commit, add Mic1 Boost Volume, Mic2 Boost Volume commit, add Mic1 Playback Switch, Mic2 Playback Switch commit
Add support to WCD9335 Audio Codec commit, commit, commit, commit, commit, commit
Add Xilinx SPDIF audio driver and formatter driver commit, commit, commit, commit
10.6. Tablets, touch screens, keyboards, mouses
Add new vibrator driver for various MSM SOCs commit
edt-ft5x06: add support for Evervision FT5726 commit
elan_i2c: add hardware ID for multiple Lenovo laptops commit
elan_i2c: add id for touchpad found in Lenovo s21e-20 commit
goodix: support Goodix gt5688 commit
ili210x: add ILI251X support commit
st1232: add support for st1633 commit
sx8654: add sx8650 support commit
sx8654: add sx8655 and sx8656 to compatibles commit
tm2-touchkey: add support for aries touchkey variant commit
tm2-touchkey: add support for midas touchkey commit
tm2-touchkey: allow specifying custom keycodes commit
wacom_serial4: add support for Wacom ArtPad II tablet commit
Support for Maltron L90 keyboard media keys commit
stpmic1: Add STPMIC1 onkey driver commit
- HID
Add support for Toshiba WT10A tablet bluetooth keyboard commit
hid-asus: Add BT keyboard dock battery monitoring support commit
hid-asus: Add Transbook T90CHI support commit
multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons commit
uclogic: Add support for Ugee 2150 commit
uclogic: Add support for Ugee EX07S frame controls commit
uclogic: Add support for Ugee G5 commit
uclogic: Add support for Ugee M540 commit
uclogic: Add support for XP-Pen Deco 01 commit
uclogic: Add support for XP-Pen Star G540 commit
uclogic: Add support for XP-Pen Star G640 commit
uclogic: Support Gray-coded rotary encoders commit
uclogic: Support faking Wacom pad device ID commit
uclogic: Support fragmented high-res reports commit
uclogic: Support in-range reporting emulation commit
uclogic: Support v2 protocol commit
viewsonic: Support PD1011 signature pad commit
wacom: Add support for Pro Pen slim commit
10.7. TV tuners, webcams, video capturers
Add support for 32-bit packed YUV formats commit, commit, commit, commit
coda: Add control for h.264 chroma qp index offset commit
coda: Add control for h.264 constrained intra prediction commit, commit, commit
gspca: ov534-ov772x: add SGBRG8 bayer mode support commit
i2c: mt9m001: copy mt9m001 soc_camera sensor driver commit
ov5640: Add RAW bayer format support commit
ov8856: Add support for OV8856 sensor commit
rc: rcmm decoder and encoder commit
rcar-csi2: Add support for RZ/G2E commit
rcar-vin: Add support for RZ/G2E commit
sh_mobile_ceu_camera: remove obsolete soc_camera driver commit
si470x-i2c: Add optional reset-gpio support commit
smipcie: add universal ir capability commit
soc_camera: Remove the mt9m001 SoC camera sensor driver commit
soc_camera: Remove the rj45n1 SoC camera sensor driver commit
soc_camera_platform: remove obsolete soc_camera test driver commit
soc_mt9t112: remove obsolete sensor driver commit
soc_ov772x: remove obsolete sensor driver commit
soc_tw9910: remove obsolete sensor driver commit
sun6i: Add A64 CSI block support commit
sun6i: Add support for JPEG media bus format commit
sun6i: Add support for RGB565 formats commit
vicodec: Add support for resolution change event commit
vicodec: add support for CROP and COMPOSE selection commit
video-i2c: add Melexis MLX90640 thermal camera commit
vim2m: add bayer capture formats commit
vim2m: add support for VIDIOC_ENUM_FRAMESIZES commit
vim2m: allow setting the default transaction time via parameter commit
vimc: Add vimc-streamer for stream control commit
vimc: add USERPTR support commit
10.8. Universal Serial Bus
Add option of only authorizing internal devices. This is used by ChromeOS to initialize fixed USB devices while the userspace in charge of authorizing USB devices, such as USBGuard, are started commit
cp210x: add ID for Ingenico 3070 commit
cp210x: add new device id commit
ftdi_sio: add ID for Hjelmslund Electronics USB485 commit
ftdi_sio: add additional NovaTech products commit
option: add Olicard 600 commit
option: add Telit ME910 ECM composition commit
option: add support for Quectel EM12 commit
option: set driver_info for SIM5218 and compatibles commit
dwc3: pci: add support for Comet Lake PCH ID commit
misc: usbtest: add super-speed isoc support commit
10.9. Serial Peripheral Interface (SPI)
Add a driver for the Freescale/NXP QuadSPI controller commit
stm32: add support for STM32F4 commit
spi-mem: Add driver for NXP FlexSPI controller commit
atmel-quadspi: add support for sam9x60 qspi controller commit
10.10. Watchdog
Add watchdog_thresh command line parameter to set the hard lockup detector stall duration threshold in seconds commit
stpmic1: Add STPMIC1 watchdog driver commit
mlx-wdt: introduce a watchdog driver for Mellanox systems commit
10.11. Serial
10.12. ACPI, EFI, cpufreq, thermal, Power Management
(FEATURED) cpuidle: New timer events oriented governor for tickless systems commit
cpufreq: ap806: add cpufreq driver for Armada 8K commit
ACPI / APEI: Add support for the SDEI GHES Notification type commit
tools/power turbostat: Add Die column commit
tools/power turbostat: Add support for AMD Fam 17h (Zen) RAPL commit
tools/power turbostat: Add Icelake support commit
thermal: broadcom: Add Stingray thermal driver commit
thermal: mediatek: add support for MT8183 commit
thermal: qoriq: add multiple sensors support commit
10.13. Real Time Clock (RTC)
platform/chrome: wilco_ec: Add RTC driver commit
Add Cadence RTC driver commit
Add AB-RTCMC-32.768kHz-EOZ9 RTC support commit
imx-sc: add rtc set time support commit
isl1208: Add new style nvmem support to driver commit
isl1208: Support more chip variations commit
rv3028: add new driver commit
rx8581: Add support for Epson rx8571 RTC commit
sd3078: new driver commit
support for the Amlogic Meson RTC commit
10.14. Voltage, current regulators, power capping, power supply
reset: at91-reset: add support for sam9x60 SoC commit
- regulator:
10.15. Pin Controllers (pinctrl)
ssbi-gpio: add support for hierarchical IRQ chip commit
at91: add slewrate support for SAM9X60 commit
at91: add drive strength support for SAM9X60 commit
freescale: Add imx8mm pinctrl driver support commit
imx: add imx8qm driver commit
10.16. Multi Media Card (MMC)
Add discard support to sd commit
sdhci: Add ADMA3 DMA support for V4 enabled host commit
tegra: HW Command Queue Support for Tegra SDMMC commit
10.17. Memory Technology Devices (MTD)
fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c commit
rawnand: meson: add support for Amlogic NAND flash controller commit
spi-nor: Add support for EN25Q80A commit
spi-nor: Add support for MX25V8035F commit
spi-nor: Add support for en25qh64 commit
spi-nor: Add support for mx25u3235f commit
spi-nor: cadence-quadspi: Add support for Octal SPI controller commit
spinand: Add support for GigaDevice GD5F1GQ4UExxG commit
spinand: Add support for all Toshiba Memory products commit
ubi: Expose the bitrot interface commit
10.18. Industrial I/O (iio)
add Ingenic JZ47xx ADC driver commit
Add modifiers for ethanol and H2 gases commit
accell: mma8452: add vdd/vddio regulator operation support commit
adc: Add AD7768-1 ADC basic support commit
adc: ad7768-1: Add support for setting the sampling frequency commit
adc: Add the TI ads124s08 ADC code commit
adc: ad7476: Add support for TI ADS786X ADCs commit
adc: add NPCM ADC driver commit
adc: add STMPE ADC driver using IIO framework commit
chemical: add support for Plantower PMS7003 sensor commit
chemical: add support for Sensirion SPS30 sensor commit
chemical: sgp30: Support Sensirion SGP30/SGPC3 sensors commit
dac: ad5686: Add support for AD5674R/AD5679R commit
imu: mpu6050: Add support for the ICM 20602 IMU commit
light: add driver for MAX44009 commit
light: isl29018: add vcc regulator operation support commit
magnetometer: mag3110: add vdd/vddio regulator operation support commit
dac:ti-dac7612: Add driver for Texas Instruments DAC7612 commit
st_pressure:initial lps22hh sensor support commit
10.19. Multi Function Devices (MFD)
lochnagar: Add support for the Cirrus Logic Lochnagar commit
tps65218.c: Add input voltage options commit
stpmic1: Add STPMIC1 driver commit
10.20. Pulse-Width Modulation (PWM)
Add MediaTek MT8183 display PWM driver support commit
atmel: Add support for SAM9X60's PWM controller commit
hibvt: Add hi3559v100 support commit
10.21. Inter-Integrated Circuit (I2C)
aspeed: Add multi-master use case support commit
gpio: fault-injector: add 'inject_panic' injector commit, add 'lose_arbitration' injector commit
i801: Add support for Intel Comet Lake commit
i2c-ocores: Add IO mapped polled support commit, commit, commit
rcar: add suspend/resume support commit
tegra: Add DMA support commit
tegra: add bus clear Master Support commit
tegra: add i2c interface timing support commit
tegra: update maximum transfer size commit
10.22. Hardware monitoring (hwmon)
dell-smm: Support up to 10 temp sensors commit
pmbus: add support for DPS-650AB commit
pwm-fan: Add optional regulator support commit
lm85: support the LM96000 commit
10.23. General Purpose I/O (gpio)
add core support for pull-up/pull-down configuration commit
AMD G-Series PCH gpio driver commit
pca953x: Add wake-up support commit
Add a Gateworks PLD GPIO driver commit
gpio-f7188x: add support Fintek F81804 & F81966 commit
10.24. DMA engines
k3dma: Upgrade k3dma driver to support hisi_asp_dma hardware commit
fsl-qdma: Add qDMA controller driver for Layerscape SoCs commit
ioatdma: support latency tolerance report (LTR) for v3.4 commit
ioatdma: add descriptor pre-fetch support for v3.4 commit
ioatdma: Add Snow Ridge ioatdma device id commit
10.25. Hardware Random Number Generator (hwrng)
Add OP-TEE based rng driver commit
10.26. Cryptography hardware acceleration
caam: add support for xcbc(aes) commit
crypto4xx: add prng crypto support commit
axis: remove sha384 support for artpec7 commit
caam: add ecb(*) support commit
s5p: add AES support for Exynos5433 commit
10.27. PCI
Add HXT vendor ID commit
imx6: Add support for i.MX8MQ commit
altera: Add Stratix 10 PCIe support commit
layerscape: Add EP mode support commit
10.28. Clock
Add Fixed MMIO clock driver commit
actions: Add clock driver for S500 SoC commit
clocksource/drivers/tegra: Add Tegra210 timer support commit
imx: Add PLLs driver for imx8mm soc commit
imx: Add clock driver support for imx8mm commit
imx: scu: add cpu frequency scaling support commit
meson: Add G12A AO Clock + Reset Controller commit
meson: g12a: add peripheral clock controller commit
meson: pll: update driver for the g12a commit
qcom: clk-rpmh: Add IPA clock support commit
tegra: dfll: support PWM regulator control commit
10.29. EDAC (Error Detection And Correction)
aspeed: Add an Aspeed AST2500 EDAC driver commit
i10nm: Add a driver for Intel 10nm server processors commit
10.30. PHY ("physical layer" framework)
Add Cadence D-PHY support commit
Add A3700 COMPHY support commit
Add A3700 UTMI PHY driver commit
armada38x: add common phy support commit
qcom-qmp: Add QMP V3 USB3 PHY support for msm8998 commit
qcom-qusb2: Add QUSB2 PHY support for msm8998 commit
ti: usb2: Add support for AM654 USB2 PHY commit
- Networking
mdio-mux: Add support for Generic Mux controls commit
aquantia: add hwmon support commit
marvell10g: add support for the 88x2110 PHY commit
Add DP83825I to the DP83822 driver commit
Add generic support for 2.5GBaseT and 5GBaseT commit
aquantia: add support for AQCS109 commit
aquantia: add support for auto-negotiation configuration commit
ealtek: add generic Realtek PHY driver commit
10.31. Various
extcon: Add support for ptn5150 extcon driver commit
firmware: tegra: add bpmp driver for Tegra210 commit
firmware: xilinx: Add APIs to control node status/power commit
firmware: xilinx: Implement ZynqMP power management APIs commit
soc: xilinx: Add ZynqMP PM driver commit
soc: xilinx: Add ZynqMP power domain driver commit
gnss: add driver for mediatek receivers commit
habanalabs: Add driver for Habana's AI Processors (AIP) that are designed to accelerate Deep Learning inference and training workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
interconnect: Add debugfs support commit
interconnect: Add generic on-chip interconnect API commit
interconnect: Allow endpoints translation via DT commit
interconnect: qcom: Add sdm845 interconnect provider driver commit
iommu/hyper-v: Add Hyper-V stub IOMMU driver commit
irqchip: Add driver for Loongson-1 interrupt controller commit
mailbox: ZynqMP IPI mailbox controller commit
hdcp driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support to Qualcomm FastRPC driver commit, commit, commit, commit
ptp: add QorIQ PTP support for ENETC commit
ptp_qoriq: support external trigger stamp FIFO commit
remoteproc: debug: add crash debugfs node commit
reset: Add Broadcom STB SW_INIT reset controller driver commit
reset: imx7: Add support for i.MX8MQ IP block variant commit
reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller commit
soc: qcom: rpmhpd: Add RPMh power domain driver commit
soc: qcom: rpmpd: Add a Power domain driver to model corners commit
tee: add bus driver framework for TEE based devices commit
tee: add cancellation support to client interface commit
tee: optee: add TEE bus device enumeration support commit
11. List of merges