Size: 66018
Comment: delete google cache - kn seeems to handle load better
|
Size: 880
Comment: Linux 5.4 released
|
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)] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r * Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha * Convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs * Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64 * Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] |
<<Include(Linux_5.4)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.4 was released on 24 November 2019.
Summary: This release includes the kernel lockdown mode, intended to strengthen the boundary between UID 0 and the kernel; virtio-fs, a high-performance virtio driver which allows a virtualized guest to mount a directory that has been exported on the host; fs-verity, for detecting file tampering, like dm-verity, but works on files rather than block devices; dm-clone, which allows live cloning of dm targets; two new madvise() flags for improved app memory management on Android, support for new Intel/AMD GPUs, support for the exfat file system and removing the experimental status of the EROFS file system; a new haltpoll cpuidle driver and governor that greatly improves performance for virtualized guests wanting to do guest-side polling in the idle loop; and blk-iocost, a I/O cgroup controller that attempts to calculate the cost of I/O more accurately. As always, there are many other new drivers and improvements.
Contents
-
Coolest features
- Kernel lockdown mode
- virtio-fs, a bridge to share file systems with virtualized guests
- fs-verity, for detecting file modifications
- dm-clone
- Support for new AMD/Intel graphics
- Two new madvise() flags: MADV_COLD and MADV_PAGEOUT
- EROFS and exFAT
- More efficient polling in virtualized guests with haltpoll
- More accurate cgroup I/O control with blk-iocost
- Kernel symbol namespacing
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Power Management
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency Scaling
- Device Voltage and Frequency Scaling
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- LEDs
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Coolest features
1.1. Kernel lockdown mode
This release introduces an optional kernel lockdown feature, intended to strengthen the boundary between UID 0 (root) and the kernel. When enabled, various pieces of kernel functionality are restricted. Applications that rely on low-level access to either hardware or the kernel may cease working as a result - therefore this should not be enabled without appropriate evaluation beforehand. The original purpose of this feature was to honour the anti-tampering protections expected in a secure-boot environment, but it is not tied to that. The majority of mainstream distributions have been carrying variants of this patchset for many years now.
Kernel lockdown is implemented as a Linux Security Module that can be configured in integrity or lockdown mode. If set to integrity, kernel features that allow userland to modify the running kernel are disabled. If set to confidentiality, kernel features that allow userland to extract confidential information from the kernel are also disabled. Configuration can be done at runtime (through securityfs), boot time (via a kernel parameter) or build time (via a kconfig option).
Recommended LWN article: Lockdown as a security module
1.2. virtio-fs, a bridge to share file systems with virtualized guests
This release includes virtio-fs, a FUSE-based virtio driver for guest <-> host file system sharing. It allows a guest to mount a directory that has been exported on the host. Although there are existing technologies that allow this kind of functionality (NFS, virtio-9P), virtio-fs takes advantage of the proximity of VMs to achieve API semantics and performance more like local file systems. This is desirable both for performance and for application compatibility.
For more details, see the documentation, the design documentation and the official web site
1.3. fs-verity, for detecting file modifications
fs-verity is a support layer that filesystems can use to support transparent integrity and authenticity protection of read-only files. It is similar to dm-verity but works on files rather than block devices. Currently, it is supported by the ext4 and f2fs filesystems.
On regular files on filesystems supporting fs-verity, userspace can execute an ioctl that causes the filesystem to build a Merkle tree for the file and persist it to a filesystem-specific location associated with the file. Optionally, it is possible sign files with a key loaded into a keyring. After this, the file is made readonly, and all reads from the file are automatically verified against the file's Merkle tree. Reads of any corrupted data, including mmap reads, will fail. Userspace can efficently retrieve the root hash ("file measurement") with another ioctl, which can be used for a variety of security applications.
For more details, read the documentation
Recommended LWN article: Yet another try for fs-verity
1.4. dm-clone
dm-clone is a device mapper target which produces a one-to-one copy of an existing, read-only source device into a writable destination device: It presents a virtual block device which makes all data appear immediately, and redirects reads and writes accordingly. The main use case of dm-clone is to clone a potentially remote, high-latency, read-only, archival-type block device into a writable, fast, primary-type device for fast, low-latency I/O. The cloned device is visible/mountable immediately and the copy of the source device to the destination device happens in the background, in parallel with user I/O.
For more details, see the documentation
1.5. Support for new AMD/Intel graphics
This release adds support in the amdgpu driver for four new amdgpu products: Navi 12/14, Arcturus and Renoir APU support.
It also includes the first pieces for supporting the future Intel Tiger Lake GPU.
1.6. Two new madvise() flags: MADV_COLD and MADV_PAGEOUT
In order to improve memory usage in some systems (notably, Android), two new madvise() flags have been added: MADV_COLD and MADV_PAGEOUT. These new options complement MADV_DONTNEED and MADV_FREE by adding non-destructive ways to gain some free memory space.
MADV_COLD hints the kernel that the pages can be reclaimed when memory pressure happens but data should be preserved for future use, this can reduce workingset eviction so it ends up increasing performance. In contrast to MADV_FREE, the contents of the region are preserved regardless of subsequent writes to pages. MADV_PAGEOUT can be used by a process to mark a memory range as not expected to be used for a long time so that kernel reclaims *any LRU* pages instantly. The hint can help kernel in deciding which pages to evict proactively. Access in the range after successful operation could cause major page fault but never lose the up-to-date contents unlike MADV_DONTNEED
1.7. EROFS and exFAT
This release moves the EROFS file system out of the staging area. First included in Linux 4.19, EROFS is a lightweight read-only file system with a modern design aimed for scenarios which need high-performance read-only requirements, e.g. firmware in mobile phone or Livecds. Recommended LWN article: On-disk format robustness requirements for new filesystems
This release also adds the exFAT file system to the staging area. Recommended LWN article: Examining exFAT
1.8. More efficient polling in virtualized guests with haltpoll
This release includes a haltpoll cpuidle driver and a new matching governor. These two pieces allows guest vcpus to poll for a specified amount of time before halting, which provides the following benefits to host side polling: 1) The POLL flag is set while polling is performed, which allows a remote vCPU to avoid sending an IPI (and the associated cost of handling the IPI) when performing a wakeup. 2) The VM-exit cost can be avoided. The downside of guest side polling is that polling is performed even with other runnable tasks in the host. For more details see the documentation
1.9. More accurate cgroup I/O control with blk-iocost
One challenge of controlling I/O resources is the lack of reliability of trivial cost metrics. Bandwidth and iops can be off by orders of magnitude depending on the device type and I/O pattern. This is challenging for the I/O cgroup controllers: while io.latency provides the capability to comprehensively prioritize and protect IOs depending on the cgroups, its protection is binary - the lowest latency target cgroup is protected at the cost of all others.
This release introduces blk-iocost, an I/O cost model based work-conserving proportional controller. It currently has a simple linear cost model builtin where each I/O is classified as sequential or random and given a base cost accordingly and additional size-proportional cost is added on top. Each I/O is given a fairly reliable cost, and distributes I/O capacity for each cgroup according to their hierarchical weight. For more details, see the cgroup documentation for io.cost.qos and io.cost.model
Recommended LWN article: The io.weight I/O-bandwidth controller (the io.weight name is no longer used)
1.10. Kernel symbol namespacing
In order to support modules, the kernel needs to export the symbols of functions needed by modules. With more than 30k of those symbols existing in the current kernel, managing the symbols is sometimes messy. This feature allows allows subsystem maintainers to partition and categorize their exported symbols into explicit namespaces, which makes easier to control the use of symbols. Module authors are now required to import the namespaces they need.
For more details, read the documentation
Recommended LWN article: Kernel symbol namespacing
2. Core (various)
(FEATURED) fs-verity: read-only file-based authenticity protection. fs-verity is similar to dm-verity, but implemented on a per-file basis: a Merkle tree is used to measure (hash) a read-only file's data as it is paged in. In general, fs-verity is intended for use on writable filesystems; dm-verity is still recommended on read-only ones. Support is added for Ext4 and F2FS file systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fscrypt: Makes major improvements to how keys are added, removed, and derived in fscrypt, aka ext4/f2fs/ubifs encryption. It does this by adding new ioctls that add and remove encryption keys directly to/from the filesystem, and by adding a new encryption policy version ("v2") where the user-provided keys are only used as input to HKDF-SHA512 and are identified by their cryptographic hash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Task scheduler
topology: Improve load balancing on AMD EPYC systems commit
Extend the CPU cgroup controller with uclamp.min and uclamp.max to allow the finer shaping of CPU bandwidth usage commit, commit, commit, commit, commit, commit
Speed-up energy-aware wake-ups from O(CPUS^2) to O(CPUS) commit
Improve the behavior of high CPU count, high thread count applications running under cpu.cfs_quota_us constraints commit
Improve balancing with SCHED_IDLE (SCHED_BATCH) tasks present commit
Improve CPU isolation housekeeping CPU allocation NUMA locality commit
Convert the cpuset_mutex to percpu_rwsem, to allow it to be used from setscheduler() system calls without creating global serialization commit
- io_uring
IORING_OP_TIMEOUT support, a functionality similar to io_getevents() and epoll_wait(), where the user can specify a timeout for waiting on events commit
Improvement to the io_uring CQ ring wakeup for batched IO commit
Allocate SQ/CQ ring together, more efficient. Expose this through a feature flag as well, so we can reduce the number of mmaps by 1 commit, commit
Support SQ poll wakeup + event get in single io_uring_enter commit
Add support for links with drain commands commit
Increase IORING_MAX_ENTRIES from 4K to 32K commit
Limit parallelism of buffered writes commit
waitid() system call
Add P_PIDFD flag, which adds the ability to wait on processes using pidfds. This is one of the few missing pieces to make it possible to manage processes using only pidfds commit
Add support for waiting for the current process group commit
Symbol Namespaces. It adds namespacing to the symbols used by kernel modules. This feature allows subsystem maintainers to partition their exported symbols into separate namespaces, limit availability of these namespaced symbols to other parts of the kernel. For more details read the documentation. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
VFS: adds a per-superblock minimum/maximum timestamp limit for a file system, and clamps timestamps as they are written, to avoid random behavior from integer overflow as well as having different time stamps on disk vs in memory. This helps futimens(), utimensat() and utimes() syscalls to conform to POSIX defined behavior when the time being set is outside of the corresponding filesystem's supported limits commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Preparations for PREEMPT_RT
(hr)timers: Prepare for PREEMPT_RT support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
posix-timers: Prepare for PREEMPT_RT - part 1 commit, commit, commit, commit, commit, commit
Enforce interrupt threading at compile time on RT commit
Add binder state and statistics to binderfs commit, commit, commit, commit
kexec: add generic support for elf kernel images commit, commit, commit, commit, commit, commit, commit
Update the interrupt spreading code so it handles numa node with different CPU counts properly commit, commit
- RCU
Improve rwsem scalability commit
lockdep: Report more stack trace statistics commit
Prohibit writing to active swap files and swap partitions commit, commit
lkdtm: Add Control Flow Integrity test commit
kbuild: remove SUBDIRS support commit
3. File systems
- XFS
- F2FS
- CIFS
Introduces a new kernel command-line option called cifsroot= which will tell the kernel to mount the root file system over the network by utilizing SMB or CIFS protocol commit
Add support to send smb2 set-info commands from userspace commit
Allow chmod to set mode bits using special sid commit, commit
Add cache=singleclient mount option to allow shares accessed by only client to be more aggressively cached commit
Allow share to be mounted with cache=ro if immutable share commit
Add ioctl to dump decryption keys for debugging commit
Allow disabling requesting leases commit
Allow parallelizing decryption of reads commit
Allow skipping signature verification for perf sensitive configurations commit
Display max smb3 requests in flight at any one time commit
Enable offload of decryption of large reads via mount option commit
- ext4
Add ioctl EXT4_IOC_CLEAR_ES_CACHE to force an inode's extent status cache to be cleared out, intended for debugging commit
Add ioctl EXT4_IOC_GETSTATE, it returns some of the dynamic state of an ext4 inode, intended for debugging commit
Add ioctl EXT4_IOC_GET_ES_CACHE, it returns the contents of the extent. Intended for debugging commit
- AFS
afs: Support RCU pathwalk commit
- Ceph
Allow arbitrary security.* xattrs commit
Automatic recovery of a blacklisted filesystem session. This is disabled by default and can be enabled by mounting with the recover_session=clean boot option commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow copy_file_range() within the same inode and across different filesystems within the same cluster commit
- Btrfs
- NFS
Add a new knfsd file descriptor cache, so that the kernel doesn't have to open and close on each (NFSv2/v3) READ or WRITE. This can speed up read and write in some cases. It also replaces the readahead cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handling NFSv3 I/O errors in knfsd commit, commit, commit, commit
Optimise the default readahead size commit
Add hash of the kerberos principal to the data being tracked by nfsdcld commit, commit
Enable pNFS filelayout LAYOUTGET on OPEN commit
- UDF
Support 2048-byte spacing of VRS descriptors on 4K media commit
4. Memory management
(FEATURED) Introduce madvise() flags MADV_COLD, which marks pages as inactive (thus more easily reclaimed under memory pressure), but doesn't discard the contents like MADV_FREE does, and MADV_PAGEOUT, which reclaims pages immediately, but doesn't discard the contents like MADV_DONTNEED does. commit, commit, commit, commit
- Memory control group
Extend the shrink file to shrink all memcg caches for the slab cache. Before the commit, writing 1 to /sys/kernel/slab/<slab>/shrink was shrinking only the root cache. With SLUB_MEMCG_SYSFS_ON enabled and slub_memcg_sysfs=1 used, it was possible to shrink also memcg caches, but it was impractical. Now all memcg caches will be shrunk when writing to the "global" shrink file. commit
Throttle allocators when reclaim cannot keep up with v2 memory.high limit commit
Introduce gradual reclaim pressure between v2 memory.low and memory.min thresholds instead of the previous cliff behaviour. commit, commit, commit
Improve situation with multiple parallel reclaimers by letting each walk through the whole cgroup tree, resulting in fewer premature OOM kills. commit
Deprecate v1 kmem.limit_in_bytes due to causing unexpected ENOMEM failures and global OOM's. commit
Prevent premature OOM's due to deferred Transparent Huge Page split queue. commit, commit, commit, commit
Implement foreign inode flushing to avoid pathological cases when two different cgroups are writing to the same inode commit, commit, commit, commit, commit
Experimentally enable Transparent Huge Page support for text section (executable code) of non-shmem files (CONFIG_READ_ONLY_THP_FOR_FS) commit, commit, commit, commit, commit, commit, commit
Change the handling of Transparent Huge Page faults so that they are tried first on a local NUMA node with no memory reclaim allowed, and if they not succeed, for madvise(MADV_HUGEPAGE) areas retry on all nodes, allowing reclaim. This should prevent swap storms observed on pre-5.3 kernels with some workloads and also fix the reported regression for a different workload on 5.3 kernel. LWN merge, commit, commit commit commit, commit
Make uprobes uprobe Transparent Huge Page-aware. Instead of splitting whole THP when installing uprobe, split only the huge PMD, and reinstate it after uprobes are removed. commit commit, commit, commit, commit, commit
kmemleak: make it more robust during early allocations (before slab subsystem is initialized) by using a single memory pool commit, commit, commit, commit, commit, commit,
KASAN: for software tag-based mode, enhance the memory corruption report with a guess whether it is "use-after-free" or "out-of-bound" error instead of "invalid-access" error. commit
page_owner: store also the stack of who last freed the page and print it in dump_page() to improve debugging double free or use-after-free, especially when debug_pagealloc or KASAN are also enabled commit, commit, commit, commit, commit commit
oom: add task UID, oom_score_adj and pgtables to OOM message commit, commit
Provide a generic top-down mmap layout implementation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
zswap: let zswap use movable memory with zsmalloc commit, commit
Guarantee alignment to size for kmalloc() allocations of power-of-two size, regardless of used sla*b allocator and activated debugging functions. Recommended LWN article LWN followup. commit, commit
Fix minutes or hours long stalls when setting nr_hugepages to too high values. commit, commit, commit, commit,
5. Block layer
(FEATURED) Support for blk-iocost, a IO cgroup controller that uses a model that can properly account cost of IO workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bfq: add to BFQ the missing per-device weight interfaces: blkio.bfq.weight_device on legacy and io.bfq.weight on cgroups v2 commit, commit, commit
Introduce a new request operation REQ_OP_ZONE_RESET_ALL that reset all zones. This is useful for the applications like mkfs commit, commit, commit, commit
- Device Mapper (dm)
(FEATURED) Add dm-clone target, which allows cloning of arbitrary block devices commit
writecache: Optimize writecache writeback for performance commit, commit, commit
dm verity: add root hash pkcs#7 signature verification. The verification is to support cases where the root hash is not secured by Trusted Boot, UEFI Secureboot or similar technologies commit
Introduce DM_GET_TARGET_VERSION. It will load a target that is specified in the "name" entry in the parameter structure and return its version. commit
md/raid0: Add module and feature flag to avoid RAID0 data corruption due to layout confusion commit, commit
md: allow last device in RAID1/RAID10 to fail and be removed commit, commit, commit
Remove now unused elevator boot argument commit
6. Tracing, perf and BPF
Addition of multiprobes to kprobe and uprobe events: support more than on probe in the same location commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
flow_dissector: pass input flags to BPF flow dissector program, so it can customize parsing by either stopping early or trying to parse as deep as possible commit, commit, commit, commit, commit, commit, commit
xdp: Add devmap_hash map type for looking up devices by hashed index commit, commit, commit, commit, commit, commit
Add BTF ids in procfs for file descriptors to BTF objects commit
Add a new command BPF_BTF_GET_NEXT_IDto the bpf() system call, and uses it in bpftool as to list all BTF objects (bpftool btf list) loaded on the system (and to dump the ids of maps and programs associated with them, if any) commit, commit, commit, commit, commit
Introduce BPF_F_TEST_STATE_FREQ flag to stress test parentage chain and state pruning commit
Expose BTF info through /sys/kernel/btf. It contains all the BTFs present inside kernel. Currently there is only kernel's main BTF, represented as /sys/kernel/btf/vmlinux file. Once kernel modules' BTFs are supported, each module will expose its BTF as /sys/kernel/btf/<module-name> file commit, commit
Implement the central part of CO-RE (Compile Once - Run Everywhere, an strategy to allow redistributable BPF binaries, see this and this) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a BPF helper to generate SYN cookies commit, commit, commit, commit, commit, commit
bpftool: add net attach/detach command to attach XDP prog commit, commit, commit, commit
bpftool: add support for reporting the effective cgroup progs commit
- perf
Initial libperf separation - check out tools/perf/lib and the initial documentation. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf list: Allow plurals for metric, metricgroup commit
perf record: Add an option to take an AUX snapshot on exit commit
Add --switch-on/--switch-off events in perf report commit, perf top commit, perf trace commit, perf script commit, commit, commit
Collect LBR callstack together with thread stack data commit, commit, commit
Add support for PEBS output to Intel PT commit, commit, commit, commit, commit, commit, commit
7. Virtualization
vfio/type1: Introduce an iova list associated with a vfio iommu. User-space can retrieve valid iova ranges using VFIO_IOMMU_GET_INFO ioctl capability chains commit, commit, commit, commit, commit, commit
8. Cryptography
CAESAR competition followup: remove aegis128l, aegis256 and morus, add better support for aegis128 commit, commit, commit, commit, commit, commit, commit, commit
Create an ESSIV template that produces a skcipher or AEAD transform based on a tuple of the form '<skcipher>,<shash>' (or '<aead>,<shash>' for the AEAD case). It exposes the encapsulated sync or async skcipher/aead by passing through all operations, while using the cipher/shash pair to transform the input IV into an ESSIV output IV
essiv - create wrapper template for ESSIV generation commit, commit, commit, commit, commit, commit
Make NETLINK_CRYPTO work inside netns commit
xts: add support for ciphertext stealing commit
9. Security
Appended signatures support for IMA appraisal. The kernel image on Power servers is an ELF binary, which are signed using the scripts/sign-file tool and thus use the same signature format as signed kernel modules. This release adds support in IMA for verifying those signatures. It adds flexibility to OpenPOWER secure boot, because it allows it to boot kernels with the signature appended to them as well as kernels where the signature is stored in the IMA extended attribute commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
LSM: Add security hook for fs notifications(fanotify, inotify, dnotify) commit
(FEATURED) LSM: Add kernel lockdown functionality 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
10. Power Management
Expose suspend stats in sysfs commit
Show wakeup sources stats in sysfs under /sys/class/wakeup/wakeup<ID>/ commit
(FEATURED) Introduce a new haltpoll cpuidle driver and a new matching governor for virtualized guests wanting to do guest-side polling in the idle loop commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
EFI: Export Runtime Configuration Interface table to sysfs commit
- ACPI
pm-graph v5.5 commit
11. Networking
Increase SOMAXCONN (/proc/sys/net/core/somaxconn) from 128 to 4096 commit
- TCP
Increase tcp_max_syn_backlog default to 4096 to match the recent SOMAXCONN change commit
Add a TCP_INFO counter that tracks out-of-order packet reception. It will allow understanding to what degree receive-heavy sockets are experiencing out-of-order delivery and packet drops indicating congestion. Please note that this is similar to the counter in NetBSD TCP_INFO, and has the same name commit
Add a TCP_INFO counter that tracks peer's advertised receive window after scaling commit
Add new tcp_mtu_probe_floor sysctl. The current implementation of TCP MTU probing can considerably underestimate the MTU on lossy connections. This sysctl allows to set a larger floor commit
IPv4/6: support setting SO_MARK for UDP and RAW sockets using cmsg. This is analogous to existing support for TOS, TTL, txtime, etc. commit
IPv6: add support for RFC7710 RA Captive Portal Identifier commit
- Netfilter
Support for updating stateful objects, this also includes the initial client for this infrastructure: the quota extension commit, commit
nft_synproxy: add synproxy stateful object support commit
Add offload support the vlan and tunnel device offload through indr-block architecture commit, commit, commit, commit, commit, commit
nfnetlink_log: add support for VLAN information commit
Add offload support for bitwise operation commit
nft_dynset: implements the delete operation from the ruleset commit
Introduce meta matches in the kernel for time, day, and hour commit
Support for fwd and dup offload commit
- Wireless
Add drop packet monitor for offloaded data paths commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bridge: makes the bridge dump host-joined mdb entries, they should be treated as normal entries since they take a slot and are aging out commit, commit, commit, commit
devlink: send notifications for deleted snapshots on region destroy commit
dsa: ksz: Add KSZ8795 tag code commit
ethtool: implement Energy Detect Powerdown support via phy-tunable commit
- packet scheduler
- Bluetooth
Add support for utilizing Fast Advertising Interval commit
- Infiniband/RDMA
- can
batman-adv: Add OGMv2 per-interface queue and aggregations commit, commit
ncsi: Disable global multicast filter commit
RDS: Add RDS6_INFO_SOCKETS and RDS6_INFO_RECV_MESSAGES options commit
SCTP: support per endpoint auth and asconf flags commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Add loopback device tracking commit
devmap: adds a new map type, devmap_hash, that works like the existing devmap type, but using a hash-based indexing scheme. This is useful for the use case where a devmap is indexed by ifindex (for instance for use with the routing table lookup helper) commit, commit, commit, commit, commit, commit
12. Architectures
12.1. ARM
- SoC changes
Support for the new ASpeed AST2600 gets added, this is based on the Cortex-A7 ARMv7 core, and is a newer version of the existing ARMv5 and ARMv6 chips in the same family commit
TI Davinci and NXP LPC32xx platforms have been converted to the ARCH_MULTIPLATFORM build, meaning that it is possible to compile a kernel that works on these along with most other ARMv5 platforms commit, commit
The Kendin/Micrel/Microchip KS8695, Winbond/Nuvoton W90x900 and Intel IOP33x/IOP13xx platforms are removed after it was determined that nobody is using them any more commit, commit, commit
- Device Tree changes
The Snapdragon 855 (SM8150) is Qualcomm's current high-end phone platform, usually paired with an external 5G modem. So far we only support the Qualcomm SM8150 MTP reference platform, but no actual products commit, commit, commit, commit, commit
For the slightly older Qualcomm platforms, support for several interesting products is getting added: Three laptops based on Snapdragon 835/MSM8998 (Asus NovaGo TP370QL commit, HP Envy X2 commit and Lenovo Miix 630 commit), one laptop based on Snapdragon 850/sdm850 (Lenovo Yoga C630 commit) and several phones based on the older Snapdragon 410/MSM8916 (Samsung Galaxy A3 and A5 commit, Longcheer L8150 aka Android One 2nd gen "seed" aka Wileyfox Swift commit)
Mediatek MT7629 is a new wireless network router chip, similar to the older MT7623. It gets added together with the reference board implementation commit
Allwinner V3 is a repackaged version of the existing low-end V3s chip, and is used in the tiny Lichee Pi Zero plus, also added here commit. There is also a new TV set-top box based on Allwinner H6, the Tanix TX6 commit, and the eMMC variant of the Olimex A64-Olinuxino development board commit
NXP i.MX8M Nano is a new member of the ever-expanding i.MX SoC family, similar to the i.MX8M Mini commit, commit. As usual, there is a large number of new boards for i.MX SoCs: !Einfochips i.MX8QXP AI_ML commit, SolidRun Hummingboard Pulse baseboard and System-on-Module commit, Boundary Devices i.MX8MQ Nitrogen8M commit, and TechNexion PICO-PI-IMX8M-DEV for the 64-bit i.MX8 line commit. For 32-bit, we get the Kontron i.MX6UL N6310 SoM commit with two baseboards, the PHYTEC phyBOARD-Segin SoM with three baseboards commit, and the Zodiac Inflight Innovations i.MX7 RMU2 board commit
In a different NXP product line, the Layerscape LS1046A "Freeway" reference board gets added commit
Amlogic SM1 (S905X3) and G12B (S922X, A311D) are updated chips from their set-top-box line and smart speaker with newer CPU and GPU cores compared to their predecessors. Both are now also supported by the Khadas VIM3 development board series commit and VIM3L commit. Another board based on SM1 that gets added is the SEI Robotics SEI610 commit
There are a handful of new x86 and Power9 server boards using Aspeed BMC chips that are gaining support for running Linux on the BMC through the OpenBMC project: Facebook Minipack commit, Wedge100 commit, Wedge40 commit, Lenovo Hr855xg2 commit, and Mihawk commit.
There are three new end-user products using 32-bit Rockchips SoCs: Mecer Xtreme Mini S6 is an Android "mini PC" box based on the low-end RK3229 chip commit, while the two AOpen products Chromebox Mini (Fievel commit) and Chromebase Mini (Tiger commit) run ChromeOS and are meant for commercial settings(digital signage, PoS, ...).
One more single-board computer based on the popular 64-bit RK3399 is added: the Leez RK3399 P710 commit
The new Aspeed AST2600 baseboard management controller is added, this is a Cortex-A7 based follow-up to the ARM11 based AST2500 commit
After many years, support for the MMP2 based OLPC XO-1.75 finally makes it into the kernel commit
The Armada 3720 based Turris Mox open source router platform commit
rockchip: remove rk3288 fennec board support commit
UNWINDER_FRAME_POINTER implementation for Clang commit
debug-ll: Add support for r7s9210 commit
psci: cpuidle: Introduce PSCI CPUidle driver commit
coresight: acpi: Static funnel support commit
coresight: cpu-debug: Add support for Qualcomm Kryo commit
perf: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 commit
- crypto
aes-ce: implement ciphertext stealing for CBC commit
aes-ce: implement ciphertext stealing for XTS commit
aes-ce: provide a synchronous version of ctr(aes) commit
aes-neonbs: implement ciphertext stealing for XTS commit
aes-neonbs: provide a synchronous version of ctr(aes) commit
ghash: provide a synchronous version commit
- ARM64
New ABI to allow tagged user pointers to be dereferenced by syscalls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for 52-bit kernel VAs using some of the machinery already introduced by the 52-bit userspace VA code in 5.0 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for function error injection commit
Add support for relocating the kernel with RELR relocations commit
exynos: Enable exynos-chipid driver commit
kasan: Switch to using KASAN_SHADOW_OFFSET commit
kexec_file: add rng-seed support commit
- crypto
KVM: vgic: ITS translation cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.2. PowerPC
Initial support for running on a system with an Ultravisor, which is software that runs below the hypervisor and protects guests against some attacks by the hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for building the kernel to run as a "Secure Virtual Machine", ie. as a guest capable of running on a system with an Ultravisor commit, commit, commit, commit, commit, commit, commit
Add Firmware-Assisted Dump for PowerNV platform commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the PowerPC name and the PPC_ELFNOTE_CAPABILITIES type in the kernel binary ELF note. This type is a bitmap that can be used to advertise kernel capabilities to userland commit, commit
64s/radix: introduce options to disable use of the tlbie instruction commit
eeh: Add a eeh_dev_break debugfs interface commit and a debugfs interface to run an EEH check commit
Use the generic dma coherent remap allocator commit
12.3. x86
Add UMIP emulation/spoofing for 64-bit processes as well, because of Wine based gaming commit
Enable a new AVX512 CPU instruction group/feature for enumeration in /proc/cpuinfo: AVX512_VP2INTERSECT commit
Add Elkhart Lake, Tiger Lake and Airmont to Intel family commit, commit, commit
amd_nb: Add PCI device IDs for family 17h, model 70h commit
Disable Transactional Synchronization Extensions (TSX), as it may be used on certain processors as part of a speculative side channel attack commit, commit, commit, commit, commit, commit, commit, commit, commit
Mitigation for CVE-2018-12207, a microarchitectural implementation issue that could allow an unprivileged local attacker to cause system wide denial-of-service condition commit, commit, commit, commit, commit, commit, commit
Remove MPX APIs commit
Remove X86_FEATURE_MFENCE_RDTSC commit
- platform
chrome: cros_ec_chardev: Add a poll handler to receive MKBP events commit
asus-wmi: Add support for charge threshold commit
hp_accel: Add support for HP ZBook 17 G5 commit
thinkpad_acpi: Add ThinkPad PrivacyGuard commit
asus-nb-wmi: Support ALS on the Zenbook UX430UNR commit
touchscreen_dmi: Add info for the Irbis TW90 tablet commit
touchscreen_dmi: Add info for the Chuwi Surbook Mini tablet commit
touchscreen_dmi: Add info for the Trekstor Primebook C11B 2-in-1 commit
pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table commit
- crypto
- hwtracing intel_th
- perf
- KVM
vmware: Support for VMCALL/VMMCALL based hypercalls commit
12.4. S390
Add support for IBM z15 machines commit
crypto: Add SHA3 and CCA AES cipher key support in zcrypt commit, commit
crypto: Add sysfs attributes to emit AES CIPHER key blobs commit
zcrypt: CEX7S exploitation support commit
zcrypt: new sysfs attributes serialnr and mkvps commit
bpf: add JIT support for bpf line info commit and for multi-function programs commit
perf cpum_sf: Support ioctl PERF_EVENT_IOC_PERIOD commit
kasan: add kdump support commit
qdio: enable drivers to poll for Output completions commit
qdio: let drivers opt-out from Output Queue scanning commit
qeth: add BQL support for IQD devices commit
qeth: add TX NAPI support for IQD devices commit
qeth: add xmit_more support for IQD devices commit
qeth: collect accurate TX statistics commit
12.5. MIPS
Add partial 32-bit huge page support commit
BCM47XX: Add support for Netgear R6200 V1 commit
Remove unused R4300 CPU support commit
Remove unused R5432 CPU support commit
Remove unused R8000 CPU support commit
jz4740: Drop dead code commit
12.6. RISC-V
12.7. User Mode Linux
Add virtio vhost-user driver commit
Added support for Unix socket transports and bess transport commit
Add legacy tap support and rename existing vector to hybrid commit
12.8. PA-RISC
Add assembly implementations for memset, strlen, strcpy, strncpy and strcat commit
Add kprobes on ftrace support commit
12.9. IA-64
Remove the hpsim platform commit
Remove the SGI UV simulator support commit
Remove support for the SGI SN2 platform commit
12.10. Xtensa
Add support for xtensa call0 ABI in userspace commit
12.11. MicroBlaze
Use the generic DMA coherent remap allocator commit
12.12. ARC
13. Drivers
13.1. Graphics
Add the content_type support for HDCP2.2. Along with that uevent is sent for each HDCP state change triggered within kernel commit, commit, commit, commit, commit, commit
- AMDGPU
- i915
(FEATURED) Initial tigerlake platform support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DSI properties commit
Add Missing PCI IDs commit
ehl: Add one additional PCH ID to MCC commit
Enable GTT cache by default commit
Turn on GuC/HuC auto mode commit
icl: Add missing device ID commit
Enable hotplug retry for some devices that need it commit, commit
Remove unused debugfs/i915_emon_status commit
- nouveau
- vmwgfx
Evicition priority support commit
- msm
- Etnaviv
- komeda
Enable dual-link support commit
- imx
- ingenic
- panfrost
- pl111
Support grayscale commit
- sun4i
- omap
Add 'alpha' and 'pixel blend mode' plane properties commit
- panel
Add Novatek NT39016 panel support commit
Add driver for the LG Philips LB035Q02 panel commit
Add driver for the NEC NL8048HL11 panel commit
Add driver for the Sharp LS037V7DW01 panel commit
Add driver for the Sony ACX565AKM panel commit
Add driver for the Toppoly TD028TTEC1 panel commit
Add driver for the Toppoly TD043MTEA1 panel commit
Add support for Raydium RM67191 panel driver commit
jh057n00900: Add regulator support commit
simple: Add Ortustech COM37H3M panel support commit
simple: Add Sharp LQ070Y3DG3B panel support commit
simple: Add Sharp LS020B1DD01D panel support commit
simple: Add support for Sharp LD-D5116Z01B panel commit
simple: Support TI nspire panels commit
- ast
Provide ddc symlink in connector sysfs directory commit
- bridge
ti-sn65dsi86: add debugfs commit
Associate ddc adapters with connectors: It is difficult for a user to know which of the i2c adapters is for which drm connector. This change adds a symbolic link in connector's sysfs directory commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- gm12u320:
Add Grain Media GM12U320 driver v2 commit
- ipu-v3
agp: remove the sgi-agp driver commit
fbdev: remove w90x900/nuc900 platform drivers commit
fbdev: Drop JZ4740 driver commit
13.2. Storage
libnvdimm: Introduce a new sysfs 'frozen' attribute so that ndctl can reflect the "security-operations-allowed" state independently of the lock status commit
- SCSI
hisi_sas: Add built-int self test support for phy loopback commit
hisi_sas: Snapshot AXI and RAS register at debugfs commit and snapshot HW cache of IOST and ITCT at debugfs commit
lpfc: Add MDS driver loopback diagnostics support commit
lpfc: Add NVMe sequence level error recovery support commit
lpfc: Support dynamic unbounded SGL lists on G7 hardware commit
mpt3sas: Add support for PCIe Lane margin commit
mpt3sas: Add sysfs to know supported features commit
mpt3sas: Introduce module parameter to override queue depth commit
mpt3sas: Support MEMORY MOVE Tool box command commit
qedf: Add support for 20 Gbps speed commit
smartpqi: add gigabyte controller commit
smartpqi: add module param for exposure order commit
smartpqi: add module param to hide vsep commit
smartpqi: add new pci ids commit
smartpqi: add pci ids for fiberhome controller commit
smartpqi: add sysfs entries commit
- NVM Express
Add TOS configuration for TCP and RDMA transports commit, commit, commit, commit, commit
pci: Add support for Apple 2018+ models commit
pci: Support shared tags across queues for Apple 2018 controllers commit
tcp: support simple polling commit
Add uevent variables for controller devices commit
Add Get LBA Status command opcode commit, commit, commit, commit
ide: remove the sgiioc4 driver commit
qla2xxx: remove SGI SN2 support commit
qla1280: remove SGI SN2 support commit
13.3. Drivers in the Staging area
(FEATURED) erofs: move erofs out of staging commit
erofs: support bmap commit
(FEATURED) exfat: add exFAT filesystem code to staging commit
fsl-dpaa2/ethsw: Add network interface statistics commit
greybus: move the greybus core to drivers/greybus commit, commit, commit
imx7-media-csi: add i.MX6UL support commit
imx: add csc/scaler mem2mem device commit
qlge: Move drivers/net/ethernet/qlogic/qlge/ to drivers/staging/qlge/ commit
rtl8723bs: Remove debugging information exposed via procfs commit
hantro: Add support for H264 decoding commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hantro: Enable VP8 decoding on RK3328 commit
hantro: Support RK3399 VP8 decoding commit
hantro: Add support for MPEG-2 decoding on RK3328 commit
hantro: Add support for VP8 decoding on rk3288 commit
media/bcm2048: remove driver commit
davinci: remove vpfe driver commit
USB: Move wusbcore and UWB to staging as it is obsolete commit
fbtft: Remove fbtft_device commit
fbtft: Remove flexfb commit
13.4. Networking
ath9k: add loader for AR92XX (and older) pci(e) commit
bluetooth: bcm: Add support for loading firmware for BCM4345C5 commit
- bnxt_en
Add TPA (GRO_HW and LRO) on 57500 chips commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implements adapter health and error recovery commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- dsa
tc-taprio offload for SJA1105 DSA commit, commit, commit, commit, commit, commit
ksz: Add Microchip KSZ8795 DSA driver commit
microchip: add KSZ9477 I2C driver commit
microchip: add ksz9567 to ksz9477 driver commit
mt7530: Add support for port 5 commit
mv88e6xxx: add PTP support for MV88E6250 family commit
mv88e6xxx: add RXNFC support commit
mv88e6xxx: add support for MV88E6220 commit
mv88e6xxx: support 2500base-x in SGMII IRQ handler commit
- can
- dpaa2-eth
- brcmfmac
enetc: Add mdio bus driver for the PCIe MDIO endpoint commit
- habanalabs
- hns3
- i40e
- ice
igb: Enable media autosense for the i350 commit
igc: Add tx_csum offload functionality commit
ionic: add the ionic driver, supporting the Pensando ethernet device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- iwlwifi
mediatek: Add MT7628/88 SoC support commit
mediatek: Add basic PHYLINK support commit
mediatek: Re-add support SGMII commit
mlx4/en_netdev: allow offloading VXLAN over VLAN commit
- mlx5
Add CREATE_PSV/DESTROY_PSV for devx interface commit
Add XRQ and SRQ support to DEVX interface commit, commit, commit, commit
Add support for software (driver managed) flow steering commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add software backchannel and mlx5e HV VHCA stats commit, commit, commit, commit, commit, commit
Add device ID of upcoming BlueField-2 commit
Add flow counters bulk allocation and pool, to improve the performance of flow counter acquisition commit, commit
Ingress rate support for E-Switch vports commit
Add VNIC_ENV internal rq counter bits commit
Expose IP-in-IP capability commit
Add support for a new flag called need_wakeup in the AF_XDP Tx and fill rings. When this flag is set by the driver, it means that the application has to explicitly wake up the kernel Rx (for the bit in the fill ring) or kernel Tx (for bit in the Tx ring) processing by issuing a syscall. Poll() can wake up both and sendto() will wake up Tx processing only commit, commit, commit, commit, commit, commit, commit, commit
- mlx5e
Add a device internal drop counter to mlx5 ethtool stats commit
Add a new devlink health reporter for RX related errors commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the support for LAG TX port affinity distribution. When VF LAG is enabled, VFs netdevs will round-robin the TX affinity commit, commit
Support RSS for IP-in-IP and IPv6 tunneled packets commit
Add the support for ip-in-ip TX TSO and checksum offloads commit, commit
- mlxsw
mscc: PTP Hardware Clock (PHC) support commit
- mt76
- netdevsim
- nfp
- phy
Add mdio-aspeed commit
adin: add support for Analog Devices PHYs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
adin: Add support for Analog Devices PHYs commit
adin: Implement Energy Detect Powerdown mode via phy-tunable commit
realtek: add support for integrated 2.5Gbps PHY in RTL8125 commit, commit, commit
realtek: add NBase-T PHY auto-detection commit
sfp: Add labels to hwmon sensors commit
qed*: Support for dumping the config id attributes via ethtool -w/W commit, commit
qed*: Support for dumping the GRC data of required memory regions using ethtool -w/W interfaces commit, commit
qed: Add new ethtool supported port types based on media commit
qmi_wwan: add support for Cinterion CLS8 devices commit
- r8152
- r8169
rt2800usb: Add new rt2800usb device PLANEX GW-USMicroN commit
- rtw88
sis900: add support for ethtool's EEPROM dump commit
- stmmac
xgmac: Implement MMC counters commit
Add VLAN HASH filtering support in GMAC4+ commit
Add support for SA Insertion/Replacement in GMAC4+ commit
Add support for SA Insertion/Replacement in XGMAC cores commit
Add support for VLAN Insertion Offload commit
Add support for VLAN Insertion Offload in GMAC4+ commit
ARP Offload for GMAC4+ Cores commit
Implement RSS and enable it in XGMAC core commit
Implement Safety Features in XGMAC core commit
Implement VLAN Hash Filtering in XGMAC commit
Add Flexible RX Parser support in XGMAC commit
Add Split Header support and enable it in XGMAC cores commit
Add a counter for Split Header packets commit
Add ethtool register dump for XGMAC cores commit
Implement L3/L4 Filters using TC Flower commit
dwmac4: Enable RX Jumbo frame support commit
dwxgmac: Add Flexible PPS support commit
Add HAPS support using GMAC5 commit
xgmac: Add EEE support commit
xgmac: Enable RX Jumbo frame support commit
xgmac: Implement ARP Offload commit
- qmi_wwan
wil6210: add debugfs to show PMC ring content commit
Remove ks8695 driver commit
Remove netx ethernet driver commit
Remove w90p910-ether driver commit
Remove broken dscc4 driver commit
13.5. Audio
firewire: introduce AMDTP domain commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pcm: add support for 352.8KHz and 384KHz sample rate commit
usb-audio: Scarlett Gen 2 mixer interface commit
- hda
lx6464es: add support for LX6464ESe pci express variant commit
oxfw: support AMDTP domain commit
- Sound Open Firmware
topology: initial support for Intel ALH DAI type commit
pcm: add ALH support commit
Add OF DSP device support commit
Intel: hda: Enable jack detection commit
Intel: hda: add a parameter to disable MSI commit
Intel: initial support for Elkhart Lake commit
Intel: initial support for Tiger Lake commit
imx: Add i.MX8 HW support commit
- ASoC
Intel: boards: Add Cometlake machine driver support commit
Intel: sof-rt5682: add dmic dapm widget to support dmic PCM commit
codecs: Add uda1334 codec driver commit
cs47l15: Add codec driver for Cirrus Logic CS47L15 commit
cs47l92: Add codec driver for Cirrus Logic CS47L92 commit
fsl_sai: Add support for SAI new version commit
fsl_sai: Add support for imx7ulp/imx8mq commit
fsl_sai: Add support for imx8qm commit
jz4740: Drop lb60 board code commit
sun4i-i2s: Add support for DSP formats commit
sun4i-i2s: Support more channels commit
ti: davinci-i2s: Add S32_LE as support format commit
Remove w90x900/nuc900 platform drivers commit
- Soundwire
cadence_master: add debugfs register dump commit
cadence_master: add kernel parameter to override interrupt mask commit
intel: add debugfs register dump commit
intel_init: add kernel module parameter to filter out links commit
Add device tree support for slave devices commit
Add debugfs support commit
13.6. Tablets, touch screens, keyboards, mouses
Add support for polling to input devices commit
soc_button_array: add support for newer surface devices commit
Add support for the FlySky FS-iA6B RC receiver commit
- HID
wacom: support named keys on older devices commit
wacom: add new MobileStudio Pro 13 support commit
multitouch: add support for the Smart Tech panel commit
logitech-dj: add support of the G700(s) receiver commit
hid-logitech-dj: add the new Lightspeed receiver commit
sb0540: add support for Creative SB0540 IR receivers commit
google: add magnemite/masterball USB ids commit
Remove w90x900 keyboard driver commit
Remove w90x900 touchscreen driver commit
13.7. TV tuners, webcams, video capturers
v4l2-tpg: add support for new pixelformats commit
v4l2-common: add support for new RGB32 pixelformats commit
vivid: add support for new pixelformats commit
vicodec: add support for 4 new RGB32 pixelformats commit
Add support for Cadence CSI2TX 2.1 commit
dvb-usb: add T230 to dvbsky commit
dvbsky: add support for Mygica T230C v2 commit
ov5640: Add support for flash and lens devices commit
ov5675: Add support for OV5675 sensor commit
- Remote control
Add keymap for Amediatech X96-MAX remote commit
Add keymap for HardKernel ODROID remote commit
Add keymap for Khadas VIM/EDGE remote commit
Add keymap for Tanix TX3 mini remote commit
Add keymap for Tanix TX5 max remote commit
Add keymap for !WeTeK Play 2 remote commit
Add keymap for WeTek Hub remote commit
sunxi: Add A31 compatible commit
rcar-vin: Add support for RGB formats with alpha commit, commit, commit, commit
si2168: add support for Mygica T230C v2 commit
stm32-dcmi: add media controller support commit
stm32-dcmi: add support of several sub-devices commit
sunxi: Add A10 CSI driver commit
13.8. Universal Serial Bus
usbfs: Add ioctls for runtime power management commit
usbip: Implement SG support to vhci-hcd and stub driver commit
cdns3: Add Cadence USB3 DRD Driver commit
Add USB GPIO based connection detection driver commit
- serial
Add V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM commit and V4L2_FMT_FLAG_DYN_RESOLUTION commit
gadget: aspeed: Implement dummy hub TT requests commit
Remove ehci-w90x900 driver commit
rio500: Remove Rio 500 kernel driver commit
13.9. Serial Peripheral Interface (SPI)
dw-pci: Add support for Intel Elkhart Lake PSE SPI commit
mediatek: support large PA commit
npcm-fiu: add NPCM FIU controller driver commit
Remove w90x900 driver commit
13.10. Watchdog
Add i.MX7ULP watchdog support commit
aspeed: Add support for AST2600 commit
aspeed: add support for dual boot commit
f71808e_wdt: Add F81803 support commit
iTCO: Add support for Cannon Lake PCH iTCO commit
Remove ks8695 driver commit
Remove w90x900 driver commit
13.11. Serial
8250_pci: Add F81504A series Support commit
8250_pci: Add support for Sunix serial boards commit
8250_pci: Implement MSI(-X) support commit
lantiq: Add support for Lightning Mountain SoC commit
8250: Add support for NI-Serial PXI/PXIe+485 devices commit
Add linflexuart driver for S32V234 commit
sprd: Add loopback function support commit
tegra: Add PIO mode support commit
tegra: add internal loopback functionality commit
tegra: add support to adjust baud rate commit
Remove ks8695 driver commit
Remove the ioc3_serial driver commit
Remove the ioc4_serial driver commit
Remove the sn_console driver commit
13.12. CPU Frequency Scaling
Add sun50i nvmem based CPU scaling driver commit
Switch over some users of cpuidle notifiers to the new QoS-based frequency limits commit, commit, commit, commit, commit, commit, commit, commit, commit
imx-cpufreq-dt: Add i.MX8MN support commit
mediatek: Add support for mt8183 commit
qcom: Add support for qcs404 on nvmem driver commit
13.13. Device Voltage and Frequency Scaling
13.14. Real Time Clock (RTC)
Add Amlogic Virtual Wake RTC commit
fsl-ftm-alarm: add FTM alarm driver commit
pcf2127: add tamper detection support commit
pcf2127: add watchdog feature support commit
sun6i: Add support for H6 RTC commit
sun6i: Allow using as wakeup source from suspend commit
Remove w90x900/nuc900 driver commit
13.15. Voltage, current regulators, power capping, power supply
- supply
- regulator
13.16. Pin Controllers (pinctrl)
Ingenic: Add pinctrl driver for JZ4760 and JZ4760B commit
Ingenic: Add pinctrl driver for X1000 and X1000E commit
Ingenic: Add pinctrl driver for X1500 commit
aspeed: Add AST2600 pinmux support commit
bcm2835: Add support for BCM2711 pull-up functionality commit
madera: Add configuration for Cirrus Logic CS47L15 commit
madera: Add configuration for Cirrus Logic CS47L92 commit
qcom: Add SC7180 pinctrl driver commit
sunxi: v3s: introduce support for V3 commit
13.17. Multi Media Card (MMC)
sdhci-iproc: Add support for emmc2 of the BCM2711 commit
sdhci-of-arasan: Add Support for Intel LGM eMMC commit
sdhci-of-aspeed: Add support for the ASPEED SD controller commit
sdhci-pci: Add another Id for Intel CML commit
13.18. Memory Technology Devices (MTD)
mtdcore: add debugfs nodes for querying the flash name and id commit
rawnand: Add Macronix raw NAND controller driver commit
rawnand: remove w90x900 driver commit
rawnand: Drop obsolete JZ4740 NAND driver commit
spi-nor: Add Winbond w25q256jvm commit
spi-nor: Add support for mt35xu02g commit
spi-nor: add support for sst26wf016b memory IC commit
spi-nor: enable the debugfs for the partname and partid commit
spi-nor: intel-spi: Add support for Intel Tiger Lake SPI serial flash commit
13.19. Industrial I/O (iio)
adc: ad7606: Add support for AD7606B ADC commit
adc: ad7606: Add support for software mode for ad7616 commit
adc: stm32-adc: add analog switches supply control commit
cros_ec: Add calibscale for 3d MEMS commit
cros_ec_accel_legacy: Add support for veyron-minnie commit
imu: Add support for the ADIS16460 IMU commit
imu: st_lsm6dsx: add i3c basic support for LSM6DSO and LSM6DSR commit
imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1 commit
imu: st_lsm6dsx: add support to ISM330DHCX commit
imu: st_lsm6dsx: add support to LSM6DS3TR-C commit
light: noa1305: Add support for NOA1305 commit
potentiometer: add a driver for Maxim 5432-5435 commit
stm32: Remove quadrature related functions from trigger driver commit
13.20. Multi Function Devices (MFD)
Add support for Merrifield Basin Cove PMIC commit
intel-lpss: Add Intel Skylake ACPI IDs commit
intel-lpss: Add Intel Tiger Lake PCI IDs commit
mt6323: Add MT6323 RTC and PWRC commit
Drop obsolete JZ4740 driver commit
13.21. Pulse-Width Modulation (PWM)
13.22. Inter-Integrated Circuit (I2C + I3C)
Add i2c-icy for I2C on m68k/Amiga commit
axxia: support slave mode commit
designware-pci: Add support for Elkhart Lake PSE I2C commit
i2c-eeprom_slave: Add support for more eeprom models commit
icy: Add LTC2990 present on 2019 board revision commit
imx: ACPI support for NXP i2c controller commit
piix4: Add ACPI support commit
13.23. Hardware monitoring (hwmon)
Add Synaptics AS370 PVT sensor driver commit
ibm-cffps: Add support for version 2 of the PSU commit
k10temp: Add support for AMD family 17h, model 70h CPUs commit
lm75: add support for PCT2075 commit
nct6775: Integrate new model nct6116 commit
nct7904: Add extra sysfs support for fan, voltage and temperature commit
pmbus: Add Inspur Power System power supply driver commit
shtc1: add support for the SHTC3 sensor commit
Drop obsolete JZ4740 driver commit
Remove ads1015 driver commit
13.24. General Purpose I/O (gpio)
aspeed: Add SGPIO driver commit
aspeed: Add in ast2600 details to Aspeed driver commit
Add support for GPIOs over Moxtet bus commit
madera: Add support for Cirrus Logic CS47L15 commit and Cirrus Logic CS47L92 commit
Remove ks8695 driver commit
13.25. LEDs
13.26. DMA engines
tegra-apb: Support per-burst residue granularity commit
fsl-edma: add i.mx7ulp edma2 version support commit
Drop JZ4740 driver commit
13.27. Cryptography hardware acceleration
- cavium/nitrox
ccp: Add module parameters to control CCP activation commit, commit, commit, commit
- ccree
- inside-secure
Add support for AES-GCM, AES-CFB, AES-OFB and AES-CCM commit, commit, commit, commit
inside-secure: Add AES-XTS cipher support commit, commit, commit,
inside-secure - add support for PCI based FPGA development board commit
inside-secure - add support for using the EIP197 without vendor firmware commit
inside-secure - Add supp. for non-Marvell HW commit, commit, commit, commit, commit, commit
inside-secure: add more AEAD ciphersuites commit, commit, commit
hisilicon: Add HiSilicon QM and ZIP controller driver commit, commit, commit, commit, commit
mediatek - add support to OFB/CFB mode commit
13.28. PCI
dwc: al: Add Amazon Annapurna Labs PCIe controller driver commit
mediatek: Add controller support for MT7629 commit
tegra: Add Tegra194 PCIe support commit
tegra: Add support to configure sideband pins commit
tegra: Add support to enable slot regulators commit
hotplug: remove the sgi_hotplug driver commit
13.29. Non-Transparent Bridge (NTB)
ntb_hw_amd: Add a new NTB PCI device ID commit
13.30. Thunderbolt
13.31. Clock
Add clk_min/max_rate entries in debugfs commit
Add support for AST2600 SoC commit
clk-cdce925: Add regulator support commit
imx: Add support for i.MX8MN clock driver commit
ingenic: Add driver for the TCU clocks commit
mediatek: Add MT6779 clock support commit
meson: g12a: add support for DVFS commit
meson: meson-sm1: add support for DVFS commit, commit, commit
meson: axg-audio: add g12a reset support commit
mvebu: Add CPU clock support for Armada 7K/8K commit, commit, commit, commit
mvebu: AP807 clocks support commit, commit, commit, commit, commit, commit
qcom: clk-alpha-pll: Add support for Trion PLLs commit
qcom: gcc: Add global clock controller driver for SM8150 commit
rockchip: Add clock controller for the rk3308 commit
sunxi-ng: v3s: add Allwinner V3 support commit
Add a new timer-ingenic driver commit
13.32. PHY ("physical layer" framework)
lantiq: vrx200-pcie: add a driver for the Lantiq VRX200 PCIe PHY commit
mvebu-cp110-comphy: Enhance CP110 COMPHY support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tegra: Add PCIe PIPE2UPHY support commit
13.33. EDAC (Error Detection And Correction)
mellanox: Add ECC support for BlueField DDR4 commit
amd64: Add PCI device IDs for family 17h, model 70h commit
amd64: Support asymmetric dual-rank DIMMs commit
Add driver for the Marvell Armada XP SDRAM and L2 cache ECC commit
13.34. Various
NFC: nxp-nci: Add NXP1001 to the ACPI ID table commit
PTP: add support for one-shot output commit
PTP: introduce new versions of IOCTLs commit
backlight: Expose brightness curve type through sysfs commit
bus: Add support for Moxtet bus commit
bus: moxtet: Add sysfs and debugfs documentation commit
char/mspec: remove SGI SN2 support commit
char: remove the SGI snsc driver commit
char: remove the SGI tiocx/mbcs driver commit
Remove the SGI SN2 IOC3 base support commit
Remove the SGI SN2 IOC4 base support commit
eeprom: Deprecate the legacy eeprom driver commit
fdt: add support for rng-seed commit
firmware: Add Turris Mox rWTM firmware driver commit
firmware: add Intel Stratix10 remote system update driver commit
firmware: arm_scmi: Add RESET protocol in SCMI v2.0 commit
firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels commit
firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol commit
firmware: imx: Add DSP IPC protocol interface commit
fpga: altera-cvp: Add Stratix10 (V2) Support commit
fpga: dfl: afu: add STP (SignalTap) support commit
fpga: dfl: afu: add error reporting support commit
fpga: dfl: afu: add userclock sysfs interfaces commit
fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support commit
fpga: dfl: fme: add capability sysfs interfaces commit
fpga: dfl: fme: add global error reporting support commit
fpga: dfl: pci: enable SRIOV support commit
interconnect: Add support for path tags commit
interconnect: qcom: Add QCS404 interconnect provider driver commit
interconnect: qcom: Add interconnect RPM over SMD driver commit
interconnect: qcom: Add tagging and wake/sleep support for sdm845 commit
irqchip: Add irq-ingenic-tcu driver commit
mailbox: qcom: Add support for IPQ8074 APCS commit
mailbox: qcom: Add support for Qualcomm SM8150 and SC7180 SoCs commit
mei: me: add comet point (lake) LP device ids commit
memory: mtk-smi: Add gals support commit
misc/sgi-xp: remove SGI SN2 support commit
misc: Remove spear13xx pcie gadget driver commit
misc: add the full Soft Decision Forward Error Correction (SD-FEC) driver implementation, driver DT binding and driver documentation commit, commit, commit, commit, commit, commit, commit
parport: parport_serial: Add support for Sunix Multi I/O boards commit
perf/imx_ddr: Add support for AXI ID filtering commit
regulator: uniphier: Add Pro5 USB3 VBUS support commit
remoteproc: Add a sysfs interface for name commit
reset: Add support for resets provided by SCMI commit
soc: amlogic: Add support for Everything-Else power domains controller commit
soc: imx-scu: Add SoC UID(unique identifier) support commit
soc: imx8: Add i.MX8MM UID(unique identifier) support commit
soc: imx8: Add i.MX8MQ UID(unique identifier) support commit
soc: qcom: Add socinfo driver commit
soc: qcom: socinfo: Expose custom attributes commit
soc: qcom: socinfo: Expose image information commit
soc: samsung: Add exynos chipid driver support commit
tpm/tpm_ftpm_tee: A driver for firmware TPM running inside TEE commit
tty: n_gsm: add ioctl to map serial device to mux'ed tty commit
w1: add 1-wire master driver for IP block found in SGI ASICs commit
w1: add DS2501, DS2502, DS2505 EPROM device driver commit
14. List of Pull Requests