Size: 66018
Comment: delete google cache - kn seeems to handle load better
|
Size: 880
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel. This page shows a summary of the important changes being added in each linux kernel release - support for new devices, new features (filesystems, subsystems), important internal changes, etc. While this text is aimed to be (unlike the full changelog) readable, it's obvious that some parts will not be comprehensible for those who don't know a lot about kernel internals, just like it happens in every software project. Other places to get news about the linux kernel are [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide], [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6], or [http://www.lkml.org www.lkml.org]. If you're going to add something here look first at LinuxChangesRules! | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
==== 2.6.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [http://wiki.kernelnewbies.org/Linux_2_6_17 the current changes] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r * Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha * Convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs * Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64 * Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] |
<<Include(Linux_5.9)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.9 has been released on Sun, 11 Oct 2020.
Summary: This release implements better management of anonymous (malloc'ed) memory; a new cgroup slab controller that improves slab utilization by allowing memory cgroups to share slab memory; support for proactive memory defragmentation; CPU Capacity awareness for the deadline scheduling class; support for running BPF programs on socket lookups; new close_range() system call for easier closing of entire ranges of file descriptors, support for FSGSBASE x86 instructions that provide faster context switching, NFS support for extended attributes; and support for ZSTD compressed kernel, ramdisk and initramfs. As always, there are many other new drivers and improvements.
Contents
-
Prominent Features
- Better management of anonymous memory
- New cgroup slab controller shares slab memory
- Proactive memory compaction
- New close_range() system call for easier closing of file descriptors
- Support for running BPF programs on socket lookups
- CPU Capacity awareness for the deadline scheduling class
- Faster context switch with supports FSGSBASE x86 instructions
- NFS support for extended attributes
- Support for ZSTD compressed kernel, ramdisk and initramfs
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus / Thunderbolt
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- MultiMediaCard (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
- Clock
- PHY ("physical layer" framework)
- Memory Controller Drivers
- Firmware Drivers
- Remote Processors
- Various
- List of Pull Requests
- Other news sites
1. Prominent Features
1.1. Better management of anonymous memory
This release implements better workload detection and protection of anonymous memory (memory that is not file-backed, ie. malloc'ed memory). The Linux kernel manages the memory of anonymous memory placing its pages in either the active list or inactive list. Under memory pressure, unused pages are moved from the active to the inactive list and unmapped, giving them a chance of being referenced again (aka: soft fault) before being moved to swap, if there is more pressure.
In the previous implementation, newly created or swap-in pages were placed on the active list, which could force actively used pages to the inactive list. In this release, newly created or swap-in anonoymous pages are started in the inactive list (thus protecting existing hot workloads), and only promoted to the active list when they are referenced enough. Aditionally, because this change can also cause newly created or swap-in anonymous pages to swap-out existing pages in the inactive list, the existing workingset detection mechanisms have been extended to deal with the anonymous LRU list to make more optimal decisions.
1.2. New cgroup slab controller shares slab memory
The cgroup slab memory controller was based on the idea of replicating slab allocator internals for each memory cgroup, so those cgroups didn't share slab memory, which lead to low slab utilization and higher slab memory usage. The slab controller used to be an opt-int feature, but today it's enabled by default in the memory controller, and modern systems with systemd create many cgroups, so these ineffiencies affect many people.
This release incorporats a new cgroup slab memory controller that allows to share slab memory between memory cgroups. For Facebook, it saved significant amount of memory, measured from high hundreds of MBs to single GBs per host; on average the size of slab memory was reduced by 35-45%. Desktop systems also benefit: on a 16GB Fedora system, the new slab controller saves ~45-50% of slab memory, measured just after loading of the system.
1.3. Proactive memory compaction
Huge Pages (ie. pages bigger than 4KB on x86) are a processor feature that can improve performance due to reduced TLB usage. Making use of these pages requires having large amounts of contiguous free memory, which can difficult to obtain when memory is heavily fragmented. Linux supports memory compaction (ie. defragmentation), but it is only triggered when a huge page needs to be allocated, which can take time and hence hurts allocation latency. This release adds support for proactive memory compaction, that is, automatically triggering memory compaction before doing any allocation, so that future allocations can succeed faster.
Recommended LWN article: Proactive compaction for the kernel
1.4. New close_range() system call for easier closing of file descriptors
This release incorporates a new system call, close_range(2). It allows to efficiently close a range of file descriptors up to all file descriptors of a calling task. Eg, close_range(3, ~0U); will close all descriptors past stderr. It turns out, quite a bunch of projects need to do exactly that: service managers, libcs, container runtimes, programming language runtimes/standard libraries (Rust/Python). This system call has been coordinated with FreeBSD, so it is also available there.
1.5. Support for running BPF programs on socket lookups
As with every new version, there are many improvements to BPF. An interesting new feature is a new BPF program type named BPF_PROG_TYPE_SK_LOOKUP, which runs when transport layer is looking up a listening socket for a new connection request (TCP), or when looking up an unconnected socket for a packet (UDP). This serves as a mechanism to overcome the limits of the bind() API. Two use-cases driving this work are: 1) steer packets destined to an IP range, fixed port to a single socket, 2) steer packets destined to an IP address, any port to a single socket.
1.6. CPU Capacity awareness for the deadline scheduling class
Since Linux 3.14 the Linux task scheduler supports a deadline scheduling class, designed around real-time concepts for applications that need strict time requirements. This scheduling class was not aware of the existence of heterogeneous platforms where CPUs have not the same performance (ie. ARM big.LITTLE), which leads to wrong scheduling decisions. This release makes the deadline class aware of the capacity of each CPU.
Recommended LWn article: Capacity awareness for the deadline scheduler
1.7. Faster context switch with supports FSGSBASE x86 instructions
The FSGSBASE instructions are an Intel feature that has been available for a long time. They allow direct access to the FS and FS segment base registers. In addition to benefits to applications, performance improvements to the OS context switch code are possible by making use of these instructions
Recommended LWN article: A possible end to the FSGSBASE saga
1.8. NFS support for extended attributes
This release incorporates support for extended attributes (RFC 8276), which bridges one of the most relevant gaps in NFS.
1.9. Support for ZSTD compressed kernel, ramdisk and initramfs
This release adds support for a ZSTD-compressed kernel, ramdisk, and initramfs in the kernel boot process (ZSTD-compressed ramdisk and initramfs are supported on all architectures, the ZSTD-compressed kernel is only hooked up to x86 for now). ZSTD offers good compression rates and very high decompression speeds. When Facebook switched from a xz compressed initramfs to a zstd compressed initramfs decompression time shrunk from 12 seconds to 3 seconds. When they switched from a xz compressed kernel to a zstd compressed kernel they saved 2 seconds of boot time.
2. Core (various)
- Task scheduler
(FEATURED) CPU Capacity awareness for SCHED_DEADLINE class, which now attempts to avoid missing task deadlines due to smaller CPU (e.g. big.LITTLE systems) not being capable enough to finish a task in time. This is only supported for now in the idle scenario commit, commit, commit, commit, commit
uclamp: Add a new sysctl to control RT default boost value. On battery powered devices, it is desired to control this default (currently hardcoded) behavior at runtime to reduce energy consumed by RT tasks commit, commit
fanotify: report events with names. With these you can now efficiently monitor whole filesystem, eg to mirror changes to another machine. Two new group flags: FAN_REPORT_NAME, which reports the parent fid and name for directory entry modification events (create/detete/move) and for events on non-directory objects; and FAN_REPORT_DIR_FID which report unique directory id in some cases commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add close_range() syscall. It allows to efficiently close a range of file descriptors up to all file descriptors of a calling task, which is something done by many pieces of software. Eg, close_range(3, ~0U); will close all descriptors past stderr commit, commit, commit, commit
(FEATURED) Add support for zstd compressed initrd and kernel commit, commit, commit, commit, commit, commit, commit, commit
Add the missing support for attaching to time namespaces via pidfds by supporting CLONE_NEWTIME with setns() commit, commit, commit, commit
- io_uring
- seccomp
Add EPOLLHUP support for SECCOMP_RET_USER_NOTIF to more easily detect the death of a monitored process commit, commit, commit, commit, commit
Add seccomp "addfd" notifier ioctl. It is a way for a seccomp user_notif process manager to inject files into the managed process in order to handle emulation of various fd-returning syscalls across security boundaries. Containers folks and Chrome are in need of the feature commit, commit, commit, commit, commit, commit, commit, commit, commit
Report number of loaded filters in /proc/$pid/status commit
speakup screen reader (video console for blind people): Move out of staging commit
- Power management
Make the Energy Model cover non-CPU devices. It will unify the power model for thermal subsystem. It will make simpler to add support for new devices willing to use more advanced features (like Intelligent Power Allocation) commit, commit, commit, commit, commit, commit, commit, commit
Emit changed uevent on wakeup_sysfs_add/remove commit
gcc-plugins/stackleak: improvements of the stackleak gcc plugin commit, commit, commit, commit
kasan: support stack instrumentation for tag-based mode commit, commit, commit, commit, commit
bootconfig: Add value override operator commit, commit, commit
- driver core
Remove system call sys_sysctl commit
initrd: remove support for multiple floppies commit
Makefile: add debug option to enable function aligned on 32 bytes commit
kdump: append kernel build-id string to VMCOREINFO commit
Generic implementation of common syscall, interrupt and exception entry/exit functionality commit, commit, commit, commit, commit
seqlocks: merge preparatory changes/cleanups for the 'associated locks' facilities commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
3. File systems
- Btrfs
Introduce new rescue mount option to group all existing mount options for recovery. usebackuproot is an alias for rescue=usebackuproot and nologreplay is an alias for rescue=nologreplay commit
Better fsync() performance (12% decrease on max latency reported by dbench) commit, commit, commit, commit
Massive speed up of parallel fsync by reducing number of checksum tree lookups and contention, the improvements start to show up with 2 tasks with +20% throughput and -16% runtime up to 64 with +200% throughput and -66% runtime commit, commit, commit
Speed up parallel fsync of files with reflinked/deduped extents, with jobs 16 to 1024 the throughput gets improved roughly by 50% on average and runtime decreased roughly by 30% on average commit
Prefetch chunck tree leaves at mount (can improve mount speed in multi-TB file systems) commit
FS_INFO ioctl enhancements: add flags to request/describe newly added items, add item with numeric checksum type and checksum size to deal with new checksum types, add item with the file system generation, add item with the metadata UUID commit, commit, commit
qgroup: export qgroups in sysfs commit
Start deprecation of mount option inode_cache commit
Remove deprecated mount option subvolrootid commit
Remove deprecated mount option alloc_start commit
sysfs: add bdi link to the fsid directory commit
- XFS
Rework inode flushing to make inode reclaim fully asynchronous 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
Support that ioctl(SETXFLAGS/GETXFLAGS) can set/get inode DAX commit
- ext4
- F2FS
- NFS
(FEATURED) NFS v4.2 User xattr support (RFC 8276), Server side commit, commit, commit, commit, commit, commit, commit, commit, commit, Client side commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC commit
- UBIFS
Add option to specify version for new file systems commit
- ZONEFS
Add support for zone capacity to zonefs. For devices which expose a zone capacity that is different to the zone's size, the maximum zonefs file size will be set to the zone's (usable) capacity, not the zone size commit
- Ceph
- AFS
Expose information from afs_vlserver through /proc for debugging commit
- DLM
4. Memory management
(FEATURED) Implement workingset protection and detection on the anonymous LRU page list. In the previous implementation, newly created or swap-in anonymous (ie. malloc'ed) page were started on the active list, which can demote pages being actively used to the inactive list. In this release, newly created or swap-in anonoymous pages are started in the inactive list, and only promoted to the active list when they are referenced enough. Aditionally, because these changes can cause newly created or swap-in anonymous pages to swap-out existing pages in the inactive list, workingset detection has been extended to deal with the anonymous LRU list to make more optimal decisions commit, commit, commit, commit, commit, commit
(FEATURED) New cgroup slab memory controller. It allows to share slab pages between memory cgroups. This leads to a significant win in the slab utilization (up to 45%) and the corresponding drop in the total kernel memory footprint. The reduced number of unmovable slab pages should also have a positive effect on the memory fragmentation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Proactive compaction, instead of on-demand. A new sysctl, vm.compaction_proactiveness, is added which dictates bounds for external fragmentation which kcompactd tries to maintain commit
Transparent Huge Pages in the page cache, preparation patches commit, commit, commit, commit, commit, commit, commit
- SLUB
Extend the slub_debug boot parameter syntax so that multiple blocks of either global or slab-specific options can be specified, with blocks delimited by ';' commit
Reduce slub_debug overhead in cases where it's compiled in but not enabled during boot, with a static key commit, commit, commit, commit
Make some sysfs attributes read only commit, commit, commit, commit
vmstat: new VM events which will help in validating THP migration without split commit
vmstat: Add pgreuse counter, measures when a page is reused for COW commit
Make updates to vm_committed_as stat more scalable commit, commit, commit, commit
memcg: Add percpu memory accounting to memory cgroups commit, commit, commit, commit, commit
tmpfs: To reduce risk of inode number overflows in tmpfs, make inode numbers per-superblock and add inode64 support commit, commit
5. Block layer
fscrypt: Adds support for Inline Encryption using inline encryption hardware. Now when an ext4 or f2fs filesystem is mounted with '-o inlinecrypt', the contents of encrypted files will be encrypted/decrypted via blk-crypto, instead of directly using the crypto API. This model allows taking advantage of the inline encryption hardware that is integrated into the UFS or eMMC host controllers on most mobile SoCs commit, commit, commit, commit, commit, commit, commit, commit
bcache: extent bucket_size from 16bit to 32bit width. This is the code base for next step to use zoned device as cache device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Export max open zones and max active zones to sysfs commit, commit
blk-cgroup: show global disk stats in root cgroup io.stat commit
- Device mapper
- md
6. Tracing, perf and BPF
- BPF
Add a text poke event to record changes to kernel text (i.e. self-modifying code) in order to support tracers like Intel PT decoding through jump labels, kprobes and ftrace trampolines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add a new BPF program type named BPF_PROG_TYPE_SK_LOOKUP, which runs when transport layer is looking up a listening socket for a new connection request (TCP), or when looking up an unconnected socket for a packet (UDP). This serves as a mechanism to overcome the limits of the bind() API. Two use-cases driving this work are: 1) steer packets destined to an IP range, fixed port to a single socket, 2) steer packets destined to an IP address, any port to a single socket commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
XDP link: Following cgroup and netns examples, implement bpf_link support for XDP commit, commit, commit, commit, commit, commit, commit, commit, commit
Add BPF_CGROUP_INET_SOCK_RELEASE hook. Sometimes it's handy to know when the socket gets freed. In particular, we'd like to try to use a smarter allocation of ports for bpf_bind and explore the possibility of limiting the number of SOCK_DGRAM sockets the process can have commit, commit, commit, commit
Add support of SO_KEEPALIVE flag and TCP related options to bpf_setsockopt() routine. This is helpful if we want to enable or tune TCP keepalive for applications which don't do it in the userspace code commit
Add d_path helper - preparation changes commit, commit, commit, commit, commit, commit, commit, commit, commit
Add new BPF link operation that allows processes with BPF link FD to force-detach it from respective BPF hook, similarly how BPF link is auto-detached when such BPF hook (e.g., cgroup, net_device, netns, etc) is removed. This facility allows admin to forcefully undo BPF link attachment, while process that created BPF link in the first place is left intact. Once force-detached, BPF link stays valid in the kernel as long as there is at least one FD open against it commit, commit, commit, commit, commit
Expose socket storage to BPF_PROG_TYPE_CGROUP_SOCK commit
Implement bpf iterator for map elements. User can have a bpf program in kernel to run with each map element, do checking, filtering, aggregation, modifying values etc. without copying data to user space commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Iterator for tcp and udp sockets. This gives great flexibility for users to examine kernel data structure without using e.g. /proc/net commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduces a new helper bpf_get_task_stack() commit, commit, commit, commit
Make BPF CGROUP_STORAGE map usable by different programs at once commit, commit, commit, commit, commit
Support access to bpf map fields commit, commit, commit, commit, commit
Introduce the capability to attach and run a XDP program to CPUMAP entries. The idea behind this feature is to add the possibility to define on which CPU run the eBPF program if the underlying hw does not support RSS commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: Add generic and raw BTF parsing APIs to libbpf commit, commit, commit
libbpf: ksym support and bpftool show PIDs commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: Support disabling auto-loading BPF programs commit, commit
- perf
Enhance the perf ftrace functionality so that we can make full use of kernel ftrace with perf. Two classes of changes are added: usability of existing functions is improved, and new options to support all other ftrace functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Support 'start disabled', 'enable' and 'disable' external control commands which can be provided for stat and record modes of the tool from an external controlling process. 'start disabled' command can be used to postpone enabling of events in the beginning of a monitoring session. 'enable' and 'disable' commands can be used to enable and disable events correspondingly any time after the start of the session. The 'start disabled', 'enable' and 'disable' external control commands can be used to focus measurement on specially selected time intervals of workload execution. Focused measurement reduces tool intrusion and influence on workload behavior, reduces distortion and amount of collected and stored data, mitigates data accuracy loss because measurement and data capturing happen only during intervals of interest
Support enable and disable commands in stat and record modes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf bench: Add basic syscall benchmark commit
Add support to convert and store time of day in CTF data conversion for 'perf data convert' subcommand. New --tod option is added to 'perf data convert' subcommand to convert data with timestamps converted to wall clock time commit
perf tests: Add metrics tests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Proper cap_user_time* support commit, commit, commit, commit, commit, commit, commit
7. Virtualization
virt: vbox: Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl commit, commit, commit, commit
8. Security
capabilities: Introduce CAP_CHECKPOINT_RESTORE, a new security capability that facilitates using checkpoint/restore by non-root users commit, commit, commit, commit, commit, commit, commit
audit: log nftables configuration change events commit
ima: extends the supported IMA rule conditionals for the KEXEC_CMDLINE hook function commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow using Clang's zero initialization for stack variables commit
selinux: allow reading labels before policy is loaded commit
Make TPM2 logs accessible for non-UEFI firmware commit, commit
9. Networking
- TCP
Improve handling of DSACK covering multiple segments (add new SNMP counter) commit, commit
Add the earliest departure time of the timestamped skb to SCM_TIMESTAMPING_OPT_STATS. By tracking EDT values of the skb from different timestamps, we can observe when and how much the value changed. This allows to measure the precise delay injected on the sender host e.g. by a bpf-base throttler commit
Segmentation offload: expand to UDP support commit, commit, commit, commit, commit
multipath: add full DATA_FIN support at connection shutdown / close commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
multipath: Add REUSEADDR/REUSEPORT/V6ONLY setsockopt support commit, commit, commit
multipath: Add syn cookie support commit, commit, commit, commit, commit, commit, commit, commit, commit
multipath: introduce basic mptcp sockets diag support commit, commit, commit, commit
Support PMTU discovery with bridged UDP tunnels commit, commit, commit, commit, commit, commit
geneve: adds transport ports information for route lookup so that IPsec can select Geneve tunnel traffic to do encryption. This is needed for OVS/OVN IPsec with encrypted Geneve tunnels commit
- Netfilter
Introduce support for reject at prerouting stage commit
Extend the nftables netlink API to support for anonymous non-base chains. Anonymous non-base chains have two properties: 1) The kernel dynamically allocates the (internal) chain name, 2) If the rule that refers to the anonymous chain is removed, then the anonymous chain and its content is also released commit, commit, commit, commit, commit, commit, commit
Add extended netlink error reporting for expression commit
- Bluetooth
Add support for Advertisement Monitor API. The commands and events added are: Read Advertisement Monitor Feature, Add Advertisement Pattern Monitor, Remove Advertisement Monitor, Advertisement Monitor Added event, Advertisement Monitor Removed event commit, commit, commit, commit, commit, commit, commit
Add functionality to disable and remove advertising instances, and use that functionality in MGMT add/remove advertising calls commit
Add support for BT_PKT_STATUS CMSG data for SCO connections commit
Adding a configurable autoconnect timeout commit
Add support to enable LL privacy using mgmt with existing set_privacy command commit, commit, commit, commit, commit, commit, commit, commit
Add support for reading and setting default system parameters from userspace. In particular, combined with the userspace changes, allows platforms to override default system parameters from a main.conf file commit, commit, commit
le_simult_central_peripheral experimental feature which allows a clients to determine if the controller is able to support peripheral and central connections separately and at the same time commit
Add ethtool extended link state commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
batman-adv: Introduce a configurable per interface hop penalty commit
bonding: initial support for hardware crypto offload commit, commit, commit, commit
- bridge
mrp: Add support for interconnect ring. An interconnect ring is a ring that connects 2 rings. In this way is possible to connect multiple rings commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fdb activity tracking. Adds extensions needed for EVPN multi-homing proper and efficient mac sync commit, commit, commit, commit
mrp: Add support for getting the status commit, commit, commit
- mac80211
DCCP: Add SIOCOUTQ ioctl to get the send buffer fill of a DCCP socket, like UDP and TCP sockets already have commit
- devlink
Expose port split attributes commit, commit, commit, commit, commit, commit, commit, commit, commit
Add devlink-health support for devlink ports commit, commit, commit, commit, commit, commit, commit
Add support for board.serial_number to devlink info_get cb commit
Support get,set mac address of a port function commit, commit, commit, commit, commit, commit, commit, commit, commit
ethtool: add support for 100 Gbps per lane link modes commit
udp_tunnel: add NIC RX port offload infrastructure commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Packet classifier
Add stream gate action policing in IEEE802.1Qci (Per-Stream Filtering and Policing) software support and hardware offload support in tc flower commit, commit, commit, commit
Introduce qevents. Those are attach points for TC blocks, where filters can be put that are executed as the packet hits well-defined points in the qdisc algorithms. The attached blocks can be shared, in a manner similar to clsact ingress and egress blocks, arbitrary classifiers with arbitrary actions can be put on them, etc commit, commit, commit, commit
sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling commit
Allow changing default qdisc to FQ-PIE commit
Introduce an extention to the cls flower classifier and allows user to add rules that match on the hash value that is stored in skb->hash while assuming the value was set prior to the classification commit, commit
qos offload add flow status with dropped count commit
Add support for Parallel Redundancy Protocol (PRP) - a network protocol standard for Ethernet that provides seamless failover against failure of any network component - in the Linux HSR driver as defined in IEC-62439-3 commit, commit, commit, commit, commit, commit, commit
- Transformation (IPsec)
Adds a "strict mode" to the Virtual Routing and Forwarding infrastructure (VRF). It imposes that each VRF can be associated to a routing table only if such routing table is not already in use by any other VRF. The strict mode feature is designed to be network-namespace aware and it can be directly enabled/disabled acting on the "strict_mode" parameter commit, commit, commit, commit, commit
Phylink PCS updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- rtnetlink
TIPC: update a binding service via broadcast commit
TLS: allow MSG_CMSG_COMPAT in sendmsg commit
XDP: introduce new statistics for af_xdp: drops due to rx ring being full, drops due to fill ring being empty, and failures pulling an item from the tx ring commit, commit, commit
10. Architectures
10.1. ARM
New SoCs
Initial support for two chips made by MStar, a taiwanese SoC manufacturer that became part of Mediatek in 2012. For now, the added support is fairly minimal, with just two of its Cortex-A7 based 32-bit camera chips getting support for a limited set of on-chip peripherals commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Microchip adds support for their new Sparx5 family of Ethernet switch chips using 64-bit Cortex-A53 cores. These are descended from earlier VSC7xxx SparX and Ocelot chips using 32-bit MIPS cores commit, commit, commit, commit, commit, commit, commit, commit
Intel adds support for the new Keem Bay SoC for computer vision, built around a Movidius VPU with Linux running on Arm Cortex-A53 cores commit, commit, commit, commit, commit
Amazon Alpine v3, a 16-core Cortex-A72 SoC from Amazon's Annapurna Labs, otherwise known as AL73400 or first-generation GravitonThis one is added together with the official Evaluation platform commit, commit
Qualcomm Snapdragon SDM630, a family of mid-range mobile phone chips from 2017 based on Cortex-A53 or Kryo 260 CPUs. A total of five end-user products are added based on these, all Android phones from Sony: Xperia 10, 10 Plus, XA2, XA2 Plus and XA2 Ultra commit, commit, commit
Renesas RZ/G2H (r8a774e1), currently the top model in the Renesas RZ/G family, closely related to the RZ/G2N and RZ/G2M models already supportted but has a faster GPU and additional on-chip peripherals. It is added along with the HopeRun HiHope RZ/G2H development board commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- New boards
Allwinner sunxi: revision v1.2 of the Pine64 PinePhone smartphone commit
Amlogic Meson: WeTek Core2, an Amlogic S912 (GXM) based set-top box commit
Aspeed: EthanolX, AMD's EPYC data center rerence platform, using an ASpeed AST2600 baseboard management controller commit
Mediatek: Lenovo IdeaPad Duet 10.1" (kukui/krane), a new Chromebook based on the MT8183 (Helio P60t) SoC commit
Nvidia Tegra: ASUS Google Nexus 7 and Acer Iconia Tab A500, two Android tablets from around 2012 using Tegra 3 and Tegra 2, respectively commit, commit
Nvidia Tegra: The Jetson Xavier NX Developer Kit uses a SoM and carrier board for the Tegra194, their latest 64-bit chip based on Carmel CPU cores and Volta graphics commit
NXP i.MX: Five new boards based on the 32-bit i.MX6 series are added: The MYiR MYS-6ULX single-board computer, and four different models of industrial computers from Protonic commit, commit, commit, commit, commit
Qualcomm: MikroTik RouterBoard 3011, a rackmounted router based on the 32-bit IPQ8064 networking SoC commit
Qualcomm: Three older phones get added, the Snapdragon 808 (msm8992) based Xiaomi Libra (Mi 4C) and Microsoft Lumia 950, originally running Windows Phone, and the Snapdragon 810 (msm8994) based Sony Xperia Z5 commit, commit, commit
Renesas: In addition to the HiHope RZ/G2H board mentioned above, this release gains support for board versions 3.0 and 4.0 of the earlier RZ/G2M and RZ/G2N reference boards. Beacon EmbeddedWorks adds another SoM+Carrier development board for RZ/G2M commit, commit, commit, commit, commit, commit, commit, commit
Rockchips: Radxa Rock Pi N8 development board and the VMARC RK3288 SoM it is based on, using the high-end 32-bit rk3288 SoC commit, commit
imx6qdl-gw: add Gateworks System Controller support commit
Inline crypto support on DragonBoard 845c using the Qualcomm Inline Crypto Engine commit, commit, commit, commit
Append new variables to vmcoreinfo (TCR_EL1.T1SZ for arm64 and MAX_PHYSMEM_BITS for all archs) commit, commit
coresight: etm4x: Add support to skip trace unit power up commit
- ARM64
perf: Expose some new events via sysfs commit
KVM: Pointer Authentication available for guests on nVHE hosts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
10.2. PowerPC
Remove PROT_SAO (specialised system software) support commit, commit, commit
Support queued spinlocks and rwlocks, which improves massively the performance in some cases commit, commit, commit, commit, commit, commit
Support for a new faster system call ABI using the scv instruction on Power9 or later commit, commit
book3s64: Add kernel command line option to disable radix GTSE commit
papr_scm: add support for reporting NVDIMM 'life_used_percentage' metric commit, commit
Support new flush and sync instructions for persistent storage and sync commit, commit, commit, commit, commit, commit, commit
Add support for divde[.] and divdeu[.] instruction emulation commit, commit, commit
watchpoint: Enable 2nd DAWR on baremetal and powervm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
Add support for power10 PMU Hardware commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf stat: Update POWER9 metrics to utilize other metrics commit
perf vendor events power9: Added nest imc metric events commit
Add cpu hotplug support for powerpc/perf/hv-24x7 commit, commit
KVM: Book3SHV: Enable support for ISA v3.1 guests commit
10.3. x86
(FEATURED) Enable FSGSBASE instructions, used in 64-bit mode to allow direct access to the FS and GS segment base addresses. In addition to benefits to applications, performance improvements to the OS context switch code are possible by making use of these instructions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add functionality to disable writing to MSRs from userspace. Writes can still be allowed by supplying the allow_writes=on module parameter. The kernel will be tainted so that it shows in oopses commit
Support Architectural LBR. LBR (Last Branch Records) enables recording of software path history by logging taken branches and other flows within architectural registers. Architectural LBRs generalize the model specific LBR hardware tracing feature into a model-independent, architected performance monitoring feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family commit
x86/split_lock: Enable the split lock feature on Sapphire Rapids and Alder Lake CPUs commit
- Platforms
asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15 commit
dell-wmi: add new keymap type 0x0012 commit
mlx-platform: support new watchdog type with longer timeout commit
chrome: support Thunderbolt compatibility mode commit, commit
Add support to configure various Type C switches appropriately using the Type C connector class API commit
Add new intel_atomisp2_led driver commit
ISST: Add new PCI device ids commit
- powercap
- KVM
XEN: remove 32-bit Xen PV guest support commit
- perf
intel_idle: Customize IceLake server support commit
crypto: aesni: add compatibility with IAS commit
10.4. RISC-V
Add STACKPROTECTOR supported commit
Add kmemleak support commit
Allow building with kcov coverage commit
Enable LOCKDEP_SUPPORT & fixup TRACE_IRQFLAGS_SUPPORT commit
Enable context tracking commit
Enables using compressed riscv (RVC) instructions in the rv64 BPF JIT commit, commit, commit
10.5. MIPS
ingenic: Add support for the RS90 board commit
ingenic: Add support for the JZ4725B SoC commit
Add support for Ingenic X1830 SoC and Y&A CU1830-Neo board commit, commit
Loongson64: DeviceTree for LS7A PCH commit
Add X2000 system type commit
KVM: Add kvm guest support for Loongson-3 commit
Retire kvm paravirtualization support (it's host side support and QEMU support never landed in upstream) commit
10.6. C-SKY
Add SECCOMP_FILTER support commit
Add context tracking support commit
Use top-down mmap layout commit
10.7. Xtensa
10.8. S390
Implements BPF_PROBE_MEM opcode, which is used in BPF programs that walk chains of kernel pointers commit, commit, commit
Provide cex4 cca sysfs attributes for cex3 commit
10.9. SH
10.10. SPARC
10.11. UNICORE32
Remove unicore32 port commit
10.12. OpenRISC
Add support for external initrd images commit
11. Drivers
11.1. Graphics
- amdgpu
Initial support for Sienna Cichlid GPU merge
Initial support for Navy Flounder GPU merge
Expose rotation property commit
Add support for unique id on Arcturus commit
amdkfd: Track SDMA usage per process commit
SMI events interface commit
Add module parameter choose reset mode commit
Added a sysfs interface for thermal throttling related V4 commit
- Intel
- panel
- msm
- ingenic
- tegra
- meson
- drm_fourcc
- xen-front
Add YUYV to supported formats commit
- nouveau
Add CRC support commit
- radeon
Default to on chip GART for AGP boards on all arches commit
- xilinx
New Xilinx ZynqMP DisplayPort Subsystem driver commit
- vkms
Larger cursor support commit
- rockchip
Add per-pixel alpha support for the PX30 VOP commit
- mgag200
Dropped hw cursor support commit
- fbdev
Remove fb-puv3 driver commit
- backlight
11.2. Power Management
ACPI/NVDIMM: Runtime Firmware Activation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- thermal
genetlink support for events/cmd/sampling commit
intel: intel_pch_thermal: Add Cannon Lake Low Power PCH support commit
rcar_gen3_thermal: Add r8a774e1 support commit
qcom: tsens-v0_1: Add support for MSM8939 commit
mediatek: Add tsensor support for V2 thermal system commit
Add support for the MCU controlled FAN on Khadas boards commit
tools/power/x86/intel-speed-select: Add option to delay mbox commands commit, add retries for mail box commands commit
11.3. Storage
- nvme
Support for the Zoned Namespace (ZNS) Command Set defined in TP4053, and the Namespace Types base support it depends on from TP4056 commit, commit, commit, commit, commit
nvmet: add target passthru commands support commit, commit, commit, commit, commit, commit, commit, commit, commit
pci: add support for ACPI StorageD3Enable property commit
- scsi
cxgb4i: Add support for iSCSI segmentation offload commit
lpfc: Add blk_io_poll support for latency improvment commit
qla2xxx SAN Congestion Management (SCM) support commit, commit
ufs-mediatek: Add inline encryption support commit
Add compatibility with 3.1 UFS unit descriptor length commit
scsi_debug: Implement tur_ms_to_ready parameter commit
scsi_debug: Support hostwide tags commit
exynos-ufs: Add support for UFS HCI commit, commit, commit, commit, commit, commit
11.4. Drivers in the Staging area
most: add USB adapter driver commit
media: allegro: add support for allegro firmware 2019.2 commit
wfx: add a debugfs entry to force ps_timeout commit
media/soc_camera: remove this driver commit
11.5. Networking
Bluetooth: btusb: add Realtek 8822CE to usb_device_id table commit
- RDMA
efa: Add support for 0xefa1 device commit, commit, commit, commit
RAW format dumps through RDMAtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce UAPIs to query UCONTEXT, PD and MR properties commit, commit, commit, commit, commit, commit, commit
qedr: Add EDPM kernel-user flags for feature compatibility commit, commit
amd-xgbe: Add support for new port mode commit
- ath11k
- atlantic
Adds several features: media detect, additional per-queue stats, PTP stats, ipv6 support for TCP LSO and UDP GSO, 64-bit operations, A0 ntuple filters, MAC temperature (hwmon) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds more features to A2: half duplex rates, EEE, flow control, link partner capabilities reporting, phy loopback commit, commit, commit, commit, commit, commit
MACSec offload statistics checkpatch fix commit
Add support for FW 4.x commit
bcmgenet: Allow changing carrier from user-space commit
- bnx2x
- bnxt_en
broadcom: Add support for VLAN transmit acceleration commit
- cxgb4
dm9601: Add USB ID of Keenetic Plus DSL commit
dp83869: Add RGMII internal delay configuration commit
- dpaa2-eth
- dsa
felix: introduce support for Seville VSC9953 switch commit
felix: support half-duplex link modes commit
loop: Support 4K VLANs commit
mv88e6xxx: Implement MTU change commit
mv88e6xxx: Support jumbo configuration on 6190/6190X commit
qca8k: Add 802.1q VLAN support commit
rtl8366rb: Support the CPU DSA tag commit
tag_rtl4_a: Implement Realtek 4 byte A tag commit
- ena
- enetc
- hinic
hv_netvsc: add support for vlans in AF_PACKET mode commit
- i40e
- ice
Add advanced power mgmt for WoL commit
Add link lenient and default override support commit
Add useful statistics commit
Implement snapshot for device capabilities commit
Support Total Port Shutdown on devices that support it commit
Support for updating the ice hardware flash using the devlink flash command commit, commit, commit, commit, commit
- igc
iwlwifi: Extended Key ID support for mvm and dvm commit
ixgbe: Add ethtool support to enable 2.5 and 5.0 Gbps support commit
macb: Wake-on-Lan magic packet GEM and MACB handling commit, commit
- mlx5
RX XFRM ipsec offloads for ConnectX devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Added support for 100Gbps per lane link modes commit
TLS rx offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable users to change VF/PF representors carrier state commit
Offload TC action pedit munge tcp/udp sport/dport commit, commit, commit, commit
Offload tc police action commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for buffer drops mirroring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for buffer drop traps commit, commit, commit, commit, commit, commit, commit, commit, commit
Add ethtool extended link state commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Mirror to CPU preparations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mscc
- mt76
- phy
at803x: add mdix configuration support for AR9331 and AR8035 commit
marvell10g: support XFI rate matching mode commit
marvell: Add Marvell 88E1340S support commit
marvell: Add Marvell 88E1548P support commit
mscc: timestamping and PHC support commit
realtek: add support for RTL8125B-internal PHY commit
qed, qede: improve chain API and add XDP_REDIRECT support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qed, qede: add support for new operating modes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
r8169: add support for RTL8125B commit
- rtw88
sfc_ef100: driver for EF100 family NICs. Prerequisites: 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. Driver 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
stmmac: Support WOL with phy commit
VDPA support for Mellanox ConnectX devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ti: am65-cpsw-nuss: enable am65x sr2.0 support commit
wilc1000: move wilc driver out of staging, this drivers supports Microchip AVR/SMART MCUs, SMART MPUs, and other processors commit
xen networking: add XDP support to xen-netfront commit, commit, commit
11.6. Audio
- hda
hdmi: Add Intel silent stream support, which keeps external HDMI receiver's analog circuitry powered on avoiding 2-3 sec silence during playback start commit
realtek: Add model alc298-samsung-headphone commit
realtek: Enable front panel headset LED on Lenovo ThinkStation P520 commit
hdmi: add Rocketlake support commit
line6: add hw monitor volume control for POD HD500 commit
usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2 commit
usb-audio: Add capture support for Saffire 6 (USB 1.1) commit
usb-audio: Add support for Lenovo ThinkStation P620 commit
usb-audio: Creative USB X-Fi Pro SB1095 volume knob support commit
- ASoC:
Intel: KMB: Add 8kHz audio support commit
Intel: bxt-da7219-max98357a: support MAX98390 speaker amp commit
Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver commit
Intel: sof_sdw: Add MAX98373 support commit
Intel: sof_sdw: add support for systems without i915 audio commit
SOF: imx8: Add SAI dai driver for i.MX/i.MX8X commit
amd: Adding support for ALC1015 codec in machine driver commit
codecs: max98373: add SoundWire support commit
fsl-asoc-card: Add MQS support commit
fsl-asoc-card: Support Headphone and Microphone Jack detection commit
fsl_spdif: Add support for imx6sx platform commit
intel: sof_rt5682: Add support for jsl-max98360a-rt5682 commit
mediatek: mt6358: support DMIC one-wire mode commit
mediatek: mt8183-da7219: support HDMI jack reporting commit
mediatek: mt8183: support HDMI jack reporting commit
mediatek: mt8183: support machine driver with max98357b commit
mediatek: mt8183: support machine driver for rt1015 commit, commit
rl6231: Add new supports on rl6231 commit
samsung: Add driver for Aries boards commit
samsung: Add sound support for Midas boards commit
tegra: add ASoC components for AHUB. The Audio Hub (AHUB) is part of the Audio Processing Engine (APE) which comprises a collection of hardware accelerators for audio pre-processing and post-processing commit, commit, commit, commit, commit, commit
ti: Add custom machine driver for j721e EVM (CPB and IVI) commit
tlv320adcx140: Add ASI enable for channel 5-8 commit
wm8960: Support headphone jack detection function commit
11.7. Tablets, touch screens, keyboards, mouses
trackpoint: add new trackpoint variant IDs commit
elan_i2c: add support for high resolution reports commit
i8042: remove support for 8042-unicore32io commit
- HID
11.8. TV tuners, webcams, video capturers
i2c: Add MAX9286 driver commit
i2c: Add RDACM20 driver commit
i2c: dw9768: Add DW9768 VCM driver commit
i2c: improvements to IMX290 CMOS sensor: 2 lane support, configurable link frequency & pixel rate, test pattern generation, and RAW12 mode support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rc: add support for Infrared Toy and IR Droid devices commit
rcar-csi2: Add support for MEDIA_BUS_FMT_SRGGB8_1X8 format commit
rcar-vin: Add support for MEDIA_BUS_FMT_SRGGB8_1X8 format commit
xilinx: Add Xilinx MIPI CSI-2 Rx Subsystem driver commit
vimc: Add a control to display info on test image commit
11.9. Universal Serial Bus / Thunderbolt
Add additional Device Classes to debug/usb/devices commit
serial: console: add support for flow control commit
serial: cp210x: add support for line-status events commit, commit, commit, commit, commit
serial: ftdi_sio: add IDs for Xsens Mti USB converter commit
serial: option: add support for SIM7070/SIM7080/SIM7090 modules commit
serial: option: support dynamic Quectel USB compositions commit
serial: qcserial: add EM7305 QDL product ID commit
typec: intel_pmc_mux: Add support for USB4 commit
xhci: define IDs for various ASMedia host controllers commit
PHY: JZ4770: Add support for new Ingenic SoCs commit
Improves the Thunderbolt/USB4 driver to support tree topologies that are now possible with USB4 devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Thunderbolt: Allow userland to flush the image to hardware at runtime, and then allow authenticating the image at another time commit, commit
Thunderbolt: Add retimer NVM upgrade support commit, commit, commit, commit, commit, commit
11.10. Serial Peripheral Interface (SPI)
Add Renesas RPC-IF driver commit
lantiq: Add support to Lightning Mountain SoC commit
mediatek: add spi support for mt8192 IC commit
11.11. Watchdog
dw_wdt: Take Baikal-T1 DW WDT peculiarities into account commit, commit, commit, commit, commit, commit, commit
Support watchdog with longer timeout period commit, commit, commit, commit
booke_wdt: Add common nowayout parameter driver commit
softdog: Add module options soft_reboot_cmd and soft_active_on_boot commit
11.12. Serial
imx: add imx earlycon driver commit
8250_pci: Add Realtek 816a and 816b commit
stm32: Add RS485 RTS GPIO control commit
11.13. CPU Frequency scaling
Allow to specify their CPUfreq governor of choice using the kernel command line (cpufreq.default_governor= parameter), instead of having to wait for the system to fully boot to userspace to switch using the sysfs interface commit, commit
Add Tegra194 cpufreq driver commit
brcmstb-avs-cpufreq: Support polling AVS firmware commit
cpufreq: intel_pstate: Support setting a raw energy performance value in energy_performance_preference; also add an additional attribute energy_efficiency under /sys/devices/system/cpu/intel_pstate/ which allows to enable and disable the "Disable Energy Efficiency Optimization" bit commit, commit
intel_pstate: Implement passive mode with HWP enabled commit
make schedutil the default for arm and arm64 commit
11.14. Device Voltage and Frequency Scaling
Add the delayed timer to devfreq framework in order to support the periodical polling mode without stop caused by CPU idle state. Can be set by users with "echo delayed > /sys/class/devfreq/10c20000.memory-controller/timer" commit, commit
11.15. Voltage, current regulators, power capping, power supply
power: reset: add driver for LinkStation power off commit
power: supply: bq25150 introduce the bq25150 commit
power: supply: bq27xxx_battery: Add the BQ27Z561 Battery monitor commit
power: supply: bq27xxx_battery: Add the BQ28z610 Battery monitor commit
power: supply: sbs-battery: add PEC support commit
power: supply: wilco_ec: Add long life charging mode commit
Add support for voltage regulator on ChromeOS EC commit, commit, commit
- regulator
11.16. Real Time Clock (RTC)
pcf2127: add pca2129 device id commit
pcf2127: add alarm support commit
Remove fb-puv3 driver commit
11.17. Pin Controllers (pinctrl)
intel: Add Intel Emmitsburg pin controller support commit
Add basic SoC Support for Mediatek MT6779 SoC commit, commit, commit, commit
ocelot: Add Sparx5 SoC support commit
qcom: ipq4019: add open drain support commit
sh-pfc: pfc-r8a77951: Add R8A774E1 PFC support commit
tigerlake: Add support for Tiger Lake-H commit
11.18. MultiMediaCard (MMC)
mediatek: add MT6779 MMC driver support commit
mediatek: command queue support commit
sdhci-msm: Add interconnect bandwidth scaling support commit
sdhci_am654: Add Support for SR2.0 commit
11.19. Memory Technology Devices (MTD)
spi-nor: intel-spi: Add support for Intel Emmitsburg SPI serial flash commit
spi-nor: intel-spi: Add support for Intel Tiger Lake-H SPI serial flash commit
spi-nor: macronix: Add support for MX25R1635F commit
spi-nor: macronix: Add support for mx66u2g45g commit
spi-nor: winbond: Add support for w25q64jvm commit
11.20. Industrial I/O (iio)
Ingenic JZ47xx: Add touchscreen mode commit
accel: bma400: add support for bma400 spi commit
accel: mxc4005: add support for mxc6655 commit
adc: Add support for PMIC7 ADC commit
adc: rockchip_saradc: Add support iio buffers commit
chemical: Add support for SCD30 sensor commit, commit, commit
imu: new inv_icm42600 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imu: bmi160: added regulator and mount-matrix support commit, commit
light: stk3310: add chip id for STK3311-X variant commit
11.21. Multi Function Devices (MFD)
Add support for the Khadas System control Microcontroller commit
da9063: Add support for latest DA silicon revision commit
intel-lpss: Add Intel Emmitsburg PCH PCI IDs commit
intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs commit
smsc-ece1099: Remove driver commit
11.22. Pulse-Width Modulation (PWM)
Remove pwm-puv3 driver commit
11.23. Inter-Integrated Circuit (I2C + I3C)
designware: Add device HID for Hygon I2C controller commit
i801: Add support for Intel Emmitsburg PCH commit
i801: Add support for Intel Tiger Lake PCH-H commit
mediatek: Add apdma sync in i2c driver commit
Remove i2c-puv3 driver commit
11.24. Hardware monitoring (hwmon)
Add Corsair Commander Pro driver commit
corsair-cpro: add reading pwm values commit
pmbus/max20730: Add max20710 support commit
sparx5: Add Sparx5 SoC temperature driver commit
11.25. General Purpose I/O (gpio)
pca953x: Add support for the PCAL9535 commit
pca9570: add GPO driver for PCA9570 commit
zynq: Add Versal support commit
11.26. LEDs
Add a multi color LED framework. This framework presents clustered colored LEDs into an array and allows the user space to adjust the brightness of the cluster using a single file write. The individual colored LEDs intensities are controlled via a single file that is an array of LEDs commit, commit, commit, commit, commit, commit, commit
Initial support for Turris Omnia LEDs commit
11.27. DMA engines
Actions: Add support for S700 DMA engine commit
11.28. Hardware Random Number Generator (hwrng)
ba431: add support for BA431 hwrng commit
11.29. Cryptography hardware acceleration
ingenic: Add hardware RNG for Ingenic JZ4780 and X1000 commit
11.30. PCI
Add Intel QuickAssist device IDs commit
Allow P2PDMA on AMD Zen and newer CPUs commit
cadence: Add MSI-X support to Endpoint driver commit
j721e: Add TI J721E PCIe driver commit
qcom: Add ipq8064 rev2 variant commit
xilinx-cpm: Add Versal CPM Root Port driver commit
11.31. Clock
Add support for enabling/disabling clocks from debugfs commit
Ingenic: Add RTC related clocks for Ingenic SoCs commit
actions: Add RMU and DMAC/GPIO clock support for Actions Semi S500 SoCs commit, commit, commit, commit, commit, commit
at91: add sama7g5 clock support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bcm63xx-gate: add BCM6318 support commit
bcm: Add BCM2711 DVP driver commit
meson: g12a: Add support for NNA CLK source clocks commit
qcom: Enable GPU for SM8150 and SM8250 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: Clock for CPU scaling support for msm8996 commit, commit, commit
qcom: Add ipq6018 apss clock controller commit
qcom: lpass: Add support for LPASS clock controller for SC7180 commit
qcom: Add SMD RPM support for MSM8936 commit, commit, commit, commit, commit, commit, commit
qcom: smd: Add support for MSM8992/4 rpm clocks commit
qcom: smd: Add support for SDM660 rpm clocks commit
renesas: cpg-mssr: Add r8a774e1 support commit
sparx5: Add Sparx5 SoC DPLL clock driver commit
vc5: Allow Versaclock driver to support multiple instances commit
vc5: Enable addition output configurations of the Versaclock commit
clocksource: Add Low Power STM32 timers driver commit
clocksource: Add CLINT timer driver commit
clocksource: timer-atmel-tcb: Add sama5d2 support commit
clocksource: ingenic: Add support for the Ingenic X1000 OST commit
11.32. PHY ("physical layer" framework)
bcm63xx-usbh: Add BCM63xx USBH driver commit
qcom-qmp: Add USB QMP PHY support for IPQ8074 commit
qcom: remove ufs qmp phy driver commit
qualcomm: add qcom ipq806x dwc usb phy driver commit
samsung-ufs: add UFS PHY driver for samsung SoC commit
zynqmp: Add PHY driver for the Xilinx ZynqMP Gigabit Transceiver commit
11.33. Memory Controller Drivers
Add Renesas RPC-IF driver commit
mtk-smi: Add basic support for MT6779 commit
samsung: exynos5422-dmc: Add module param to control IRQ mode commit
stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver commit
tegra: Add EMC scaling sequence code for Tegra210 commit
tegra: Add EMC scaling support code for Tegra210 commit
11.34. Firmware Drivers
arm_scmi: SCMI Notifications Core Support commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend svc and rsu drivers for new RSU features commit, commit, commit, commit
smccc: Add ARCH_SOC_ID support commit
tegra: Add support for in-band debug commit
turris-mox-rwtm: support ECDSA signatures via debugfs commit
11.35. Remote Processors
Add coredump debugfs entry commit
k3-dsp: Add a remoteproc driver of K3 C66x DSPs commit
k3-dsp: Add support for C71x DSPs commit
k3-dsp: Add support for L2RAM loading on C66x DSPs commit
k3: Add TI-SCI processor control helper functions commit
11.36. Various
bus: fsl-mc: Add ACPI support for fsl-mc commit
counter: Add microchip TCB capture counter commit
fpga: Add interrupt support to FPGA DFL drivers commit, commit, commit, commit, commit, commit, commit
fpga: dfl: pci: add device id for Intel FPGA PAC N3000 commit
iommu: NVIDIA ARM SMMU Implementation commit, commit, commit, commit, commit
iommu/mediatek: Add mt6779 basic support commit
iommu/renesas: Add support for r8a77961 commit
irqchip/imx-intmux: Implement intmux runtime power management commit
misc: mei: add device kind to sysfs commit
misc: rtsx: Add support new chip rts5228 mmc: rtsx: Add support MMC_CAP2_NO_MMC commit
nvmem: enables blowing of fuses on Qualcomm SoCs commit, commit, commit, commit
nvmem: sc27xx: add sc2730 efuse support commit
ocxl: control via sysfs whether the FPGA is reloaded on a link reset commit
vdpasim: support batch updating commit
12. List of Pull Requests
13. Other news sites
Phoronix Linux 5.9 feature overview