Size: 66155
Comment:
|
Size: 881
Comment: Linux 4.16 finished, 4.17 next...
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel. 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_4.16)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 4.16 has been released on Sun, 1 Apr 2018.
Summary: Besides the latest code to deal with CPU security bugs, this release declares the reverse mapping and reflink features as stable, membarrier(2) adds expedited support, SMB3 Direct (RDMA) support, adds the x86 jailhouse hypervisor which is able to statically partition a multicore system into multiple so-called cells, support for PowerPC memory protection keys, the hypervisor part of AMD Secure Encrypted Virtualization; and many new drivers and other improvements.
Contents
- Prominent features
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Clock
- Various
- List of merges
- Other news sites
1. Prominent features
1.1. Improved protection for CPU security bugs
This release adds:
x86: Basic IBPB (Indirect Branch Prediction Barrier) support commit
arm: Implement branch predictor hardening for Falkor and affected Cortex-A CPUs and Cavium ThunderX2 commit, commit, commit, commit
arm: Add support for unmapping kernel when running in userspace (Kernel Page Table Isolation) commit
kvm/x86: Add Indirect Branch Predictor Barrier (IBPB) is an indirect branch control mechanism. It keeps earlier branches from influencing later ones commit
s390: An implementation of the array_index_mask_nospec function to the defense against spectre v1 commit
s390: A s390 variant of the 'retpoline' spectre v2 defense called 'expoline' commit
s390: Run user space and KVM guests with modified branch prediction commit
1.2. XFS reverse mapping and reflink features are now stable
The reverse mapping and reflink features, merged back in 4.8 and 4.9 respectively, have been declared stable. These features allow for cp --reflink=always support, data deduplication, data copy-on-write ...
Code: commit and reflink features commit
1.3. membarrier(2) expedited support
This release provides expedited command in membarrier(2) for registration and use of membarrier across processes communicating through shared memory mappings. The non-expedited command has proven to be really too slow (taking 10ms and more to complete) for real-world use. The expedited version completes in a matter of microseconds.
Recommmended LWN article: Expediting membarrier()
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.4. SMB3 Direct (RDMA) support
Starting with SMB2 dialect 3.0, Microsoft introduced SMB Direct transport protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, RoCE or iWARP. This release adds support for Linux.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.5. Add the x86 jailhouse hypervisor
This release adds initial platform support for the jailhouse hypervisor. The Jailhouse hypervisor is able to statically partition a multicore system into multiple so-called cells. Linux is used as boot loader and continues to run in the root cell after Jailhouse is enabled. Linux can also run in non-root cells. Jailhouse was started 4 years ago as an open-source (GPL) light-weight hypervisor that statically partitions SMP systems. It's unique in that it uses one Linux instance, the root cell, as boot loader and management console. Jailhouse targets use cases for hard real-time and safety-critical systems that KVM cannot cater due to its inherent complexity
Code: commit
1.6. PowerPC: memory protection keys
This release adds support of memory protection keys (a feature merged in Linux 4.6) for Power7/8/9
1.7. Second part of AMD Secure Encrypted Virtualization
This release adds the hypervisor part of AMD Secure Encrypted Virtualization, a feature that allows to encrypt the memory of virtualized guests so that the host can't see it.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, [https://git.kernel.org/linus/35c6f649bbb2e3f367116307273f998f0bf3e08e|commit]], commit
2. Core (various)
Rework and optimize the cost of the inode->i_version counter in filesystems. There are measurable performance gains on several filesystems when streaming small (4k) I/Os commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add RWF_APPEND to pwritev2(2). This is the per-I/O equivalent of open(2)'s O_APPEND to support atomic append operations on any open file commit
Task scheduler: Add the possibility of getting the delivery of a SIGXCPU signal whenever there is a runtime overrun commit
(FEATURED)Task scheduler: reduce migrations and unnecessary spreading of load to multiple CPUs that can happen when interacting with cpufreq commit, commit, commit, commit
Task scheduler: Tweak the task migration logic for better multi-tasking workload scalability commit
Documentation: add maintainer handbook. commit
Documentation: document cgroup v2 device controller commit
printk: add console_msg_format command line option, which allows serial console messages to appear in syslog format. Recommended LWN article: Improving printk() commit
(FEATURED) membarrier(2): provide expedited command for registration and use of membarrier across processes communicating through shared memory mappings. The non-expedited command has proven to be really too slow (taking 10ms and more to complete) for real-world use. The expedited version completes in a matter of microseconds. Recommmended LWN article: Expediting membarrier(). commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
scripts: Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 'tar-pkg', this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap package commit
dma-direct: add support for CMA allocation commit and allocation from ZONE_DMA and ZONE_DMA32 commit
Power management: Add kernel option to ignore the system sleep blacklist commit
torture: Eliminate torture_runnable and perf_runnable commit
Separate error injection table from kprobes. An in-kernel fault-injection facility has also been added to debugfs which allows to inject a conditional error to specified function. For more details see Documentation/fault-injection/fault-injection.txt. commit, commit, commit, commit, commit
PCI/AER: Add uevents in AER and EEH error/resume commit
drivers: add coredump driver operation. When the driver defines it a coredump file is added in the sysfs folder of the device upon driver binding. The file is removed when the driver is unbound. User-space can trigger a coredump for this device by echo'ing to the coredump file commit
drivers: component: add debugfs support commit
3. File systems
- XFS
- BTRFS
- CIFS
(FEATURED) SMB3 Direct (RDMA) support. Starting with SMB2 dialect 3.0, Microsoft introduced SMB Direct transport protocol for transferring upper layer (SMB2) payload over RDMA via Infiniband, RoCE or iWARP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Dump IPC tcon in debug proc file commit
- F2FS
Support inode creation time commit
Introduce a sysfs interface readdir_ra to enable/disable readaheading inode block. When enabled, it improves the performance of "readdir + stat" commit
Add an ioctl to disable GC for specific file, which would be useful, when user wants to keep its block map commit
Add F2FS_IOC_PRECACHE_EXTENTS ioctl to precache extent info like ext4, in order to gain better performance during triggering AIO by eliminating synchronous waiting of mapping info commit
Support FIEMAP_FLAG_XATTR for xattr mapping info lookup commit
Allow root to reserve some blocks via mount option -o reserve_root commit
Allow to reserve blocks for specific UID/GID commit
Implement cgroup writeback support commit
- OCFS2
- OVERLAYFS
- GFS2
Implement fallocate(FALLOC_FL_PUNCH_HOLE) commit
- NFS
Support statx() mask and query flags parameters to enable some optimizations commit
- AFS
Support the AFS dynamic root, which is a pseudo-volume that doesn't connect to any server resource commit
4. Memory management
zswap: pages with the same contents are stored only once. Experiments have shown that this is the case of around 10-20% of pages commit
- KASAN
shmem: add sealing support to hugetlb-backed memfd commit
hugetblfs: implement memfd sealing commit
hugetlb: remove hugepages_treat_as_movable sysctl commit
Show total hugetlb memory consumption in /proc/meminfo commit
tools/vm/page-types: option to specify kpageflags file commit
5. Block layer
raid5-ppl: PPL support for disks with write-back cache enabled commit
device mapper: Add new "unstriped" target that enables Intel to workaround firmware limitations in some NVMe drives that are striped internally (this target also works when stacked above the DM "striped" target) commit
Support for SMR zones for deadline and mq-deadline commit, commit
null_blk: add option for managing IO timeouts commit, remove lightnvm support commit
bcache: add journal statistic commit
blk-mq: castly improve request-based DM's blk-mq sequential IO performance commit
- lightnvm
nfit, libnvdimm: deprecate the generic SMART ioctl commit
6. Tracing and perf
- perf report
Introduce perf report --tasks option to display monitored tasks stored in perf.data commit
Introduce perf report --mmaps option to display the same output as --tasks plus /proc/PID/maps similar lines for each mmap record present in perf.data commit
Introduce perf report --stats to display quick data statistics of event numbers, without any further processing, like the one at the end of perf report -D commit
perf report: Support time percent and multiple time ranges commit, commit, commit, commit, commit
- perf trace
- perf record
- perf script
perf probe: Support the special characters escaped by '\' in parser. This allows user to specify versions directly like perf probe -x /lib64/libc-2.25.so malloc_get_state\\@GLIBC_2.2.5 commit
Allow system wide perf stat --per-thread, sorting the result commit, commit
7. Virtualization
- virtualbox
vfio: ABI for mdev display dma-buf operation commit
vfio-pci: Allow mapping MSIX BAR commit
virtio_balloon: include disk/file caches memory statistics commit
virtio_net: Add ethtool stats commit
virtio_net: propagate linkspeed/duplex settings from the hypervisor commit
vmbus: add monitor_id and subchannel_id to sysfs per channel commit
uio_hv_generic: add rescind support commit
8. Cryptography
9. Security
EVM: Allow userland to permit modification of EVM-protected metadata commit
EVM: Add support for portable signature format commit
Smack: Privilege check on key operations commit
ima: support new hash and dont_hash policy actions commit
hardened usercopy whitelisting: Currently, hardened usercopy performs dynamic bounds checking on slab cache objects. This is good, but still leaves a lot of kernel memory available to be copied to/from userspace in the face of bugs. To further restrict what memory is available for copying, this creates a way to whitelist specific areas of a given slab cache object for copying to/from userspace, allowing much finer granularity of access control. Recommended LWN article: Hardened usercopy whitelisting. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
seccomp: add PTRACE_SECCOMP_GET_METADATA flag to allow retrieving seccomp metadata commit
Introduce CONFIG_CC_STACKPROTECTOR_AUTO config option, which attempts to discover the best possible stack-protector available for the compiler being used commit
10. Networking
Significantly shrink the core routing structures. struct dst_entry shrinks from 160 to 112 bytes, struct rtable shrinks from 216 to 168 bytes, and struct rt6_info shrinks from 384 to 320 bytes. Result of http://vger.kernel.org/~davem/seoul2017_netdev_keynote.pdf commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TCP
Add a 2nd listener hash table for TCP, similar to what was done for UDP. It solves the performance issue when a process is listening at many IP addresses with the same port commit, commit, commit, commit
Enables tail loss probe in cwnd reduction (CWR) state to detect potential losses commit
Pause Fast Open globally after third consecutive timeout commit
Add netdevsim driver for testing various offloads commit, commit, commit, commit
Support cross-chip FDB operations in DSA commit
Initial lockless qdisc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SCTP stream interleave support. First commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, second: commit, commit, commit, commit, commit, commit, commit, commit
- xfrm:
- erspan:
Add explicit support for GRO HW offloading commit, commit, commit, commit, commit
Add flow table abstraction to netfilter. A new nf_flow_offload module is added that registers a hook at ingress. Every packet that hits the flow table is forwarded to where the flow table entry specifies in terms of destination/gateway and netdevice. In case of flow table miss, the packet follows the classic forward path. This flow table is populated via the new nftables VM action flow_offload, so the user can selectively specify what flows are placed into the flow table commit, commit, commit, commit, commit, commit, commit
- IPv6
Add support for non-equal-cost multipath routes commit, commit, commit, commit
Align nexthop behaviour with IPv4 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for onlink flag (RTNH_F_ONLINK) on routes commit, commit, commit
ip6gretap: Similar to gre, vxlan, geneve, ipip tunnels, allow ip6gretap tunnels to operate in collect metadata mode commit, commit, commit
devlink: Add support for resource abstraction commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qdisk: Currently the filters added to qdiscs are independent, eg if you have 2 netdevices and you create ingress qdisc on both and you want to add identical filter rules both, you need to add them twice. This release allows to make things easier and saves resources allowing to share all filters within a qdisc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xdp: new XDP rx-queue info concept commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Netfilter
- BFP
Add support for creating maps on networking devices. BPF is programs+maps, the pure program offload has been around for quite some time, this adds the map part of the equation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow arbitrary function calls from bpf function to another bpf function commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the ability to do BPF directed error injection. A lot of our error paths are not well tested because there is no good way of injecting errors generically. Some subystems have ways to inject errors, but they are random so it's hard to get reproduceable results. With this mechanism it is possible to add determinism to our error injection commit, commit, commit, commit, commit
Implement syscall command BPF_MAP_GET_NEXT_KEY for stacktrace map commit, commit
Implements MAP_GET_NEXT_KEY command for LPM_TRIE map. This command is really useful for key enumeration, and for key deletion if what keys in the trie are unknown
Implement MAP_GET_NEXT_KEY command for LPM_TRIE map commit, commit
Adds support for several sock_ops callbacks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a UID to use for ULP socket assignment commit
Allow user space to query prog array on the same tracepoint commit, commit
Allow for correlation of maps and helpers in dump commit
Restrict access to core bpf sysctls commit
tun: allow to attach ebpf socket filter commit
Add eBPF based queue selection to tun commit
bpftool: Add basic cgroup bpf operations to bpftool commit, commit, commit, commit
Add drop counters to VF statistics commit
Expose number of link up/down transitions commit
Bluetooth: Add support to advertise when connected commit
Infiniband: Increase number of char device minors commit
mac80211: enable TDLS peer buffer STA feature commit
vrf: Allow send to local broadcast from a socket bound to a VRF commit
rtnetlink: enable IFLA_IF_NETNSID for RTM_DELLINK and RTM_SETLINK commit, commit, commit
RDMA: Add general infrastructure to track RDMA resources commit, provide detailed QP information commit, provide global resource utilization commit
tuntap: XDP transmission commit
smc: support variable CLC proposal messages commit
tools: bpftool: create "uninstall", "doc-uninstall" make targets commit
mac80211_hwsim: add hwsim_tx_rate_flags to netlink attributes commit
macsec: Add support for GCM-AES-256 cipher suite commit
l2tp: remove configurable offset parameters commit, commit, commit, commit
dsa: Allow compiling out legacy support commit
dummy: remove fake SR-IOV functionality commit
11. Architectures
- ARM
v8.4: Support for new floating point multiplication instructions commit
Add Broadcom Brahma-B15 readahead cache support commit
Always use REFCOUNT_FULL commit
- device tree sources
Add basic devicetree for D-Link DNS-313 commit
Add minimal support for LogicPD OMAP35xx SOM-LV devkit commit and
Add minimal support for LogicPD OMAP35xx Torpedo devkit commit
TS-4600: add basic device tree commit
TS-7970: add basic device tree commit
am57xx: Add support for am574x-idk commit
aspeed: Add Ingrasys Zaius BMC machine commit
aspeed: Add Qanta Q71L BMC machine commit
aspeed: Add Witherspoon BMC machine commit
at91: add devicetree for the Axentia Nattis with Natte power commit
at91: introduce the sama5d2 ptc ek board commit
imx6q: Add Variscite DART-MX6 Carrier-board support commit
imx6qdl: Add Variscite DART-MX6 SoM support commit
imx6qdl: add HummingBoard2 boards commit
imx7: add Toradex Colibri iMX7D 1GB (eMMC) support commit
ls1021a: add support for Moxa UC-8410A open platform commit
sun8i: add support for Orange Pi R1 commit
sun8i: h3: Add dts file for Libre Computer Board ALL-H3-CC H3 ver commit
ep93xx: ts72xx: Add support for BK3 board - ts72xx derivative commit
owl-s500: Add Sparky commit
KVM: vgic: Support level-triggered mapped interrupts commit
KVM: Implement PSCI 1.0 support commit
Add ARM Statistical Profiling Extensions (SPE) support commit
Add support for CoreSight trace decoding by making the perf tools use the external openCSD commit, commit, commit, commit, commit, commit, commit, commit
- ARM64
(FEATURED) Implement branch predictor hardening for Falkor and affected Cortex-A CPUs and Cavium ThunderX2 commit, commit, commit, commit
(FEATURED) Add support for unmapping kernel when running in userspace (aka "KAISER") commit
Add software workaround for Falkor erratum 1041 commit
Support for RAS (firmware first only) and SDEI (software delegated exception interface; allows firmware to inject a RAS error into the OS) commit, commit
- dts
actions: Add S700 and CubieBoard7 commit
renesas: Add support for Salvator-XS with R-Car M3-W commit and initial V3MSK board device tree commit
Implement SHA-512 using special instructions commit
sha3: new v8.2 Crypto Extensions implementation commit
sm3: new v8.2 Crypto Extensions implementation commit
perf: ARM DynamIQ Shared Unit PMU support commit
perf vendor events aarch64: Add JSON metrics for ARM Cortex-A53 Processor commit
perf vendor events arm64: Add ThunderX2 implementation defined pmu core events commit
- X86
(FEATURED) Add initial platform support for the jailhouse hypervisor that allows native Linux guests (inmates) in non-root cells (guest partitions). Jailhouse was started 4 years ago as an open-source (GPL) light-weight hypervisor that statically partitions SMP systems. It's unique in that it uses one Linux instance, the root cell, as boot loader and management console. Jailhouse targets use cases for hard real-time and safety-critical systems that KVM cannot cater due to its inherent complexity commit
Add support for L2 cache partitioning to the Intel RDT facility commit, commit, commit, commit, commit
(FEATURED) Add basic IBPB (Indirect Branch Prediction Barrier) support commit
Drop "native" vsyscalls commit
- platforms
chrome: cros_ec_lpc: Add support for Google Glimmer commit
Add Acer Wireless Radio Control driver commit
Add driver for GPD pocket custom fan controller commit
Add support for Dollar Cove TI power button commit
alienware-wmi: lightbar LED support for Dell Inspiron 5675 commit
asus-nb-wmi: Support ALS on the Zenbook UX430UQ commit
intel-vbtn: Support separate press/release events commit, support tablet mode switch commit, support panel front button commit
intel_pmc_core: Add CannonLake PCH support commit
mlx-platform: Add support for new 200G IB and Ethernet systems commit, add support for new msn201x system type commit, add support for new msn274x system type commit
silead_dmi: Add Teclast X3 Plus tablet support commit, add entry for newer BIOS for Trekstor Surftab 7.0 commit, add entry for the Chuwi Vi8 tablet commit, add entry for the Teclast X98 Plus II commit, add entry for the Trekstor Primebook C13 commit, add support for the Onda oBook 20 Plus tablet commit, add touchscreen info for SurfTab twin 10.1 commit, add entry for Chuwi Hi8 tablet commit
mei: me: add cannon point device ids commit and add cannon point device ids for 4th device commit
- KVM
Hypervisor part of AMD Secure Encrypted Virtualization commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, [https://git.kernel.org/linus/35c6f649bbb2e3f367116307273f998f0bf3e08e|commit]], commit
(FEATURED) Add Indirect Branch Predictor Barrier (IBPB) is an indirect branch control mechanism. It keeps earlier branches from influencing later ones commit
Expose new cpu features to guest commit
Implements support within KVM for MSR-based features commit, commit
Support paravirtualized help for TLB shootdowns commit, commit
Emulate UMIP (or almost do so) commit, commit, commit, commit
Add emulation of MSR_SMI_COUNT commit
Emulate RDPID commit
hyperv: stable clocksource for L2 guests when running nested KVM on Hyper-V commit, commit, commit, commit, commit, commit, commit
Remove 'noreplace-paravirt' cmdline option commit
- POWERPC
(FEATURED) Enable support for memory protection keys aka "pkeys" on Power7/8/9 commit, commit
Add support for CLOCK_{REALTIME/MONOTONIC}_COARSE to the 64 bit VDSO commit
A new driver "ocxl" for "Open Coherent Accelerator Processor Interface (OpenCAPI)" devices commit, commit, commit, commit, commit, commit, commit
Extend our interrupt soft masking to support masking PMU interrupts as well as "normal" interrupts, and then use that to implement local_t for a ~4x speedup vs the current atomics-based implementation commit, commit
cpuidle: Add polling idle for shared processor guests commit
cell: Remove axonram driver commit
eeh: Add EEH notify resume sysfs commit
powernv: Add debugfs interface for imc-mode and imc-command commit
Expose TSCR via sysfs commit
- KVM
- MIPS
- S390
An implementation of the array_index_mask_nospec function to the defense against spectre v1 commit
A s390 variant of the 'retpoline' spectre v2 defense called 'expoline' commit
Run user space and KVM guests with modified branch prediction commit
qeth: support early setup for z/VM NICs commit
diag: add diag26c support for VNIC info commit
KVM: Exitless interrupts for emulated devices commit, commit, commit, commit
- SPARC
- RISCV
ftrace: Add basic support commit
- XTENSA
12. Drivers
12.1. Graphics
framebuffer: Add framebuffer debugfs file commit
Add support for a panel-orientation connector property commit
- intel
CannonLake: Add support for horizontal plane flipping commit
CannonLake: Extend HDMI 2.0 support to CannonLake commit
Add support for reset engine using GuC commands commit
- GVT
Show FBC worker status in debugfs commit
Adding more Coffee Lake PCI IDs commit
Remove debugfs/i915_seqno_info commit
Remove i915.enable_execlists module parameter commit
Remove i915.semaphores modparam commit
Remove unsafe i915.enable_rc6 commit
- amdgpu/radeon
- amdkfd
- rcar
- sun4i
- msm
Devfreq support for GPU commit
- tegra
- omapdrm
- exynos
Drop the old IPP subdriver commit
- armada
Allow disabling primary plane if overlay is full screen commit
- imx
- Format modifier support
- Add tile prefetch to PRE
- Runtime PM support for PRG
- nouveau
tinydrm: add driver for ILI9225 panels commit and ST7735R panels commit
- panel
ipu-v3: pre: add tiled prefetch support commit
bridge/sii8620: add DVI mode support commit
12.2. Storage
- ahci
ata: remove pata_at32 commit
- arcmsr
dh: add new rdac devices commit
hisi_sas: add RAS feature for v3 hw commit
lpfc: Beef up stat counters for debug commit
- megaraid_sas
- qla2xxx
scsi-mq-debugfs: Show more information commit
scsi_debug: Add support for injecting SCSI_MLQUEUE_HOST_BUSY commit, add cdb_len parameter commit
12.3. Drivers in the Staging area
media: Introduce NVIDIA Tegra video decoder driver commit
Move Novell IPX protocol support into staging commit
Move ncpfs to staging commit
Remove lirc_zilog driver commit
12.4. Networking
cavium: add support for Cavium PTP coprocessor commit
Add a driver for Gemini gigabit ethernet commit
socionext: add AVE ethernet driver commit
- Bluetooth
Add a new 04ca:3015 QCA_ROME device commit
btbcm: Add entry for BCM4343A0 UART bluetooth commit
btusb: Add a Kconfig option to enable USB autosuspend by default commit
btusb: Add support for 0cf3:e010 commit
hci_bcm: Add support for BCM2E72 commit
hci_bcm: Support Apple GPIO handling commit
hci_ll: add support for setting public address commit
- Infiniband
- RDMA
- ath10k
Add coredump_mask module parameter commit
Add memory dump support QCA988X commit
Add memory dump support for QCA6174/QCA9377 commit
Add per peer tx stats support for 10.2.4 commit
Add support for Ubiquiti rebranded QCA988X v2 commit
Handle tdls peer events commit
wmi: add management tx by reference support over wmi commit
- ath9k
bnxt_en: Add BCM5745X NPAR device IDs commit
bnxt_en: add support for software dynamic interrupt moderation commit
brcmfmac: Support 43455 save-restore (SR) feature if FW include -sr commit
can: Add support for limiting configured bitrate commit
can: m_can: Add PM Support commit
can: m_can: Support higher speed CAN-FD bitrates commit
- cxgb4
cxgb4/cxgb4vf: add support for ndo_set_vf_vlan commit
cxgb4/cxgb4vf: support for XLAUI Port Type commit
Add support for Inline IPSec Tx commit
Add support for ethtool i2c dump commit
Add vxlan segmentation offload commit, commit, commit, commit
Add geneve offload support for T6 commit
add new T5 and T6 device id's commit
enic: add sw timestamp support commit
hv_netvsc: track memory allocation failures in ethtool stats commit
i40e: Implement an ethtool private flag to stop LLDP in FW commit
igb: Allow to remove administratively set MAC on VFs commit
- iwlwifi:
- ixgbe
- mlxsw
- mt76
mwifiex: device dump support for usb interface commit
mlx4_en: Align behavior of set ring size flow via ethtool commit
- mlx5
Add DC transport support commit, commit, commit, commit, commit, commit
Add hairpin support (We refer the ability of NIC HW to fwd packet received on one port to the other port, also from a port to itself, as hairpin commit, commit, commit, commit, commit, commit, commit, commit
E-switch, Add steering drop counters commit
aquantia: Introduce new AQC devices and capabilities commit, commit
dsa: mediatek: add VLAN support for MT7530 commit
ena: add detection and recovery mechanism for handling missed/misrouted MSI-X commit
hns3: Add support of the HNS3 (Hisilicon Network Subsystem 3) Virtual Function Ethernet driver for hip08 family of SoCs merge
hns: add ACPI mode support for ethtool -p commit
- macb
- mvneta
- mvpp2
- phy
pxa168_eth: add netconsole support commit
qmi_wwan: Add if on lte modem wistron neweb d18q1 commit, add USB id for lt4120 modem commit, add BroadMobi BM806U 2020:2033 commit, add support for Quectel EP06 commit
qualcomm: rmnet: Enable csum offloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qualcomm: rmnet: adds support for configuring features (aggregation and control commands) commit, commit, commit, commit, commit, commit
thunderx: add timestamping support commit
- nfp
Add basic multicast filtering commit
bpf: adjust head support commit, commit, commit, commit, commit
Enhanced debug dump via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for offloading the encap and decap of Geneve tunnels commit, commit
Implement firmware flashing commit
phylib: Add device reset GPIO support commit
phylink: add support for 2500baseX and 10GbaseKR commit
- qtnfmac
- rtlwifi
- sfc
Initial X2000-series (Medford2) support commit, commit, commit, commit, commit, commit
Support PTP on 8000 and X2000 series NICs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support 25G configuration with ethtool commit, commit, commit
Support extra stats on Medford2 commit, commit, commit, commit
- sfp
tg3: Add Macronix NVRAM support commit
wcn36xx: Add hardware scan offload support commit
- wil6210
12.5. Audio
pcm: add {{{SNDRV_PCM_FORMAT_S20/SNDRV_PCM_FORMAT_U20 commit
hda/realtek - Add headset mode support for Dell laptop commit, commit, add support headset mode for DELL WYSE commit, enable Thinkpad Dock device for ALC298 platform commit, support headset mode for ALC215/ALC285/ALC289 commit
hda: add dock and led support for HP EliteBook 820 G3 commit and HP ProBook 640 G2 commit
usb-audio: Add native DSD support for TEAC UD-301 commit
usb-audio: Support changing input on Sound Blaster E1 commit
- ASoC
Intel: Skylake: Add extended I2S config blob support in Clock driver commit
Intel: Skylake: Add ssp clock driver commit
Intel: bytcr-rt5651: add support for Line In commit
Intel: cht_bsw_rt5645: Analog Mic support commit
TSCS42xx: Add support for Tempo Semiconductor's TSCS42xx audio CODEC commit
fsl_ssi: add 20-bit sample format for AC'97 and use it for capture commit
hdac_hdmi: Add vendor id for Cannonlake HDMI codec commit
max98373: Added Amplifier Driver commit
pcm186x: Add initial PCM1862/63/64/65 universal ADC driver commit
rockchip: i2s: Support mono capture commit
spdif: Add S32_LE support for S/PDIF dummy codec drivers commit
stm32: add DFSDM DAI support commit
sun4i-codec: enable 12Khz and 24Khz audio sample rates commit
sun4i-i2s: Add support for A83T commit
sun8i-codec: Add ADC support for a33 commit
tas5720: add basic support for TAS5722 devices commit
tas6424: Add support for TAS6424 digital amplifier commit
tlv320aic31xx: Add CODEC clock slave support commit
12.6. Tablets, touch screens, keyboards, mouses
- HID
Add special driver for Jabra devices commit
asus: Add product-id for the T100TAF and T100HA keyboard docks commit
hid-multitouch: support fine-grain orientation reporting commit
intel-ish-hid: Enable Cannon Lake and Coffee Lake laptop/desktop commit
rmi: Support the Fujitsu R726 Pad dock using hid-rmi commit
sony: Report DS4 version info through sysfs commit
wacom: Add support for One by Wacom (CTL-472 / CTL-672) commit
gpio_tilt - delete driver commit
mms114 - add support for mms152 commit
remove at32psif commit
remove atmel-wm97xx touchscreen driver commit
silead - add support for capactive home button found on some x86 tablets commit
12.7. TV tuners, webcams, video capturers
Add new uAPI for DVB streaming I/O commit
dvb-core: make DVB mmap API optional commit
dvb_frontend: add physical layer scrambling support commit
cx231xx: Add support for The Imaging Source DFG/USB2pro commit
dib0700: add support for Xbox One Digital TV Tuner commit
i2c: Add the ov7740 image sensor driver commit
i2c: as3645a: Remove driver commit
intel-ipu3: cio2: add new MIPI-CSI2 driver commit
lirc: implement reading scancode commit, implement scancode sending commit, commit
mt9m111: add media controller support commit
ov5640: add support of DVP parallel interface commit, add support of RGB565 and YUYV formats commit
ov7670: add V4L2_CID_TEST_PATTERN control commit
si2165: add DVBv5 BER statistics commit, add DVBv5 C/N statistics for DVB-C commit
stv090x: add physical layer scrambling support commit
tda18250: support for new silicon tuner commit
uvcvideo: Add D3DFMT_L8 support commit
venus: venc: Apply inloop deblocking filter commit
12.8. Universal Serial Bus
Add support for USB_REQ_SET_ISOCH_DELAY commit
- serial
ldusb: add PIDs for new CASSY devices supported by this driver commit
mtu3: supports remote wakeup for mt2712 with two SSUSB IPs commit
option: Add support for FS040U modem commit
renesas_usbhs: Add support for RZ/A1 commit
xhci: Add DbC support in xHCI driver commit
12.9. Serial Peripheral Interface (SPI)
a3700: Add full-duplex support commit
12.10. Watchdog
Add RAVE SP watchdog driver commit
Add Realtek RTD1295 commit
Add Spreadtrum watchdog driver commit
i6300esb: support multiple devices commit
jz4740: Add support for the watchdog in jz4780 SoC commit
remove at32ap700x_wdt commit
sp5100_tco: Add support for recent FCH versions commit
12.11. ACPI, EFI, cpufreq, thermal, Power Management
12.12. Real Time Clock (RTC)
Add mxc driver for i.MX53 SRTC commit
remove rtc-at32ap700x commit
cros-ec: add cros-ec-rtc driver commit
12.13. Voltage, current regulators, power capping, power supply
Add support for bq27521 battery monitor commit
power: reset: remove unused imx-snvs-poweroff driver commit
regulator: add PM suspend and resume hooks commit
regulator: sc2731: Add regulator driver to support Spreadtrum SC2731 PMIC commit
12.14. Pin Controllers (pinctrl)
Add Microsemi Ocelot SoC driver commit
axp209: add support for AXP813 GPIOs commit
imx6ul: add IOMUXC SNVS pinctrl driver for i.MX 6ULL commit
mediatek: add pinctrl driver for MT7622 SoC commit
meson-axg: Add new pinctrl driver for Meson AXG SoC commit
qcom: Add msm8998 pinctrl driver commit
sh-pfc: r8a7745: Add CAN[01] support commit
sh-pfc: r8a7795: Add CAN support commit
sh-pfc: r8a77995: Add CAN support commit
sh-pfc: r8a77995: Add CAN FD support commit
stm32: Add STM32MP157 MPU support commit
stm32: add STM32F769 MCU support commit
12.15. Multi Media Card (MMC)
block: Add CQE support commit
block: Add blk-mq support commit
cqhci: support for command queue enabled host commit
mmci: Add STM32 variant commit
mmci: Add support for setting pad type via pinctrl commit
renesas_sdhi: enable R-Car D3 (r8a77995) support commit
sdhci-acpi: Add support for ACPI HID of AMD Controller with HS400 commit
sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1 commit
sdhci-pci: Add CQHCI support for Intel GLK commit
sdhci_f_sdh30: add ACPI support commit
mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy commit
12.16. Memory Technology Devices (MTD)
nand: add reworked Marvell NAND controller driver commit
nand: mtk: Support MT7622 NAND flash controller commit
spi-nor: Add ISSI is25lp080d support commit
spi-nor: Add support for s25fl128l and s25fl256l commit
spi-nor: add support for ISSI is25lp128 commit
spi-nor: add support for is25lq040b commit
12.17. Industrial I/O (iio)
Add hardware consumer buffer support commit
ADC: add sigma delta modulator support commit
ADC: add stm32 DFSDM core support commit, add stm32 DFSDM support for PDM microphone commit, add STM32 DFSDM sigma delta ADC support commit
adc: ina2xx: Allow setting Shunt Voltage PGA gain and Bus Voltage range commit
adc: stm32: add support for differential channels commit
health: max30102: Add MAX30105 support commit
hx711: add triggered buffer support commit
light: add support for UVIS25 sensor commit
magnetometer: ak8975: Add another ACPI ID commit
proximity: sx9500: Add another ACPI ID commit
12.18. Multi Function Devices (MFD)
Add driver for RAVE Supervisory Processor commit
12.19. Inter-Integrated Circuit (I2C)
i2c: gpio: add fault injector commit
12.20. Hardware monitoring (hwmon)
dell-smm: Disable fan support for Dell Inspiron 7720 commit and Dell Vostro 3360 commit
dell-smm: Enable broken functionality via "force" module param commit
k10temp: Add temperature offset for Ryzen 1900X commit
pmbus: Add fan control support commit
pmbus: Export pmbus device debugfs directory entry commit
pmbus: cffps: Add debugfs entries commit
pmbus/max31785: Add dual tachometer support commit
pmbus/max31785: Add fan control commit
pmbus/lm25066: Drop support for LM25063 commit
hwmon: Add W83773G driver commit
12.21. General Purpose I/O (gpio)
Add GPIO support for the ACCES PCIe-IDIO-24 family commit
of: Support SPI nonstandard GPIO properties commit
of: Support regulator nonstandard GPIO properties commit
winbond: Add driver commit
12.22. Leds
trigger: Introduce a NETDEV trigger. Available triggers are link, rx, and tx. commit
lm3692x: Introduce LM3692x dual string driver commit
12.23. Cryptography hardware acceleration
chcr: Add support for Inline IPSec commit
caam: add Derived Key Protocol (DKP) support commit
chelsio: Add authenc versions of ctr and sha commit
crypto4xx: support Revision B parts commit
inside-secure: EIP97 support commit
stm32: Support for STM32 CRYP crypto module commit
12.24. PCI
Expose ari_enabled in sysfs commit
cadence: Add EndPoint Controller driver for Cadence PCIe controller commit
cadence: Add host driver for Cadence PCIe controller commit
dwc: artpec6: Add support for endpoint mode commit
dwc: artpec6: Add support for the ARTPEC-7 SoC commit
switchtec: Add device IDs for PSX 24xG3 and PSX 48xG3 commit
12.25. Non-Transparent Bridge (NTB)
Remove Intel Atom NTB driver support commit
12.26. Clock
Add Ingenic jz4770 CGU driver commit
Show symbolic clock flags in debugfs commit
hisilicon: Add support for Hi3660 stub clocks commit
meson-axg: add clock controller drivers commit
qcom: Add A53 PLL support commit
qcom: Add APCS clock controller support commit
qcom: Add regmap mux-div clocks support commit
qcom: Add spmi_pmic clock divider support commit
qcom: ipq8074: add GP and Crypto clocks commit
qcom: ipq8074: add NSS clocks commit
qcom: ipq8074: add NSS ethernet port clocks commit
qcom: ipq8074: add PCIE, USB and SDCC clocks commit
sprd: Add common infrastructure commit
ti: Drop legacy clk-3xxx-legacy code commit
clocksource/drivers/spreadtrum: Add timer driver for the Spreadtrum SC9860 platform commit
12.27. Various
ACPICA: iASL/Tools: Add support for PDTT, SDEV, TPM2 ACPI tables commit
EDAC, ti: Add support for TI keystone and DRA7xx EDAC commit
PM / OPP: Add ti-opp-supply driver commit
visorbus: move driver out of staging commit
extcon: usbc-cros-ec: add support to notify USB type cables commit
firmware: arm_sdei: Add driver for Software Delegated Exceptions commit
firmware: arm_sdei: Add support for CPU and system power states commit
firmware: arm_sdei: add support for CPU private events commit
hwrng: bcm63xx - Remove since bcm2835-rng takes over commit
hwrng: exynos - add Samsung Exynos True RNG driver commit
irqchip/gic-v2m: Add PCI Multi-MSI support commit
irqchip/irq-goldfish-pic: Add Goldfish PIC driver commit
lp: support 64-bit time_t user space commit
memory: tegra: Add Tegra186 support commit
memory: ti-emif-sram: introduce relocatable suspend/resume handlers commit
misc: rtsx: Add support for RTS5260 commit
optee: support asynchronous supplicant requests commit
regmap: add SLIMbus support commit
serial: 8250_pci: Add Brainboxes UC-260 4 port serial device commit
siox: add gpio bus driver commit
siox: new driver framework for eckelmann SIOX commit
slimbus: Add SLIMbus bus type commit
slimbus: Add messaging APIs to slimbus framework commit
slimbus: Add support for 'clock-pause' feature commit
slimbus: core: add common defines required for controllers commit
slimbus: core: add support to device tree helper commit
slimbus: qcom: Add Qualcomm Slimbus controller driver commit
slimbus: qcom: Add runtime-pm support using clock-pause commit
soc/tegra: fuse: Add Tegra186 support commit
soc: Add SoC driver for Gemini commit
soc: mediatek: add MT2712 scpsys support commit
soc: qcom: Introduce QMI encoder/decoder commit
soc: qcom: Introduce QMI helpers commit
soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP init driver commit
soundwire: Add IO transfer commit
soundwire: Add Master registration commit
soundwire: Add Slave status handling helpers commit
soundwire: Add slave status handling commit
soundwire: intel: Add Intel Master driver commit
soundwire: intel: Add Intel init module commit
switchtec: Add Global Fabric Manager Server (GFMS) event commit
tcmu: allow max block and global max blocks to be settable commit
tcmu: allow userspace to reset ring commit
tee: add TEE_IOCTL_PARAM_ATTR_META commit
tee: add register user memory commit
tty: moxa: Add support for CMSPAR commit
13. List of merges
14. Other news sites
Phoronix 4.16 feature overview