Size: 66155
Comment:
|
Size: 1055
Comment: typos
|
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, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, 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]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
==== 2.6.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [http://wiki.kernelnewbies.org/Linux_2_6_17 the current changes] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r * Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha * Convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs * Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64 * Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] |
<<Include(Linux_5.10)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. 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.10 was released on Sun, 13 December 2020.
Summary: This new Linux version is a Long Term Support release, and it brings support for a fast commit mode in Ext4 which provides faster fsync(); support for safer sharing of io_uring rings between processes; a new syscall to provide madvise(2) hints for other processes, code patching to allow direct calls to be used instead of indirect calls for improved repotline performance, support for register encryption in AMD's virtualized guests; faster and lean virtio-fs performance; support for ARM Memory Tagging Extension that prevents a number of security issues; and code patching to allow direct calls to be used instead of indirect calls. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- Long Term Support
- Ext4 fast commit support, for faster metadata performance
- Support io_uring restrictions to facilitate secure sharing of rings
- Memory hints for other processes
- Faster performance and memory consumption in virtio-fs
- AMD support for encryption of register in virtualized guests
- Static calls for improved post-Spectre performance
- Support ARM Memory Tagging Extension
- Core (various)
- File systems
- Memory management
- Tracing, perf and BPF
- Block layer
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus (USB) and Thunderbolt
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- 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
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Long Term Support
This release is a Long Term Support release, which means that maintainers will provide bugfixes for this kernel revision for a much longer period of time than for other stable kernel releases.
1.2. Ext4 fast commit support, for faster metadata performance
Many applications use fsync(2) to ensure that data is reliably placed on disk. Such operation attempts to synchronize to the disk a few more metadata than expected. In this release, Ext4 will use a novel journaling technique, consisting in optimistically only journal the minimum required information through which a crash recovery operation can recover the metadata modified through an fsync operation. This speeds up fsync() and metadata heavy operations. This feature needs to be enabled at mkfs time.
Recommended LWN article: Fast commits for ext4
1.3. Support io_uring restrictions to facilitate secure sharing of rings
Since io_uring was introduced in Linux 5.1, it has seen widespread adoption. As usual, widespread adoption leads to new use cases, such as processes that might want share a ring with less trusted processes. This release adds a few API changes that add some restrictions and make possible for host application to grant access to some of its file descriptors and allow untrusted applications or guests to safely use io_uring.
Recommended LWN article: Operations restrictions for io_uring
1.4. Memory hints for other processes
Processes in Linux can use the madvise() system call to inform the kernel about their behaviour in order to get better performance. However, in some platforms (e.g., Android), the information required to make the hinting decision is not known to the process. Instead, it is known to a centralized userspace daemon(e.g., ActivityManagerService), and that daemon must be able to initiate memory reclaim on its own without any app involvement. To solve the concern, this patch introduces new syscall - process_madvise(2). Basically, it's same with madvise(2) syscall, except that it requires a pidfd of a target process, and for now it supports a more limited set of possible memory hints.
Recommended LWN article: process_madvise(), pidfd capabilities, and the revenge of the PIDs
1.5. Faster performance and memory consumption in virtio-fs
virtio-fs was added in Linux 5.4 as a solution to share parts of the host file systems with guest VMs in a high-performance, API-compatible way. In this release, virtio-fs adds supports for DAX, which allows bypassing guest page cache and allows mapping host page cache directly in guest address space. This can speed up things considerably in many situations. Also this can result in substantial memory savings as file data does not have to be copied in guest and it is directly accessed from host page cache.
1.6. AMD support for encryption of register in virtualized guests
Linux supports SEV since Linux 4.15. SEV is an AMD feature that encrypts the memory of virtualized guests, such that hosts can't access it unencrypted. This release enhances it by also encrypting the guest register state, making the registers inaccessible to the hypervisor by en-/decrypting them on world switches. Thus, it adds additional protection to Linux guests against exfiltration, control flow and rollback attacks. With SEV-ES, the guest is in full control of what registers the hypervisor can access.
1.7. Static calls for improved post-Spectre performance
Static calls are a replacement for global function pointers. They use code patching to allow direct calls to be used instead of indirect calls. They give the flexibility of function pointers, but with improved performance. This is especially important for cases where retpolines would otherwise be used, as retpolines can significantly impact performance. The new APIs are utilized in the x86 perf code, a heavy user of function pointers, where static calls speed up the PMU handler by 4.2%.
Recommended LWN article: Relief for retpoline pain
1.8. Support ARM Memory Tagging Extension
Memory Tagging Extension (part of the ARMv8.5 Extensions) provides a mechanism to detect the sources of memory related errors which may be vulnerable to exploitation, including bounds violations, use-after-free, use-after-return, use-out-of-scope and use before initialization errors.
Recommended LWN article: The Arm64 memory tagging extension in Linux
2. Core (various)
Add a nosymfollow mount option, disables symbolic link resolution in specified mounts commit
Support non-blocking pidfds. Passing a non-blocking pidfd to waitid() currently has no effect, i.e. is not supported. There are users which would like to use waitid() on pidfds that are O_NONBLOCK and mix it with pidfds that are blocking and both pass them to waitid(). Non-blocking pidfds will return EAGAIN from waitid() when no child process is ready yet commit, commit, commit, commit
fs: Prepare for upcoming Casefolding/Encryption commit, commit, commit, commit
- io_uring
(FEATURED) Add some restrictions to the operations (sqe opcode and flags, register opcode) to safely allow untrusted applications or guests to use io_uring queues commit, commit, commit
Add blkcg accounting to offloaded operations commit
Enable an application to wait on SQ ring consumption if using SQPOLL, instead of having to use busy polling for that part commit
lockdep: Support deadlock detection for recursive read locks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kcsan: adds support for enabling compounded read-write instrumentation commit, commit, commit, commit, commit, commit, commit, commit
printk: replace ringbuffer with a fully lockless ringbuffer implementation, including the support for continuous lines. It will allow to store and read messages in any situation wihtout the risk of deadlocks and without the need of temporary per-CPU buffers. Recommended LWN article commit, commit, commit, commit
- Locking
RCU: adds strict grace periods that are as short as is reasonably practical, for the use of KASAN commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rseq/membarrier: add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ. It issues an IPI to a CPU, restarting a potentially active RSEQ critical section on the CPU commit, commit, commit
seqlock: Introduce seqcount_latch_t. Latch sequence counters are a multiversion concurrency control mechanism where the embedded seqcount_t counter even/odd value is used to switch between two copies of protected data. This allows the sequence counter read side to be invoked from NMIs and safely interrupt its own write side critical section commit, commit, commit, commit, commit, commit, commit, commit
seqlock: Introduce PREEMPT_RT support commit, commit, commit, commit, commit
rcutorture: Add gdb support commit
lockdep: Support deadlock detection for recursive read locks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Task scheduler: Improve fairness between cfs tasks commit, commit, commit, commit
(FEATURED) Add static_call(), which uses the idea of static_branch() applied to indirect function calls. Remove a data load (indirection) by modifying the text. The new APIs are utilized in the x86 perf code, a heavy user of function pointers, where static calls speed up the PMU handler by 4.2% commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tools/bootconfig: Add boot-time tracing script commit, commit, commit, commit, commit, commit
ubsan: introduce CONFIG_UBSAN_LOCAL_BOUNDS for Clang commit
fonts: add font 6x8 for OLED display commit
Add backtrace_idle parameter to force backtrace of idle CPUs commit
FUSE: Auto-mounted submounts. virtiofsd just passes through the stat.st_ino value from the host to the guest, without taking stat.st_dev into account. Therefore, it is generally impossible to uniquely identify nodes in the guest by their st_dev/st_ino combinations. This release allows to pass through st_dev alongside st_ino: It lets the guest create auto-mounted submounts for every host mount point, so that they get their own dedicated st_dev. This is similar to what NFS does with the crossmnt option commit, commit, commit, commit, commit, commit
kunit: allow generating test results in JSON commit
3. File systems
- BTRFS
Performance improvements for fsync and rename/link commit, commit, commit
Switch Direct IO implementation to iomap infrastructure commit
Convert data reservations to the ticketing infrastructure that metadata uses commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparatory work to switch locking from custom tree locks to standard rwsem commit, commit, commit, commit, commit, commit, commit, commit
sysfs: export supported send stream version commit
- XFS
Store inode btree counts in the AGI to speed up certain mount time per-AG block reservation operations and add a little more metadata redundancy commit, commit, commit, commit, commit
Widen timestamps to deal with y2038 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Deprecate the V4 format commit
- CIFS
- EXT4
- F2FS
- NFS
Add client support for the READ_PLUS operation, which breaks read requests into several "data" and "hole" segments when replying to the client commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
add server support for the READ_PLUS operation, which breaks read requests into several "data" and "hole" segments when replying to the client commit, commit, commit, commit, commit
NFSv4.2: Support EXCHGID4_FLAG_SUPP_FENCE_OPS flag, introduced in RFC 7862 commit
- OVERLAYFS
- QUOTA
Widen timestamps to handle quota grace expiration times beyond 2038 commit
- CEPH
- ZONEFS
4. Memory management
(FEATURED) Introduce memory hinting syscall, process_madvise(2), for external process commit, commit, commit
Remove assumptions of THP size commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
memcontrol: Implements memcg-based memory accounting of allocations made from an interrupt context commit, commit, commit, commit
memcontrol: add the missing numa_stat interface for cgroup v2 commit
HWPOISON: soft offline rework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IOMMU user API enhancement commit, commit, commit, commit, commit, commit
device-dax: support sub-dividing soft-reserved ranges commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
5. Tracing, perf and BPF
- BPF
BPF TCP header options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce minimal support for sleepable progs. Recommended LWN article commit, commit, commit, commit, commit
Add a kernel module with user mode driver that populates bpffs with two BPF iterators commit, commit, commit, commit
Add tcp_notsent_lowat bpf setsockopt commit
Introduce BPF_F_PRESERVE_ELEMS to perf event array for better sharing of perf event. By default, perf event array removes the perf event when the map fd used to add the event is closed. With BPF_F_PRESERVE_ELEMS set, however, the perf event will stay in the array until it is removed, or the map is closed commit, commit
BTF support for ksyms commit, commit, commit, commit, commit, commit
Add support attaching freplace BPF programs to multiple targets. This is needed to support incremental attachment of multiple XDP programs using the libxdp dispatcher model commit, commit, commit, commit, commit, commit, commit
Allow updating sockmap / sockhash from BPF commit, commit, commit, commit, commit, commit
Add two BPF helpers, that is, one for retrieving the classid of an skb and another one to redirect via the neigh subsystem commit, commit, commit, commit, commit, commit
Follow-up BPF helper improvements commit, commit, commit, commit, commit, commit
Generalizing bpf_local_storage to allow easy implementation of local storage for other objects, implement local storage for inodes and allow LSM to use storage commit, commit, commit, commit, commit, commit, commit
Implement link_query for bpf iterators commit, commit, commit
Add d_path helper function that returns full path for given 'struct path' object, which needs to be the kernel BTF 'path' object commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- libpf
Add full support for BPF-to-BPF calls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implements logic to auto-adjust memory size (1-, 2-, 4-,8-bytes) of load/store (LD/ST/STX) instructions which have BPF CO-RE field offset relocation associated with it. In practice this means transparent handling of 32-bit kernels, both pointer and unsigned integer commit, commit, commit, commit
Support loading/storing any BTF endianness commit, commit, commit
Add support for type-based and enum value-based CO-RE relocations commit, commit, commit, commit, commit, commit, commit, commit, commit
Add perf_buffer APIs for better integration with outside epoll loop commit
Add BTF APIs to libbpf that allow to conveniently produce BTF types and strings commit, commit, commit
Allow storage of flexible metadata information for eBPF programs with the ntroduction of a new syscall flag, BPF_PROG_BIND_MAP, to add a map to a program's used_maps, even if the program instructions does not reference the map commit, commit, commit, commit, commit
- Tracing
boot: Start boot-time tracing in earlier stage commit, commit, commit, commit, commit, commit
boot: Add new options for tracing specific period, kretprobe and tracing_on option. The combination of these options allow to trace events during a specific function call period commit, commit, commit, commit, commit, commit, commit
Currently, only function trace can export trace packets to other destination, add support to event trace and trace_maker commit, commit, commit, commit, commit, commit
Add dynamic strings support for synthetic events commit, commit, commit, commit, commit, commit, commit
- perf
Enable AUX area tracing snapshots using a FIFO commit, commit, commit, commit, commit, commit, commit, commit
ftrace: Add filter support for option -F/--funcs commit
Support PE executable symbol tables using libbfd, to profile, for instance, wine binaries commit, commit, commit, commit
perf inject: Speed build-id injection commit, commit, commit, commit, commit, commit
Introduce branch history "streams", to compare 'perf record' runs with 'perf diff' based on branch records and report hot streams commit, commit, commit, commit, commit, commit, commit
c2c: Refine the organization of metrics commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for exclusive groups/events via the new ':e' event modifier commit
perf stat: Add --for-each-cgroup option to make it easy for that case. It will create NxM events from N events and M cgroups commit, commit, commit, commit, commit
6. Block layer
Allow IOPRIO_CLASS_RT for CAP_SYS_NICE commit
- blk-iocost
Improves iocost in three areas to make iocost internal operations more accurate and immediate with the goal of improving work conservation and distribution fairness, and removing dependence on vrate adjustments for masking work conservation issues. This improves overall control quality and allows regulating vrate more tightly for more consistent behavior as vrate now only needs to respond to device behavior changes 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
Improve debt forgiveness logic commit, commit, commit, commit, commit
xen-blk(back|front): Let users disable persistent grants commit, commit, commit
scsi: Provide hostwide shared tags for SCSI HBAs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
null_blk: add support for max open/active zone limit for zoned devices commit
md: raid10: Improve performance handling raid10 discard request commit, commit
7. Virtualization
Add support for Nitro Enclaves, a new Amazon Elastic Compute Cloud (EC2) capability that allows customers to carve out isolated compute environments within EC2 instances commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Pass zPCI hardware information via VFIO commit, commit, commit, commit, commit
VFIO support for FSL-MC device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vhost scsi: Add support for LUN resets commit
vdpasim: allow to set MAC address commit
Support virtio cross-device resources commit, commit, commit
(FEATURED) virtiofs: Adds DAX support. This allows bypassing guest page cache and allows mapping host page cache directly in guest address space. This can speed up things considerably in many situations. Also this can result in substantial memory savings as file data does not have to be copied in guest and it is directly accessed from host page cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8. Cryptography
crypto: introduce OSCCA certificate and SM2 asymmetric algorithm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Mark ecb(arc4) skcipher as obsolete commit, commit, commit, commit, commit, commit, commit
In an effort to improve the pseudo-random number generator used by the network subsystem (for things like port numbers and packet sequence numbers), Linux’s home-grown pRNG has been replaced by the SipHash round function, and perturbed by hard-to-predict internal kernel states commit, See this recommended LWN article commit, commit, commit
9. Security
integrity: Load MOK certificates from an EFI config table commit, commit, commit
selinux: add detailed tracepoint on audited events commit, commit
- integrity: improve user feedback for invalid bootparams
LSM: SafeSetID: Add set*git security policy commit
LSM: Introduce kernel_post_load_data() hook commit
selinux: move policy commit after updating selinuxfs commit
10. Networking
IP: Expose all exisiting inet sockopt bits through inet_diag for debug purpose commit
IP: ensure the route lookup is performed on the right routing table in VRF configurations commit, commit
icmp: randomize the global rate limiter to avoid leaking details of network state commit
IPv4: Allow more than 255 IPv4 multicast interfaces commit, commit, commit
TCP: Allow to reflect TOS value received in SYN, and send it out in SYN-ACK, and eventually set the TOS value of the established socket with this reflected TOS value. This provides a way to set the traffic class/QoS level for all traffic in the same connection to be the same as the incoming SYN. It could be useful for datacenters to provide equivalent QoS according to the incoming request. This feature is guarded by /proc/sys/net/ipv4/tcp_reflect_tos, and is by default turned off commit, commit, commit, commit
- Multi-Path TCP
MPTCP merge progresses with support concurrent transmission of data on multiple subflows in a load balancing scenario. Enhance advertising addresses via the RM_ADDR/ADD_ADDR options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Include two enhancements for MPTCP path management, namely RM_ADDR support and ADD_ADDR echo support, as specified by RFC sections 3.4.1 and 3.4.2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Wireless (802.11)
Add support for FILS discovery transmission as per IEEE Std 802.11ai-2016 commit, commit
Unsolicited broadcast probe response tranmission is used for in-band discovery in 6GHz band (IEEE P802.11ax/D6.0 26.17.2.3.2, AP behavior for fast passive scanning) commit, commit
Add support for S1G association commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for setting fixed HE rate/gi/ltf commit
Support 6 GHz scanning commit
Allow the user to configure below Spatial Reuse Parameter Set element: Non-SRG OBSS PD Max Offset, SRG BSS Color Bitmap, SRG Partial BSSID Bitmap commit
Add support for WPA/WPA2-PSK 4-way handshake and SAE offload in AP mode commit, commit, commit
- Netfilter
Add support for the inet ingress chain type in nf_tables commit, commit, commit, commit, commit
conntrack: add ct stats for clash resolution commit
ip6t_NPT: rewrite addresses in ICMPv6 original packet commit
Enable userdata for objects. Initially used to store comments, can be extended for other use cases in the future commit, commit
Add userdata attributes to nft_table commit
Implement fast bitwise expression commit
nft_socket: add wildcard support commit
Allow re-computing sctp CRC-32C in 'payload' statements commit
- Bluetooth
Add boot option to not create fall-back tunnels in root-ns as well commit
- bridge
mcast: IGMPv3/MLDv2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, part 2 IGMPv3/MLDv2 fast-path commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- can
- devlink
Introduce support for a new attribute to the flash update command which allows userspace to specify what set of subfields to overwrite when performing a flash update for a device commit, commit, commit, commit, commit
Add devlink reload action and limit options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
devlink show controller number commit, commit, commit, commit, commit, commit
Introduce a health reporter for mlxsw that reports FW fatal events commit, commit, commit, commit, commit, commit, commit, commit
DSA with VLAN filtering and offloading masters commit, commit, commit, commit, commit, commit, commit, commit, commit
- ethtool
- genetlink
xfrm: Add 32 bit compat layer commit, commit, commit, commit, commit, commit, commit
netlink: Export the policy used for attribute validation when it fails, so e.g. for an out-of-range attribute userspace immediately gets the valid ranges back commit, commit
rxrpc: allow more simultaneous calls to be made to the same peer with the same security parameters commit, commit, commit
packet scheduler: Add the necessary TC actions for supporting layer 2 MPLS VPNs (VPLS) commit, commit
smc: introduce SMC-Dv2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Tighten the definition of interface statistics commit
TIPC: Add more encryption features commit, commit, commit, commit
TLS: Implement getsockopt SOL_TLS TLS_RX. The primary usecase is to use it in conjunction with TCP_REPAIR to checkpoint/restore the TLS record layer state commit
xsk: adds support to share a umem between AF_XDP sockets bound to different queue ids on the same device or even between devices. It has already been possible to do this by registering the umem multiple times, but this wasted a lot of memory commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvlan: advertise link netns via netlink commit
11. Architectures
11.1. ARM
Add support for Kontron sl28cpld commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for driving the TPM on Socionext SynQuacer platform commit
iommu/arm-smmu-v3: permit users to disable msi polling commit, commit, commit
iommu: Shared Virtual Addressing for SMMUv3 (PT sharing part) commit, commit, commit, commit, commit, commit, commit, commit
Add genpd support to the PRM (Power and Reset Module) driver commit, commit, commit, commit, commit, commit
soc: Add TI PRUSS platform driver commit, commit, commit, commit, commit, commit, commit
coresight: etm4x: Add Support for HiSilicon ETM device commit
perf: Add Arm CMN-600 PMU driver commit
- ARM64
(FEATURED) Memory Tagging Extension user-space support 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 support for PR_SPEC_DISABLE_NOEXEC prctl() option commit
Add Armv8.3 pointer authentication enhancements commit, commit, commit, commit
perf: Add general hardware LLC events for PMUv3 commit
- KVM
SoCs
- Devicetree updates
- Broadcom boards
- Actions Semi boards
- Allwinner SoCs/boards
- Amlogic boards
- Aspeed boards/platforms
Hisilicon SoC: SD5203 SoC commit
Nvidia boards: Tegra234 VDK, for pre-silicon Orin SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- NXP i.MX boards
- Rockchip boards
- STM32 boards
Toshiba SoCs/boards: Visconti SoC and TPMV7708 board commit, commit, commit, commit
qcom: sc7180-trogdor: add initial trogdor and lazor dt commit, commit
qcom: Add support for Xiaomi Poco F1 (Beryllium) commit
Renesas: Add HiHope RZ/G2H board with idk-1110wr display commit
Support for Qualcomm Robotics RB5 Platform based on QRB5165 SoC which is a derivative of SM8250 SoC customized for robotics application commit, commit, commit, commit, commit, commit
Support for latest new SoC, J7200, from Texas Instruments. The J7200 SoC is a part of the K3 Multicore SoC architecture platform commit, commit, commit, commit
am335x: add common dtsi for MOXA UC-8100 series commit
sun8i: s3l: add support for Pine64 PineCube IP camera commit, commit, commit, commit, commit, commit, commit
at91: Add GARDENA smart Gateway (Art. 19000) support commit
11.2. X86
(FEATURED) SEV-ES Guest Support 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
Add emulation/spoofing of SLDT and STR for both 32- and 64-bit processes, needed for wine users commit
Initial support for sharing virtual addresses between the CPU and devices which doesn't need pinning of pages for DMA anymore. Add support for the command submission to devices using new x86 instructions like ENQCMD{,S} and MOVDIR64B. In addition, add support for process address space identifiers (PASIDs) which are referenced by those command submission instructions along with the handling of the PASID state on context switch as another extended state commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Centaur Family >= 7 of CPUs commit
Add 'nohmat' option for debug, to workaround broken platform instances, or cases where it is otherwise not wanted commit
Allow multiple bits in clearcpuid= parameter commit
Add support for hardware-enforced cache coherency on AMD which obviates the need to flush cachelines before changing the PTE encryption bit commit, commit, commit
Use SERIALIZE in sync_core() when available commit
- platforms
chrome: cros_ec_typec: USB4 support commit
acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE commit
hp-wmi: add support for thermal policy commit
intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC commit
intel_pmc_core: Add Intel RocketLake (RKL) support commit
thinkpad_acpi: add P1 gen3 second fan support commit
touchscreen_dmi: Add info for the Irbis TW118 tablet commit
touchscreen_dmi: Add info for the Predia Basic tablet commit
thinkpad: Add 4 new keycodes and use them for 4 new hotkeys on new Lenovo Thinkpads commit, commit, commit, commit
Add changes needed for new UV5 UV architecture commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
vendor events amd: Add recommended events commit
TopDown metrics support for Icelake commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rapl: Add AMD Fam19h RAPL support commit
amd/uncore: Support user core/thread and slice specification commit, commit, commit, commit
Support PCIe3 uncore PMU on Snow Ridge commit, commit, commit, commit, commit, commit
msr: Add Jasper Lake support commit
intel: Add Jasper Lake support commit
events amd: Add ITLB Instruction Fetch Hits event for zen1 commit
events amd: Add L2 Prefetch events for zen1 commit
- intel_th
resctl: enumerate Memory Bandwidth Allocation (MBA) per-thread feature and introduces a new resctrl file "thread_throttle_mode". The file shows either "per-thread" on newer systems that implement the MBA per-thread feature or "max" on other systems that allocate maximum throttling per-core commit, commit
- KVM
Introduce a new implementation of much of the KVM MMU, optimized for running guests with Two Dimensional Paging commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow user space to restrict and augment MSR emulation commit, commit, commit, commit, commit, commit, commit, commit
Restrict PV features to only enabled guests commit, commit, commit, commit
Introduce TSX suspend load tracking feature and expose it to KVM CPUID for processors which support it. KVM reports this information and guests can make use of it commit, commit
Add the support for PCID/INVPCID on AMD guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.3. S390
Introduce Failure Injection feature commit
ap: Add support for SCLP AP adapter config/deconfig commit, commit, commit
zcrypt: Support for CCA APKA master keys commit
pkey: Support CCA and EP11 secure ECC private keys commit
Add sysfs file to show scheduled leap seconds commit
Allow configuration of TX queues for OSA devices commit
Implement ndo_bridge_getlink commit and ndo_bridge_setlink for learning_sync commit
Make ip_fast_csum() faster commit
Add NVMe firmware-assisted kernel dump support commit, commit, commit
Remove cad commandline option commit
Convert architecture code to GENERIC_VDSO commit
Add ARCH_HAS_DEBUG_WX support commit
Add HAVE_GET_KERNEL_NOFAULT support commit
11.4. POWERPC
Add coregroup support on Powerpc. Coregroup is a group of (subset of) cores of a DIE that share a resource commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CVE-2020-4788: Speculation on incompletely validated data on IBM Power9 commit, commit, commit, commit, commit
powernv/idle: add a basic stop 0-3 driver for POWER10 commit
ptrace: new flag for detecting ISA v3.1 (Power10) watchpoint features commit
hv-gpci: Add sysfs files inside hv-gpci device to show cpumask commit
Add PAPR command family to pass-through command-set commit
Remove support for PowerPC 601 commit, commit, commit, commit, commit, commit, commit, commit
11.5. RISCV
11.6. MIPS
Add support for ZSTD-compressed kernels commit
Ingenic: Add system type for new Ingenic SoCs commit
Convert Ingenic to a generic board commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Loongson-3: Enable COP2 usage in kernel commit
octeon: Add Ubiquiti E200 and E220 boards commit
ralink: enable zboot support commit
Remove PNX833x alias NXP_STB22x commit
11.7. PARISC
Add qemu fw_cfg interface commit
11.8. IA64
Remove perfmon commit
11.9. ARC
11.10. UM
vector: Add dynamic tap interfaces and scripting (functionality roughly compatible with the existing qemu ifup scripting) commit
12. Drivers
12.1. Graphics
- amdgpu
Remove experimental flag from navi12 commit
Add device ID for sienna_cichlid commit
New ids flag for tmz commit
Add SI support to AMD DC 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
powerplay: Support for gpu metrics export commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
powerplay: add one sysfs file to support the feature to modify gfx clock on Raven/Raven2/Picasso APU commit
powerplay: fan boost enablement commit, commit, commit, commit
Implement power metrics commit and voltage metrics for RENOIR commit
Enable P2P dmabuf over XGMI commit
Implement PCI Error Recovery on Navi12 commit, commit, commit, commit, commit, commit, commit
Add DID for navi10 blockchain SKU commit
Add Green Sardine support commit, commit, commit, commit, commit, commit, commit
Add an auto setting to the noretry parameter commit
Add bad page count threshold in module parameter commit
Add debugfs interface for RAP test commit
Add debugfs node to toggle ras error cnt harvest commit
Add DSC force disable to dsc_clock_en debugfs entry commit
Add connector HPD trigger debugfs entry commit
Add debug param to force dio disable commit
Add debugfs for connector's FEC & DSC capabilities commit
Add debugfs for forcing stream timing sync commit
Enable DP YCbCr420 mode support for DCN10 commit
amdkfd: Show number of compute units that are in use in sysfs commit
Introduce a new parameter to configure how many KCQ we want commit
amdkfd: Add GPU reset SMI event commit
amdkfd: Add process eviction counters to sysfs commit
amdkfd: Add thermal throttling SMI event commit
amdkfd: SMI interface events ioctl update commit
- bridge:
Add Cadence MHDP8546 DisplayPort bridge driver commit, commit
dw-mipi-dsi.c: Add VPG runtime config through debugfs commit
lvds-codec: Add support for regulator commit
tc358762: Add basic driver for Toshiba TC358762 DSI-to-DPI bridge commit
TC358775 DSI/LVDS driver commit
cdns-mhdp8546: Add TI J721E wrapper commit
- i915
GEN 12 HOBL display powersaving commit
Introduce a mechanism to extend execbuf2 commit
syncobj timeline support commit
Rocket Lake display additions commit, commit, commit, commit, commit
Add support for HDCP 1.4 over MST commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
radeon: expose sclk via sysfscommit
- msm
imx: Add initial support for DCSS on iMX8MQ commit
mgag200: Add support for G200 desktop cards commit
mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message commit
- panel
Add panel driver for the Mantix MLAF057WE51-X DSI panel commit
ilitek-ili9881c: add support for Feixin K101-IM2BYL02 panel commit
s6e63m0: Add DSI transport commit
simple: Add AM-1280800N3TZQW-T00H commit
simple: Add Chefree CH101OLHLWH-002 panel commit
simple: Add KD116N21-30NV-A010 commit
simple: Add Powertip PH800480T013 panel commit
sticon: Add user font support commit
- rcar-du
mxsfb: i.MX7 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mxsfb: Support the alpha plane commit
- panfrost:
vc4: Support BCM2711 (and thus the RaspberryPi 4) Display Pipeline merge
virtio: report uuid in debugfs commit
backlight: Add Kinetic KTD253 backlight driver commit
fbdev: remove mbx framebuffer driver commit
Report dp downstream port type as a subconnector property commit
12.2. Storage
- ahci
- SCSI
arcmsr: Add support for ARC-1886 series RAID controllers commit
fc: Add 256GBit speed setting to SCSI FC transport commit
hisi_sas: Add BIST support for fixed code pattern commit and for phy FFE commit
hisi_sas: Add runtime PM support for v3 hw commit, commit, commit, commit, commit, commit, commit
qedi: Add support for handling PCIe errors commit
qla2xxx: Add SLER and PI control support commit
qla2xxx: Add rport fields in debugfs commit
scsi_debug: Implement lun_format commit
smartpqi: Add id support for SmartRAID 3152-8i commit
smartpqi: Support device deletion via sysfs commit
ufs-mediatek: Support performance mode for inline encryption engine commit
ufs-pci: Add LTR support for Intel controllers commit
nvmet: add passthru ZNS support commit
12.3. Drivers in the Staging area
hikey9xx: add build for the Kirin 970 PHY driver commit
mfd: add a PMIC driver for HiSilicon 6421 SPMI version commit
most: add character device interface driver commit
phy: Move phy-rockchip-dphy-rx0 out of staging commit
rtl8723bs: Add 024c:0627 to the list of SDIO device-ids commit
SPMI patches needed by Hikey 970 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
media: Support for Tegra video capture from external sensor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: staging: rkisp1: add support to V4L2_CAP_IO_MC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: zoran: restore deprecated driver commit
media: usbvision: remove deprecated driver commit
12.4. Networking
- Bluetooth
- IB
- RDMA
- ag71xx
- ath10k
- ath11k
Add support spectral scan for IPQ6018 commit
Firmware and board file support for PCI devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add ipq6018 support commit
qca6390: packet log support commit, commit, commit, commit, commit
Add raw mode and software crypto support commit
Initial PCI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CE and HAL support for QCA6390 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support loading ELF board files commit
ath9k: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support commit
atlantic: phy tunables from mac driver commit, commit, commit
- bnxt_en
Add a software counter for RX ring reset commit
Implement ethtool set_fec_param() method commit
Report Active FEC encoding during link up commit
Report FEC settings to ethtool commit
Update firmware interface spec to 1.10.1.65 commit
Add basic infrastructure to support PAM4 link speeds commit, commit
brcmfmac: support SAE authentication offload in AP mode commit
caif: Remove unused caif SPI driver commit
- can
flexcan FD support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
flexcan: add flexcan driver for i.MX8MP commit
mcp251x: add GPIO support commit
mcp251x: add support for half duplex controllers commit
mcp25xxfd: add driver for Microchip MCP25xxFD SPI CAN commit
pcan_usb: add support of rxerr/txerr counters commit
dp83869: Add ability to advertise Fiber connection commit
- dpaa2
- DSA
dsa: b53: Report VLAN table occupancy via devlink commit
dsa: mt7530: Add the support of MT7531 switch commit
mv88e6xxx: Add devlink regions commit, commit, commit, commit, commit, commit, commit, commit, commit
mv88e6xxx: Add per port devlink regions commit, commit, commit, commit, commit, commit, commit
rtl8366rb: Support setting MTU commit
sja1105: Devlink regions for SJA1105 DSA driver commit, commit, commit
e1000e: Add support for Meteor Lake commit
ena: ethtool: Add new device statistics commit
ena: ethtool: add stats printing to XDP queues commit
ena: xdp: add queue counters for xdp actions commit
ti: ale: add static configuration commit, commit, commit, commit, commit, commit, commit, commit, commit
gve: Add GVE Features commit, commit, commit, commit, commit, commit, commit, commit
- hinic
- hns3
Add support for querying device capabilities and specifications commit, commit, commit, commit, commit, commit, commit
Add UDP segmentation offload support commit
Add RoCE VF reset support commit
Add a hardware error detect type commit
Add debugfs of dumping pf interrupt resources commit
Add support for 200G device commit
debugfs add new command to query device specifications commit
dump tqp enable status in debugfs commit
ibmvnic: set up 200GBPS speed commit
- igc
- ionic
- iwlwifi
Support new ppag table command v2 commit
Add new card for MA family commit
Add new cards for AX201 family commit
Add new cards for MA family commit
Add dumping special device memory commit
Enable twt by default commit
Add support for new WOWLAN_TSC_RSC_PARAM version commit
Add support for new version of WOWLAN_TKIP_SETTING_API_S commit
Add support for range request command ver 11 commit
Add support for responder dynamic config command version 3 commit
Support GCMP ciphers commit
Support ADD_STA_CMD_API_S ver 12 commit
Support more GTK rekeying algorithms commit
Support new KEK KCK api commit
Support an additional Qu subsystem id commit
Updates in the ACPI code to support new tables and FW versions commit, commit, commit, commit, commit
Support new temperature measurement API commit
mac80211_hwsim: indicate support for S1G commit
macb: support the two tx descriptors on at91rm9200 commit
marvell: prestera: Add Switchdev driver for Prestera family ASIC device 98DX3255 (AC3x) commit, commit, commit, commit, commit, commit
mdio-ipq4019: add Clause 45 support commit
- mlxsw
Expose critical and emergency module alarms commit, commit, commit
Expose transceiver overheat counter commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Multi packet tx descriptors for SKBs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Connection Tracking in NIC mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add xfrm IPSec TX offload support commit, commit, commit, commit
Add support for tc trap commit
Add IPv6 traffic class (DSCP) header rewrite support commit
Add CQE compression support for multi-strides packets commit
Support for Flow source hint in software steering and E-Switch commit, commit
Enable use of vport meta data by default commit, commit, commit, commit
- mscc
mscc_ocelot: HW support for VCAP IS1 and ES0 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload tc-flower to mscc_ocelot switch using VCAP chains commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mt76: mt7915
- mvpp2
nfp: flower: add support to offload QinQ match commit
- octeontx2-af
netdevsim: Add debugfs toggle to reject BPF programs in verifier commit
pcs-lynx: add support for 10GBASER commit
- phy
qed: introduce devlink health support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qmi_wwan: add Telit LE910Cx 0x1230 composition commit
- rtw88
- sfc
smc: introduce System Enterprise ID (SEID) commit
smsc95xx: add phylib support commit
- stmmac
systemport: Manage Wake-on-LAN clock commit
wcn36xx: Add basic support for wcn3680 up to MCS7/40MHz commit, commit, commit, commit, commit, commit, commit, commit, commit
12.5. Audio
- soundwire
intel: add multi-link support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel: add power management support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: add support for mmio soundwire master commit, commit, commit, commit
sysfs: add slave status and device number before probe commit
- hda
Add Alderlake-S PCI ID and HDMI codec vid commit
realtek: Add supported mute Led for HP commit
realtek: Add supported for Lenovo ThinkPad Headset Button commit
realtek: Enable headphone for ASUS TM420 commit
realtek: Add mute Led support for HP Elitebook 845 G7 commit
ca0132: Add full-range speaker selection controls commit
ca0132: Add output selection for SoundBlaster AE-7 commit
realtek: Add new codec supported for ALC897 commit
Add Intel DG1 PCI and HDMI ids commit
ca0132: Add AE-7 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ASoC
Intel: Catpt - Lynx and Wildcat point commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: KMB: Enable TDM audio capture commit
Intel: Remove obsolete solutions and components commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: add support for new SoundWire hardware layout on TGL commit
Intel: soc-acpi: add support for SDCA boards commit
Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2 commit
Intel: sof-soundwire: add support for rt5682 on link2 commit
Intel: Soundwire integration commit
SOF: Intel: Add support for tgl-h commit
SOF: imx: Add debug support for imx platforms commit
SOF: support topology components on secondary cores commit
ak4458: Add DSD support for ak4458 and ak4497 commit
ak4458: Add regulator support commit
ak5558: Add regulator support commit
codec: tlv3204: Enable 24 bit audio support commit
codec: tlv3204: Increased maximum supported channels commit
cs4234: Add support for Cirrus Logic CS4234 codec commit
fsl-asoc-card: add support for TLV320AIC32x4 codec commit
hdac_hdmi: support 'ELD' mixer commit
intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support commit
mchp-spdifrx: Add driver for Microchip S/PDIF RX commit
mchp-spdiftx: add driver for S/PDIF TX Controller commit
mediatek: mt6359: add codec driver commit
mediatek: mt8183-da7219: support machine driver with rt1015p commit
q6afe-clocks: add q6afe clock controller commit
qdsp6: add gapless compressed audio support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
q6dsp: q6afe: add support to Codec DMA ports commit
q6dsp: q6routing: add support to Codec DMA ports commit
qcom: Add support for lpass hdmi driver commit
qcom: lpass-sc7180: Add platform driver for lpass audio commit
qcom: sc7180: Add support for audio over DP commit
rt1015: add delay to fix pop noise from speaker commit
rt1015p: add codec driver commit
sun50i-codec-analog: Cleanup and power management commit, commit, commit, commit, commit, commit, commit, commit
tas2562: Add the TAS2110 class-D amplifier commit
tas2562: Add the TAS2564 compatible commit
tas2764: Add the driver for the TAS2764 commit
ti: j721e-evm: Add support for j7200-cpb audio commit
tlv320adcx140: Add digital mic channel enable routing commit
tlv320adcx140: Add support for configuring GPIO pin commit
wm8962: Export DAC/ADC monomix switches commit
usb-audio: Add mixer support for Pioneer DJ DJM-250MK2 commit
SoC: Intel: sof_sdw: Add support for product Ripto commit
12.6. Tablets, touch screens, keyboards, mouses
Add zinitix touchscreen driver commit
joystick: add ADC attached joystick driver commit
logitech-hidpp: Add PID for MX Anywhere 2 commit
soc_button_array - add support for INT33D3 tablet-mode switch devices commit
synaptics: enable InterTouch for ThinkPad P1/X1E gen 2 commit
synaptics: enable InterTouch for ThinkPad T14 Gen 1 commit
synaptics-rmi4: add support for F3A commit
synaptics-rmi4: support bootloader v8 in f34v7 commit
xpad: support Ardwiino Controllers commit
soc_button_array: add Lenovo Yoga Tablet2 1051L to the dmi_use_low_level_irq list commit
- HID
uclogic: Add ID for Trust Flex Design Tablet commit
Add support for Sega Saturn commit
cypress: Support Varmilo Keyboards' media hotkeys commit
apple: Add support for Matias wireless keyboard commit
ite: Add USB id match for Acer One S1003 keyboard dock commit
multitouch: Lenovo X1 Tablet Gen2 trackpoint and buttons commit
multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons commit
Add vivaldi HID driver commit
12.7. TV tuners, webcams, video capturers
v4l2-ctrl: Add VP9 codec levels commit
Add new controls for CQ and Frame-skip commit, commit, commit, commit, commit, commit
Add support for colorspace conversion API (CSC) for video capture and subdevices commit, commit, commit, commit, commit, commit
Implements support for the MyGica iGrabber commit
camss: extend VIDIOC_ENUM_* ioctls support commit, commit, commit
exynos4-is: Add support for multiple sensors on one port commit
i2c: ov5640: Add support for BT656 mode commit
ice: add the DDP Track ID to devlink info commit
mtk-vcodec: venc: support for MT8183 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ov8856: Add support for 1632x1224 mode commit and 3264x2448 mode commit
Add support for mt2701 JPEG ENC support 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
rc: gpio-ir-recv: add QoS support for cpuidle system commit
rcar-{csi2,vin}: Extend RAW8 support to all RGB layouts commit, commit
rcar-csi2: Enable support for R8A774E1 commit
rcar-vin: Enable support for R8A774E1 commit
- venus
- vidtv
12.8. Universal Serial Bus (USB) and Thunderbolt
- Thunderbolt
dwc-meson-g12a: Add support for USB on AXG SoCs commit
dwc2: add support for APM82181 USB OTG commit
dwc3: pci: add support for the Intel Alder Lake-S commit
dwc3: qcom: Add interconnect support in dwc3 driver commit
dwc3: simple: add support for Hikey 970 commit
- serial
ftdi_sio: add support for FreeCalypso JTAG+UART adapters commit
option: Add Telit FT980-KS composition commit
option: add Cellient MPL200 card commit
option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 commit
option: add Quectel EC200T module support commit
option: add Telit FN980 composition 0x1055 commit
pl2303: add device-id for HP GC device commit
option: add Fibocom NL668 variants commit
option: add support for Thales Cinterion EXS82 commit
serial: ch341: add new Product ID for CH341A commit
Introduce PMIC based USB type C detection commit
TCPM support for FRS and AutoDischarge Disconnect commit, commit, commit, commit, commit, commit, commit
typec: add support for STUSB160x Type-C controller family commit
typec: intel_pmc_mux: Support for device role (UFP) commit
typec: mt6360: Add support for mt6360 Type-C driver commit
Raspberry Pi 4 USB firmware initialization rework commit, commit, commit, commit, commit, commit, commit, commit, commit
xhci: add debugfs support for ep with stream commit
12.9. Serial Peripheral Interface (SPI)
dw: Add full Baikal-T1 SPI Controllers support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dw: Add KeemBay Master capability commit
dw: Add Microchip Sparx5 support commit
spi-mtk-nor: Add power management support commit
12.10. Watchdog
Add Toshiba Visconti watchdog driver commit
Add support for sl28cpld watchdog commit
it87_wdt: add IT8772 ID commit
it87_wdt: add IT8784 ID commit
renesas_wdt: support handover from bootloader commit
12.11. Serial
12.12. CPU Frequency scaling
Prevent "ondemand" and "conservative" from being configured as the default cpufreq governor in the case when schedutil is the default choice for the default governor setting. commit
sti-cpufreq: add stih418 support commit
qcom-hw: Add cpufreq support for SM8250 SoC commit
12.13. Voltage, current regulators, power capping, power supply
power: supply: Add support for RN5T618/RC5T619 charger and fuel gauge commit
power: supply: gpio-charger: add charge-current-limit feature commit
power: supply: bq27xxx: add support for TI bq34z100 commit
power: supply: smb347-charger: Support SMB345 and SMB358 commit
power: supply: max17040: Support compatible devices commit
power: supply: max17040: Support soc alert commit
power: supply: max17040: Support setting rcomp commit
power: supply: bq25980: Add support for the BQ259xx family commit
power: reset: ocelot: Add support for Sparx5 commit
regulator: mt6360: Add support for MT6360 regulator commit
regulator: qcom_spmi: Add PM660/PM660L regulators commit
regulator: qcom_smd: Add PM660/PM660L regulator support commit
regulator: Support ROHM BD9576MUF and BD9573MUF commit
regulator: qcom_smd: add pm8953 regulators commit
regulator: rt4801: Add support for RT4801 Display Bias regulator driver commit
regulator: rpi-panel: Add regulator/backlight driver for RPi panel commit
regulator: rtmv20: Adds support for Richtek RTMV20 load switch regulator commit
12.14. Real Time Clock (RTC)
ds1307: enable rx8130's backup battery, make it chargeable optionally commit
rv3032: Add a driver for Microcrystal RV-3032 commit
12.15. Pin Controllers (pinctrl)
Ingenic: Add support for SSI and I2S pins commit, commit, commit
actions: Add Actions S500 pinctrl driver commit
mediatek: Add MT8167 Pinctrl driver commit
mediatek: Add pinctrl driver for mt8192 commit
qcom: Add msm8226 pinctrl driver commit
sunxi: add support for the Allwinner A100 pin controller commit
visconti: Add Toshiba Visconti SoCs pinctrl support commit
12.16. Multi Media Card (MMC)
sdhci-iproc: Enable eMMC DDR 3.3V support for bcm2711 commit
sdhci-of-sparx5: Add Sparx5 SoC eMMC driver commit
sdhci-pci-gli: Add CQHCI Support for GL9763E commit
sdhci: Add LTR support for some Intel BYT based controllers commit
sdhci_am654: Add support for input tap delay commit
sdhci_am654: Add support for software tuning commit
12.17. Memory Technology Devices (MTD)
nand: Introduce the ECC engine framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hyperbus: add Renesas RPC-IF driver commit
physmap: Add Baikal-T1 physically mapped ROM support commit
spi-nor: intel-spi: Add support for Intel Alder Lake-S SPI serial flash commit
spi-nor: macronix: Add SECT_4K to mx25l12805d commit
spi-nor: winbond: Add support for w25q64jwm commit
spinand: gigadevice: Add support for GD5F4GQ4xC commit
spinand: macronix: Add support for MX31LF1GE4BC commit and for MX31UF1GE4BC commit
12.18. Industrial I/O (iio)
accel: adxl372: Add support for FIFO peak mode commit
accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode commit
adc: ad9467: add support for AD9265 high-speed ADC commit and AD9434 high-speed ADC commit
chemical: atlas-ezo-sensor: add humidity sensor support commit and for O2 sensor commit
gyro: Add driver support for ADXRS290 commit
gyro: adxrs290: Add triggered buffer support commit and debugfs register access support commit
humidity: Add TI HDC20x0 support commit
light: as73211: New driver commit
mlx90632: Adding extended calibration option commit
12.19. Multi Function Devices (MFD)
Add simple regmap based I2C driver commit
Add ACPI support to Kontron PLD driver commit
ene-kb3930: Add driver for ENE KB3930 Embedded Controller commit
intel-lpss: Add device IDs for UART ports for Lakefield commit
intel-m10-bmc: Add Intel MAX 10 BMC chip support for Intel FPGA PAC commit
lp87565: Add LP87524-Q1 variant commit
simple-mfd-i2c: Add sl28cpld support commit
12.20. Pulse-Width Modulation (PWM)
Add support for sl28cpld PWM controller commit
12.21. Inter-Integrated Circuit (I2C + I3C)
Add slave testunit driver commit
i801: Add support for Intel Alder Lake PCH-S commit
ismt: Add support for Intel Emmitsburg PCH commit
mlxbf: I2C SMBus driver for Mellanox BlueField SoC commit
rcar: add HostNotify support commit
stm32f7: Add SMBus Host-Notify protocol support commit
12.22. Hardware monitoring (hwmon)
Extending hwmon ABI with attributes for rated values commit, commit
Expose PEC debugfs attribute commit
- pmbus
Add support for the sl28cpld hardware monitoring controller commit
k10temp: Add support for Zen3 CPUs commit
lm75: Add regulator support commit
Add hwmon driver for Intel MAX 10 BMC commit
Add hardware monitoring driver for Moortec MR75203 PVT controller commit
gsc-hwmon: add fan sensor commit
12.23. General Purpose I/O (gpio)
Implement a new version of the GPIO CDEV uAPI to address existing 32/64-bit alignment issues, add support for debounce, event sequence numbers, and allow for requested lines with different configurations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for the sl28cpld GPIO controller commit
pca953x: Add support for the NXP PCAL9554B/C commit
12.24. Leds
Add driver for Acer Iconia Tab A500 commit
lp50xx: Add the LP50XX family of the RGB LED driver commit
pca955x: Add an IBM software implementation of the PCA9552 chip commit
12.25. DMA engines
xilinx: dpdma: Add debugfs support commit
idxd: add support for configurable max wq batch size commit and max wq xfer size commit
idxd: add command status to idxd sysfs attribute commit
12.26. Hardware Random Number Generator (hwrng)
ingenic: Add hardware TRNG for Ingenic X1830 commit
xiphera-trng: add support for XIP8001B hwrng commit
12.27. Cryptography hardware acceleration
caam: xts(aes): Add ability to process XTS with 16B IV in HW commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
inside-secure: Add support for EIP197 with output classifier commit
allwinner: add xRNG and hashes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
n2: remove ecb(arc4) support commit
bcm-iproc: remove ecb(arc4) support commit
12.28. PCI
Add Kconfig options for MPS/MRRS strategy commit
brcmstb: Add bcm7278 PERST# support commit
hip: Add handling of HiSilicon HIP PCIe controller errors commit
layerscape: Add EP mode support for ls1088a and ls2088a commit
12.29. FRU Support Interface (FSI)
aspeed: Support cabled FSI commit
aspeed: Support CFAM reset GPIO commit
aspeed: Add module param for bus divisor commit
12.30. Clock
axi-clkgen: Add support for fractional dividers commit
imx: imx21: Remove clock driver commit
mediatek: Add MT8167 clock support commit
meson: add sclk-ws driver commit
qcom: Add SM8150 and SM8250 videocc drivers commit, commit, commit, commit, commit
qcom: Add display clock controller driver for SM8150 and SM8250 commit
renesas: cpg-mssr: Add support for R-Car V3U commit
sp804: Add support for Hisilicon sp804 timer commit
sunxi-ng: add support for the Allwinner A100 CCU commit
12.31. PHY ("physical layer" framework)
Add USB3 PHY support for Intel LGM SoC commit
Add support for multilink configurations in Cadence Torrent PHY driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
freescale: imx8mq-usb: add support for imx8mp usb phy commit
intel: Add Keem Bay eMMC PHY support commit
Support qcom USB3+DP combo phy (or type-c phy) commit, commit, commit, commit, commit, commit, commit, commit
socionext: Add UniPhier AHCI PHY driver support commit
12.32. EDAC (Error Detection And Correction)
al-mc-edac: Add Amazon's Annapurna Labs Memory Controller driver commit
12.33. Various
bus/fsl-mc: Extend mc-bus driver functionalities in preparation for mc-bus VFIO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mhi: core: Introduce counters to track MHI device state transitions commit
mhi: core: Introduce debugfs entries for MHI commit
dt-bindings: reset: Updated binding for Versal reset driver commit
eeprom: at24: Add support for the Sony VAIO EEPROMs commit
- habanalabs
interconnect: Add interconnect sync state support commit, commit, commit
Add SM8150 and SM8250 interconnect drivers commit, commit, commit, commit, commit
interconnect: Add L3 provider support for SM8150/SM8250 commit, commit, commit, commit, commit, commit, commit
irq: dw-apb-ictl: Add primary interrupt controller support commit
irq: irq-mst: Add MStar interrupt controller support commit
irq: Add TI PRUSS Local Interrupt Controller IRQChip driver commit, commit, commit, commit, commit
irq: Add Actions Semi Owl family sirq support commit
mailbox: arm_mhu: Add ARM MHU doorbell driver commit
misc: fastrpc: add ioctl for attaching to sensors pd commit
misc: hisi_hikey_usb: add support for Hikey 970 commit, commit, commit
misc: mic: remove the MIC drivers commit
Add support for PCIe EP nodes to Renesas r8a774a1, r8a774b1 and r8a774c0 SoC's commit
Add PCIe EP to RZ/G2H commit
dwc: Add the multiple PF support for DWC and Layerscape commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ptp_qoriq: support FIPER3 commit
regmap: add Intel SPI Slave to AVMM Bus Bridge support commit
- remoteproc
reset: reset-zynqmp: Added support for Versal platform commit
rpmsg: glink: Add support for rpmsg glink chrdev commit
w1_therm: Add sysfs entries to control conversion time and driver features commit
w1_therm: Add support for GXCAS GX20MH01 device commit
13. List of Pull Requests
14. Other news sites
Phoronix 5.10 feature overview