Size: 161539
Comment:
|
Size: 1055
Comment: typo
|
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]. Before adding things here look at the [#rules RULES] section at the end of the page! | #pragma keywords Linux, Kernel, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
==== 2.6.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [#development below] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r: Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha: convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs: Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64: Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] [[Anchor(development)]] ==== 2.6.17 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * Overview * sys_splice syscall * X86 "SMP alternatives" (optimize the kernel image at runtime, ej: switch between different spinlock implementations depending on the system where the kernel is run or on cpu hotplug/remove) [http://lwn.net/Articles/164121/ (LWN article)] * Lightweight robust futexes [http://lwn.net/Articles/172149/ (LWN article)] * Block queue IO tracing * User-space software suspend interface * New scheduler domain which optimizes scheduling decisions for multi-core CPUs sharing caches * Generic RTC subsystem * Raid5 reshaping support [http://lwn.net/Articles/169140/ (LWN article)] * iptables support for H.323 protocol, 64-to-32bit compatibility for 32-bit iptables userspace tools running in a 64-bit kernel * 64-to-32-bit socket ioctl compatibility * Add support for Router Preference (RFC4191), Router Reachability Probing (RFC4191) and experimental support for Route Information Option in RA (RFC4191) in IPV6 * CCID2 support for DCCP * '''Kernel Core changes''' * Core * Introduce the sys_splice() system call. A pipe is used as small kernel buffer that you can use to transfer data from one end to the other. The idea and first implementation were done by Linus Torvalds [http://marc.theaimsgroup.com/?l=linux-kernel&m=110507985702357&w=2 (mail)], [http://marc.theaimsgroup.com/?l=linux-kernel&m=110511497731192&w=2 (mail)], [http://marc.theaimsgroup.com/?l=linux-kernel&m=110511787707447&w=2 (mail)]. It's a "better sendfile()", it can take input from anything (not just file -> socket) that just has "splice_read()", and move it to anything else, without doing any extra copies of the data. For example, a digital video camera could stream to both a file and live video (or something else) without doubling the buffering and doing memcpy [http://lwn.net/Articles/178199/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5274f052e7b3dbd81935772eb551dfd0325dfa9d (commit)] * Add a new scheduler domain for representing multi-core with shared caches between cores. This makes possible to make clever cpu scheduling decisions on such systems, improving performance greatly for some cases (see commit) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7 (commit)] * Lightweight robust futexes: if a process exits prematurely while holding a pthread_mutex_t lock shared with some other process (e.g. yum segfaults or it's kill -9-ed), then waiters for that lock need to be notified that the last owner of the lock exited in some irregular way. This creates a API to fix that [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/robust-futexes.txt Documentation], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/robust-futex-ABI.txt ABI documentation], [http://lwn.net/Articles/172149/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9056f13bfcdd054a0c3d730e4e096748d8a363a (commit 1)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0771dfefc9e538f077d0b43b6dec19a5a67d0e70 (commit 2)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfd4e3ec246355274c9cf62c6b04a1ee6fa3caba (commit 3)] * Block queue IO tracing support (blktrace). This allows users to see any traffic happening on a block device queue. In other words, you can get very detailed stadistics of what your disks are doing. User space support tools available in: git://brick.kernel.dk/data/git/blktrace.git [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 (commit)] * Cpuset memory spread implementation: Alternative memory allocation policy, if enabled it spreads out these kinds of memory allocations over all the nodes allowed to a task, instead of preferring to place them on the node where the task is executing. All other kinds of allocations, including anonymous pages for a tasks stack and data regions, are not affected by this policy choice, and continue to be allocated preferring the node local to execution, as modified by the NUMA mempolicy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=825a46af5ac171f9f41f794a0a00165588ba1589 (commit 1), [[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=44110fe385af23ca5eee8a6ad4ff55d50339097a (commit 2)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b6a9316fab51af611dc8671f296734089f6a22a (commit 3)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=101a50019ae5e370d73984ee05d56dd3b08f330a (commit 4)] * sync_file_range() syscall [http://lwn.net/Articles/178199/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f79e2abb9bd452d97295f34376dedbec9686b986 (commit)] * Introduce a user space interface for swsusp [http://lwn.net/Articles/153203/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e1819d615f24ce0726a7d0bd3dd0152d7b21654 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f577eb30afdc68233f25d4d82b04102129262365 (commit)] * CONFIG_UNWIND_INFO: Generates frame unwind information [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=604bf5a216e7f2d97cdf62614ca1281921531040 (commit)] * Reduce the size of (struct fdtable) to exactly 64 bytes on 32bits platforms, lowering kmalloc() allocated space by 50% [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c9e63fd38a2fb2181668a0cdd622a3c23cfd567 (commit)] * Optimize select/poll by putting small data sets on the stack instead of using kmalloc for small fd sets, an old optimization from Linux 2.0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70674f95c0a2ea694d5c39f4e514f538a09be36f (commit)] * Implement /proc/slab_allocators [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=871751e25d956ad24f129ca972b7851feaa61d53 (commit)] * New /proc file /proc/self/mountstats, where mounted file systems can export information (configuration options, performance counters, and so on) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4629fe2f094b719847f31be1ee5ab38300038b2 (commit)] * APIs * Deprecate the use of MS_VERBOSE and replace it with MS_SILENT [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b04c997b1120feefa1e6ee8e2902270bc055cd2 (commit)] * Add API for flushing Anon pages [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03beb07664d768db97bf454ae5c9581cd4737bb4 (commit)] * Add flush_kernel_dcache_page() API [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a3a5a98b6422d05c39eaa32c8b3f83840c7b768 (commit)] * 2TB files: Add blkcnt_t as the type of inode.i_blocks. This enables you to make the size of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF. On h8300, i386, mips, powerpc, s390 and sh that define sector_t, blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is defined as unsigned long. On other architectures, it is defined as unsigned long [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0f62ac6362c168754cccb36f196b3dfbddc3bc3 (commit)] * for_each_possible_cpu: defines for_each_possible_cpu, a for-loop over cpu_possible_map. for_each_online_cpu is for-loop cpu over cpu_online_map [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=631d6747e1d877a4baa924cb373b8b9511a53e5e (commit)] * unify page_to_pfn(),pfn_to_page(): There are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM and each arch has its own page_to_pfn(), pfn_to_page() for each models [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a117e66ed45ac0569c039ea60bd7a9a61e031858 (commit)] * Notifier chain: Introduces three new, parallel APIs: one for blocking notifiers, one for atomic notifiers, and one for "raw" notifiers (which is really just the old API under a new name) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e041c683412d5bf44dc2b109053e3b837b71742d (commit)] * add EXPORT_SYMBOL_GPL_FUTURE(): This patch adds the ability to mark symbols that will be changed in the future, so that kernel modules that don't include MODULE_LICENSE("GPL") and use the symbols, will be flagged and printed out to the system log [http://lwn.net/Articles/171838/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f28bb7e1d0188a993403ab39b774785892805e1 (commit)] * Permit Dual-MIT/GPL licenses [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7529c301165079d0f149d0e54724829e602f8fc0 (commit)] * CFQ: * Seek and async performance tuning [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=206dc69b31ca05baac68c75b8ed2ba7dd857d273 (commit)] * Change cfq io context linking from list to tree: Improves performance on setups with many disks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2d74ac0664c89757bde8fb18c98cd7bf53da61c (commit)] * Generic RTC subsystem: This allows users to plug one or more RTCs to the system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/rtc code)]. This removes a number of drivers under drivers/i2c which are implemented in this new subsystem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6fc7f10cee28c7fa190920fefda8c696d5bf3074 (commit)]. * Remove RTC UIP synchronization [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63732c2f37093d63102d53e70866cf87bf0c0479 (commit)] * debugfs: Add debugfs_create_blob() helper for exporting binary data [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd308bc355a1aa4f202fe9a3133b6c676cb9606c (commit)] * relayfs: migrate from relayfs to a generic relay API [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b86ff981a8252d83d6a7719ae09f3a05307e3592 (commit)] * relay: add sendfile() support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=221415d76231d9012871e6e6abcbad906c46626a (commit)] * Enable mprotect on huge pages [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f860591ffb29738cf5539b6fbf27f50dcdeb380 (commit)] * Introduce FMODE_EXEC file flag, to indicate that file is being opened for execution. This is useful for distributed filesystems to maintain consistent behavior for returning ETXTBUSY when opening for write and execution happens on different nodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b500531e6f5f234ed267bd7060ee06d144faf0ca (commit)] * strndup_user(): This patch series creates a strndup_user() function to easy copying C strings from userspace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96840aa00a031069a136ec4c55d0bdd09ac6d3a7 (commit)] * msync(): perform dirty page levelling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c50823eebf7c256b92b4e0f02b5fb30e97788c2 (commit)] * kbuild * Improved modversioning support for external modules [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=040fcc819a2e7783a570f4bdcdd1f2a7f5f06837 (commit)] * Support building individual files for external modules [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06300b21f4c79fd1578f4b7ca4b314fbab61a383 (commit)] * Mark unwind info for signal trampolines using the new S augmentation flag in recent GCCs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da2e9e1ff40c863a12803c32209baaded3512433 (commit)] * vt: Add TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the current value of kmsg_redirect from the kernel so that it can save it and restore it after resume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ca07731e495584bd84dca15a0f065470d594ec4 (commit)] * Removes the support for pps [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ddcfa878d5b10b0ab94251a4229a8a9daaf93ed (commit)] * '''Architecture-specific''' * x86 32/64 * SMP "alternatives" for x86-32. This features detects the configuration of the system at boot time, and patches certain instructions in the kernel image on the fly with optimized versions for UP or SMP, depending on what system is running. This is useful for distros, who can provide a single kernel which auto-optimizes itself for UP or SMP environments. The feature can patch both SMP->UP and UP->SMP. The UP->SMP case is useful for CPU hotplug (which may be useful in virtualized environments to hot-add/remove CPUs in virtualized guests in reaction to load changes in the host) [http://lwn.net/Articles/164121/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a0b5817ad97bb718ab85322759d19a238712b47 (commit)] * Make CONFIG_REGPARM enabled by default. With this option, GCC passes the first 3 function parameters in registers. It's a noticable win both for size and for performance, and gcc[34] handles it correctly [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b824eb605ccba995fd32c6590aed365f93d48002 (commit)] * Use -mtune=generic for generic kernels. The upcomming gcc 4.2 got a new option -mtune=generic to tune code for both common AMD and Intel CPUs. Use this option when available for generic kernels. On x86-64 it is used with CONFIG_GENERIC_CPU. On i386 it is enabled with CONFIG_X86_GENERIC. It won't affect the base line CPU support in any ways and also not the minimum supported CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dca99a38bccceda9e079d4c95abefbd9028605fe (commit)] * Increase the variability of the process stack on x86-64 for now. 8 MB is not really very random, use 1GB (or more with larger page sizes) instead[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=913bd906019514579b3c7ec5ab9c463e89207a57 (commit)] * Allow disabling the "sep" feature (X86_FEATURE_SEP) at boot. This forces use of the int80 vsyscall, useful mainly for testing or benchmarking the int80 vsyscall code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f88651125e2ca8b106b6f65b65ea45776517bf3 (commit)] * "make isoimage" support, FDINITRD= support. This adds a "make isoimage" to i386 and x86-64, which allows the automatic creation of a bootable CD image. It also adds an option FDINITRD= to include an initrd of the user's choice in generated floppy- or CD boot images [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=841b8a46bffec232377d2de157f971e812be4fe4 (commit)] * kprobes-booster [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=311ac88fd2d4194a95e9e38d2fe08917be98723c (commit)] * Remove the obsolete microcode_ioctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f45e4656ac0609437267b242953c07d523649f8d (commit)] * PPC * Numa: Support sparse online node map. The powerpc numa code unconditionally onlines all nodes from 0 to the highest node id found, regardless of whether cpus or memory are present in the nodes, which wastes 8K per node and complicates some cpu and memory hotplug situations, such as adding a resource that doesn't map to one of the nodes discovered at boot. Instead, this feature set nodes online as resources are scanned, and falls back to node 0 only when we're sure this isn't a NUMA machine [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=482ec7c403d239bb4f1732faf9a14988094ce08b (commit)] * Implement accurate task and cpu time accounting for 64-bit powerpc kernels. Instead of accounting a whole jiffy of time to a task on a timer interrupt because that task happened to be running at the time, we now account time in units of timebase ticks according to the actual time spent by the task in user mode and kernel mode, we also count the time spent processing hardware and software interrupts accurately. This is conditional on CONFIG_VIRT_CPU_ACCOUNTING, if that is not set, tick-based approximate accounting is done as before [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6622f63db86fcbd41bf6fe05ddf2e00c1e51ced (commit)] * Support for the physmapped flash on m8xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=076d022c566fddde41fd4a858dd24bacad8304d7 (commit)] * Add PCI support for 8540 ADS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8080d5497146d5d27d9e8e78229d1adc7fe280cf (commit)] * Add platform support for MPC834x USB controllers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b10cfd40e3fa1c1663b9c9fa22260d41e669c6f (commit)] * Add oprofile calltrace support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c6bd754bf43d59756f094de144ecac239629dda (commit)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fa465f8c7008c6cab32b05f3f1af57f7c86e8873 (commit)] * Add hvc backend for rtas, needed to get console output on those boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4d1749e9570d3984800c371c6e06eb35b9718b1 (commit)] * spufs * Enable SPE problem state MMIO access [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6df10a82f8de89c66eb91c371d62d76e87b2cbba (commit)] * Allow SPU code to do syscalls. An SPU does not have a way to implement system calls itself, but it can create intercepts to the kernel. This uses the method defined by the JSRE interface for C99 host library calls from an SPU to implement Linux system calls. It uses the reserved SPU stop code 0x2104 for this, using the structure layout and syscall numbers for ppc64-linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dd14934c9138c562d93c501e88c6d6f061eb8ba (commit)] * Adds support for the LITE5200B, the new development board for the Freescale MPC5200 processor. It has two PCI slots and so a different PCI IRQ routing [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8dd311982c86141f4f2fd326c0edf0c2d9fd97b (commit)] * Adds support for the PCI hostbridge in MPC5200B [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5931c4350059ce9bd5fe398b628c478753a11e44 (commit)] * Implement mfc access for PPE-side DMA: This adds a new file called 'mfc' to each spufs directory. The file accepts DMA commands that are a subset of what would be legal DMA commands for problem state register access. Upon reading the file, a bitmask is returned with the completed tag groups set [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a33a7d7309d79656bc19a0e96fc4547a1633283e (commit)] * ARM * Add support for the new XScale v3 core. It's an ARMv5 ISA core with the following additions: L2 cache, I/O coherency support (on select chipsets), Low-Locality reference cache attributes (replaces mini-cache), supersections (v6 compatible), 36-bit addressing (v6 compatible), single instruction cache line clean/invalidate, LRU cache replacement (vs round-robin) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23bdf86aa06ebe71bcbf6b7d25de9958c6ab33fa (commit)] * Add support for the Intel ixp23xx series of CPUs and support for the ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double Espresso platforms. The ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit MACs, two 10/100 MACs, expansion bus, four microengines, a Media and Switch Fabric unit almost identical to the one on the ixp2400, two xscale (8250ish) UARTs and a bunch of other stuff [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4713074375c61f939310b04e92090afe29810dc (commit)] * proc-v6: page table walks with outer-cacheable attribute, and enable no-execute in page tables [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3747b36eeab93d8969e86987bbc1d44971229b26 (commit)] * Add support for the Cirrus ep93xx series of CPUs. The ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs, IrDA, Maverickcrunch floating point coprocessor, between 24 and 64 GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster engine, graphics accelerator, IDE controller and a bunch of other stuff. Add the core ep93xx support code, and support for the Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7736d47a11a771ba87314be563b2cb6b8d11d14 (commit)] * ep93xx: Add GPIO interrupt support for the first 16 GPIO lines (port A and B ) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd20ff5793b4ece4fa3e9e0fcf8e6bbd93526215 (commit)] * Add support for Intel's IXDP28x5 platform. This is just and IXDP2801 with a new CPU rev [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0328ad23cfd8a0501f44a1b83e49d5b0e47e2b3c (commit)] * s3c2410: Support for Simtec IM2440D20 CPU modules (Osiris) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=110d322b29c08d8cf1dba599fd45ad2b9752a4bb (commit)] * s3c24xx: Add USB bus clock source [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36c64af4e013ddf44c44298f50ff138ef1e2e7b7 (commit)] * Battery support for sharp zaurus sl-5500 (collie). Collie slowly charges battery even with charging disabled, so fast charge is not enabled yet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=48a03ae863e0031def037fc828d7ea1a29b6fb7b (commit)] * Add support for logicpd pxa270 card engine [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9937d4b0a9382c4c78411d1c53e62be396ee9a9 (commit)] * Adds support for the Ethernet controller integrated in the Atmel AT91RM9200 SoC processor. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4b7780ea1d2e08410fcc9963a57254147ae577a (commit)] * Add Cirrus EP93xx AMBA PL010 serial support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aee85fe8e8143d3f54d9e6d3c6cdd40ead563267 (commit)] * Add a driver for the on-chip watchdog on the cirrus ep93xx series of ARM CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f52ac8fec8a13e207f675b0c16e0d5f800c1c204 (commit)] * Adds support for the LED(s) on the AT91RM9200-based boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cc2832a1313340ff1de55f15fac5b7fe48fa2a72 (commit)] * Adds support for the I/O coherent cache available on the xsc3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23759dc6430428897a36c4d493f611eca55c9481 (commit)] * Add pci slave support for ixp23xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=532bda5d9cd2f94a9e374765c23858c7d8641f66 (commit)] * SD/MMC support for i.MX/MX1 SD/MMC controller [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=56ca904053ab14ba4067a72b69a5edf246771209 (commit)] * Support for 2.6 (MMC/SD driver) on the Atmel AT91RM9200 processor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65dbf34393f7b3d20e993d9651a825df0fa5376b (commit)] * Allow un-muxed syscalls to be available for everyone. It's been a while since the un-muxed socket and ipc syscalls were introduced, so make the unistd.h number definitions visible for non-EABI as well as EABI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d53ace70052b5c0a08a4f92993c0614f84920abf (commit)] * nommu: Adds MPU support in boot/compressed/head.S [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10c2df65060e1ab57b2f75e0749de0ee9b8f4810 (commit)] * nommu: Add nommu specific Kconfig and MMUEXT variable in Makefile [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8c07de6beac55c3273cbd679bfa67555ef14ef5 (commit)] * backlight: Generalise to support other Sharp SL hardware, this enables the driver to support other Zaurus hardware, specifically the SL-6000x (Tosa) model [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c0f5fb08e8ad59f396b1bda41ccd93cbb00a09f (commit)] * PARISC * Add PREEMPT support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50a34dbd612925f2ec55b1781632835ef36b97d5 (commit)] * Enable ioremap functionality unconditionally [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29ef8295327653ff09a56285c35213cd31fa54b3 (commit)] * Add CONFIG_HPPA_IOREMAP to conditionally enable ioremap [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8ce0aadcdebbaf5ec013c57e2a0803060817bcc (commit)] * MIPS: * Add early console for Cobalt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e87dddeb92618d9dbb8b9f946a193739a4447609 (commit)] * Remove obsoleted serial au1x00_uart driver as announced in feature-removal-schedule.txt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=335bd9dff31d042b773591933d3ee5bd62d5ea27 (commit)] * UML: * Add hotplug memory support to UML, see details in the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02dea0875b0f9b331a65fd6097dfd6115ca4ef24 (commit)] * Implement {get,set}_thread_area for i386 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa6758d4867cd07bd76105ade6177fe6148e559a (commit)] * Sparc64: Add support for the Niagara platform (CPU, PCI devices, hypervisor, hypervisor serial console, etc) which includes a big rewrite of some parts of the sparc64 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4a1745aa09fc110afdefea0e5d025043e348bae (commit)] * IA64: * Support for cpu0 removal [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff741906ad3cf4b8ca1a958acb013a97a6381ca2 (commit)] * Export cpu cache info by sysfs: Export 8 attributes of cpu cache info under /sys/devices/system/cpu/cpuX/cache/indexX: 1) level 2) type 3) coherency_line_size 4) ways_of_associativity 5) size 6) shared_cpu_map 7) attributes 8) number_of_sets: number_of_sets=size/ways_of_associativity/coherency_line_size [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f19180056ea09ec6a5d32e741234451a1e6eba4d (commit)] * S390: * Channel path measurements: Gather extended measurements for channel paths from the channel subsystem and expose them to userspace via a sysfs attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=495a5b45ac33b8fe2c49780fdbcc8014cb6d6ddc (commit)] * '''Filesystems''' * Ext3 * Support for multiple block allocation in ext3-get-blocks() [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b47b24781c59565f45acd765dc995a752d561e96 (commit)] * "nobh" writeback support for filesystems blocksize < pagesize [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0e9285233a32edf267d27cd03fe0056951422cf (commit)] * XFS * Introduces multi-level in-core file extent [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0293ce3a9fd1b34c933a96577a8ba737b681cf75 (commit)] * Reenable the noikeep (delete inode cluster space) option by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e15f195cfb2fb1f2af0fdfc21277643deb26c0df (commit)] * Reorganize some of the in-core file extent:[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4eea22f01bb4fdba1aab4430c33adbe88d9d4985 (commit)] * JFS * Add uid, gid, and umask mount options. OS/2 doesn't initialize the uid, gid, or unix-style permission bits, the uid, gid, & umask mount options perform pretty much like those for the fat file system, overriding what is stored on disk. This is useful for users sharing the file system with OS/2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69eb66d7da7dba2696281981347698e1693c2340 (commit)] * Add ext2 inode attributes for jfs. To see the type of inode attributes implemented see the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fa3241d24cf1182b0ffb6e4d412c3bc2a2ab7bf6 (commit)] * Reenable write barriers by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bbcc8e3976f8bba2fd607c8850d7dfe7e332fda (commit)] * Provide support for the splice syscall [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b895840ce93fd2d150a86c800a3085eaab4eb9e (commit)] * NFS * Add I/O performance counters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91d5b47023b608227d605d1e916b29dd0215bff7 (commit)] * Introduce mechanism for tracking NFS client metrics. Add a per-superblock performance counter facility to the NFS client. This facility mimics the counters available for block devices and for networking. Expose these new counters via the new /proc/self/mountstats interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9ef5a8c26aab09762afce43df64736720b4860e (commit)] * Use UNSTABLE + COMMIT for NFS O_DIRECT writes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fad61490419b3e494f300e9b2579810ef3bcda31 (commit)] * Add RPC I/O statistics to /proc/self/mountstats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ece3a2d18fd7fe1d4972284a8c98c569020093f (commit)] * SUNRPC: add a handful of per-xprt counters, monitor generic transport events [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=262ca07de4d7f1bff20361c1353bb14b3607afb2 (commit)] * SUNRPC: track length of RPC wait queues which will eventually be exported to userland via the RPC iostats interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e19b63dafdf7d615b0d36b90990a07e7792b9d3a (commit)] * SUNRPC: introduce per-task RPC iostats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef759a2e54ed434b2f72b52a14edecd6d4eadf74 (commit)] * SUNRPC: provide a mechanism for collecting stats in the RPC client [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11c556b3d8d481829ab5f9933a25d29b00913b5a (commit)] * CIFS * Add posix (advisory) byte range locking support to cifs client: Samba (version 3) server support for this is also currently being done. This client code is in an experimental path (requires enabling /proc/fs/cifs/Experimental) while it is being tested [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08547b036b8445e2318e14f1f03308105b01fc5b (commit)] * Readdir perf optimizations part 1 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d47d7c1a850b867047fe17140fabd0376894e849 (commit)] * NTFS: Add support for sparse files which have a compression unit of 0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0646a1f04f1ec4c7514e5b00496b54e054a2c99 (commit)] * SELinux/audit * Disable the automatic labeling of new inodes on disk when no policy is loaded. Discussion in https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180296 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8aad38752e81d1d4de67e3d8e2524618ce7c9276 (commit)] * Add a slab cache for the SELinux inode security struct [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7cae7e26f245151b9ccad868bf2edf8c8048d307 (commit)] * Hardwire important SE Linux events to the audit system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af601e4623d0303bfafa54ec728b7ae8493a8e1b (commit)] * Audit string fields interface + consumer [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93315ed6dd12dacfc941f9eb8ca0293aadf99793 (commit)] * Add tty to syscall audit records [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c043a887a9db32a545539426ddfc8cc2c28f8f (commit)] * Add a little more information to the add/remove rule message emitted by the kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d3301088f7e412992d9e61cc3604cbdff3090ff (commit)] * More filter rule comparators. Currently, audit only supports the "=" and "!=" operators in the -F filter rules, add ">", ">=", "<", and "<=" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b63862f46547487388e582e8ac9083830d34f058 (commit)] * Send an audit event when a network interface goes into promiscuous mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb98868062c1b14025883049551af343233187 (commit)] * '''Networking''' * IPV6 * Add support for Router Preference (RFC4191) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebacaaa0fdf4402cdf4c8e569f54af36b6f0aa2d (commit)] * Add Router Reachability Probing (RFC4191) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=270972554c91acd29412d8b6a10e606041012106 (commit)] * Add experimental support for Route Information Option in RA (RFC4191): [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70ceb4f53929f73746be72f73707cd9f8753e2fc (commit)] * Add router_probe_interval sysctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52e1635631b342803aecaf81a362c1464e3da2e5 (commit)] * Add accept_ra_pinfo sysctl. This controls whether we accept Prefix Information in RAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4fd30eb18666972230689eb30e8f90844bce635 (commit)] * Add accept_ra_rt_info_max_plen sysctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c884d4c3b45cda904c2291d4723074ff523611 (commit)] * Add accept_ra_defrtr sysctl: This controls whether we accept default router information in RAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65f5c7c1143fb8eed5bc7e7d8c926346e00fe3c0 (commit)] * Add accept_ra_rtr_pref sysctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930d6ff2e2a5f1538448d3b0b2652a8f0c0f6cba (commit)] * DCCP * Initial feature negotiation implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afe00251dd9b53d51de91ff0099961f42bbf3754 (commit)] * Initial CCID2 (TCP-Like) implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a91aa3967398fb94eccc8da67c82bce9f67afdf (commit)], and make it the default as per the draft [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93ce20928f6e197707add8f670ae0cd029107e8f (commit)] * Introduce sysctls for the default features, in /proc/sys/net/dccp/default/*: /proc/sys/net/dccp/default/ack_ratio, /proc/sys/net/dccp/default/rx_ccid, /proc/sys/net/dccp/default/send_ackvec, /proc/sys/net/dccp/default/send_ndp, /proc/sys/net/dccp/default/seq_window, /proc/sys/net/dccp/default/tx_ccid. Of course we also need the setsockopt for each app to tell its preferences, but for testing or defining something other than CCID2 as the default for apps that don't explicitely set their preference the sysctl interface is handy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e55d912f5b75723159348a7fc7692f869a86636a (commit)] * Netfilter * Add H.323 conntrack/NAT helper [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e35941d990123f155b02d5663e51a24f816b6f3 (commit)] * nf_conntrack, support for layer 3 protocol load on demand: x_tables matches and targets that require nf_conntrack_ipv[4|6] to work don't have enough information to load on demand these modules [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9f78f9fca626875af8adc0f7366a38b8e625a0e (commit)] * Extend current iptables compatibility layer in order to get 32bit iptables to work on 64bit kernel. Current layer is insufficient due to alignment checks both in kernel and user space tools [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2722971cbe831117686039d5c334f2c0f560be13 (commit)] * Unify IPv4/IPv6 multiport match: This unifies ipt_multiport and ip6t_multiport to xt_multiport. As a result, this addes support for inversion and port range match to IPv6 packets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 (commit)] * Unify IPv4/IPv6 esp match: This unifies ipt_esp and ip6t_esp to xt_esp. Please note that now a user program needs to specify IPPROTO_ESP as protocol to use esp match with IPv6. This means that ip6tables requires '-p esp' like iptables [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc5ab2faece3b7473931357db7f63f596678481d (commit)] * Add RFC2863 operstate. This adds a dormant flag to network devices, RFC2863 operstate derived from these flags and possibility for userspace interaction. It allows drivers to signal that a device is unusable for user traffic without disabling queueing (and therefore the possibility for protocol establishment traffic to flow) and a userspace supplicant (WPA, 802.1X) to mark a device unusable without changes to the driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b00055aacdb172c05067612278ba27265fcd05ce (commit)] * Allow 32 bit socket ioctl in 64 bit kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89bbfc95d65839d6ae23ddab8a3cc5af4ae88383 (commit)] * Socket timestamp 32 bit handler for 64 bit kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0ac2614412e2b597e2d5bfbd3960b4f73718b41 (commit)] * IPSEC: Sync series - SA expires. This allows a user to insert SA expires [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53bc6b4d29c07664f3abe029b7e6878a1067899a (commit)] * IPSEC: Sync series - acquire insert: This introduces a feature similar to the one described in RFC 2367: "... the application needing an SA sends a PF_KEY SADB_ACQUIRE message down to the Key Engine, which then either returns an error or sends a similar SADB_ACQUIRE message up to one or more key management applications capable of creating such SAs". An app such as OSPF could then use ipsec KM to get keys [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=980ebd25794f0f87ac32844e2c73e9e81f0a72ba (commit)] * TCP: MTU probing: Implementation of packetization layer path mtu discovery for TCP, based on the internet-draft currently found at http://www.ietf.org/internet-drafts/draft-ietf-pmtud-method-05.txt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d424d5a674f782d0659a3b66d951f412901faee (commit)] * TCP/UDP getpeersec: Enable a security-aware application to retrieve the security context of an IPSec security association a particular TCP or UDP socket is using [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c7946a7bf45ae86736ab3b43d0085e43947945c (commit)] * TCP: sysctl to allow TCP window > 32767 sans wscale [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d99e02babae8bc20b836917ace07d93e318149 (commit)] * Introduce tunnel4/tunnel6: Move the generic tunnel protocol stuff out of xfrm4_tunnel/xfrm6_tunnel and moves it into the new files of tunnel4.c and tunnel6 respectively [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2acc3479cbccd5cfbca6c787be713ef1de12ec6 (commit)] * BRIDGE * Use LLC to send STP [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=12ac84c4a9c505e3e30529563b04cc8f6d5ebbf3 (commit)] * Use LLC for the receive path of Spanning Tree Protocol packets (STP) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf0f02d04a830c8202e6a8f8bb37acc6c1629a91 (commit)] * Allow show/store of group multicast address [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fda93d92d7824159d8532995072dde2bee4bc4b3 (commit)] * X25 * Allow use of the optional user facility to insert ITU-T (http://www.itu.int/ITU-T/) specified DTE facilities in call set-up x25 packets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a64b7b936dcd926ace745c07c14f45ecfaddb034 (commit)] * Allow dte facility patch to use 32 64 bit ioctl conversion mechanism [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a6b9f2e763a1d1492e164f13c13b995a9b98d78 (commit)] * Allow 32 bit x25 module structures to be passed to a 64 bit kernel via ioctl using the new compat_sock_ioctl registration mechanism [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b06e6ba25a37fe1c289049d0e0300d71ae39eff (commit)] * Wireless * WE-20, version 20 of the Wireless Extensions, it enables the full Wireless Extension API over RtNetlink [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=711e2c33ac9221a419a9e28d05dd78a6a9c5fd4d (commit)] * Add the hardware independent software MAC layer [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=370121e5190a86a2d8a717ecd6f33028c7dc6fd4 (commit)] * softmac: reduce default rate to 11Mbps [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2638fed7ccb07ff43cdc109dd78e821efb629995 (commit)] * softmac: reduce scan dwell time: It currently takes something like 8 seconds to do a scan, because we spend half a second on each channel. Reduce that time to 20ms per channel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16f4352733d19c2d496f682c08cff368ba0495d0 (commit)] * Add LEAP authentication type [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24056bec086aaa99923b21c0e1a0e993bb1c7e2a (commit)] * Add flags for all geo channels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d128f6c176bff9c4929476e13132804321a6d5c5 (commit)] * Add spectrum management information [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7bd64366044565d6861783613db191c8aaec691e (commit)] * Add 802.11h information element parsing: Added default handlers for various 802.11h DFS and TPC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1b46b0fba8c1049135ee5d60910b04463dccc95 (commit)] and TIM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a25c616b3140c388ff6009a1cb0b6b06a10f29 (commit)] * '''Drivers''' * PCI: Scheduled removal of the obsolete PCI_LEGACY_PROC (/proc/pci) interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eeca8e688b6affba4cd85262152fdd1b274ad33 (commit)] * ipmi * Add full driver model support for the IPMI driver. It links in the proper bus and device support. It adds an "ipmi" driver interface that has each BMC discovered by the driver (as a device) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50c812b2b9513e3df34eae8c30cb2c221b79b2cb (commit)] * Add generic PCI handling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0defcdbd2b7da7694e2645da92716cea0a3c0ff (commit)] * AGP/DRM * ATI RS350 support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d1ef8a64e21e57109be45a7345b09cf913e4b0e (commit)] * Enable VIA AGP driver on x86-64 for VIA P4 chipsets, needed for some newer EM64T systems [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d1f6b28ee2429a1f94a9f7074ffae7f918d33be (commit)] * Rework radeon memory map [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5ea702f1e8e3edeea6b673a58281bf99f3dbec5 (commit)] * Add all the r300 and r400 PCI ids from DRM CVS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3dd5c37382472a8b245ad791ed768771594e60c (commit)] * libata * Turn on ATAPI by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=418dc1f5a805822fcf1118804ddc689a4156db4a (commit)] * Add per-device max_sectors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b00eec1d58ee71131375bfeb86e64bceec3f5618 (commit)] * ahci: Now that libata is smart enought to handle both soft and hard resets, add softreset method [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4658f79bec0b51222e769e328c2923f39f3bda77 (commit)] * Add support for the Promise Fasttrak TX4300/TX4310 4-port PCI SATA controllers based on the PDC40719 chip to sata_promise driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1fd263c772e89706dee28aa794399ac4bd6b9c1 (commit)] * Add a new PCI ID for SiI 3124 to sata_sil24 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b9d7e04a8daaf3e5afe775ec9cbbfda5e32dd5b (commit)] * Add 6042 support to sata_mv driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4e7b89280d1d666e2c09e5ad36cf071796c4c7e (commit)] * Make per-dev transfer mode limits per-dev. Now that each ata_device has xfer masks, per-dev limits can be made per-dev instead of per-port [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a529139554f12cb265715117a2153c936286294 (commit)] * Simplex and other mode filtering logic. This provides the needed framework to support all the mode rules found in the PATA world [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5444a6f405618706eddbe1605ef8533b1b655764 (commit)] * Remove E.D.D [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aec5c3c1a929d7d79a420e943285cf3ba26a7c0d (commit)] * AHCI: add ATI SB600 PCI IDs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b316a3973f05e572b4edeeda9072987f6bbaa44 (commit)] * SCSI * Allow displaying and setting of cache type via sysfs: This patch adds a scsi_disk class with the cache type and FUA parameters, so user land application can easily obtain them without having to parse dmesg. It also allows setting the cache type (use with care...) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6bdaa1f17dd32ec62345c7b57842f53e6278a2fa (commit)] * sas: add support for enclosure and bad ID rphy attributes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a012564136a665f8d63443c057ba368572b483df (commit)] * mptsas: add support for enclosure and bay identifier attributes: Adds support to retrieve the enclosure and bay identifiers. This patch is from Eric with minor modifications from me, rewritten from a buggy patch of mine, based on the earlier CSMI implementation from Eric.. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3094447e013a59ccedcf60f6055f18225bd8465 (commit)] * qla2xxx: Add ISP54xx support, chip is similar in form to our ISP24xx offering [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=044cc6c8ec311c4ddeebfcc31c53dea282de70b7 (commit)] * Add big endian support to 3ware 9000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75913d9bb8328c4eca54cad39a5fb665b48383eb (commit)] * lpfc: Add support for FAN [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5024ab179c13d763f95c8391f45f22309609f479 (commit)] * lpfc: Add module parameter to limit number of outstanding commands per lpfc HBA [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b28485acb930f67c014024bc3b9c01129124e566 (commit)] * mptspi: Add transport class Domain Validation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c92f222e1f14588171e63b550ca8c85fa9130061 (commit)] * qla2xxx: Add VPD sysfs attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f6417905cf272337a9762e1f92a1fffa651fcd3 (commit)] * Input devices * Add support for Braille devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9ec4e109d7a342e83e1210e05797222e36555c3 (commit)] * Add SNES mouse support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b157d55eef38f014015b8058a9f733d1c1c49cb4 (commit)] * USB devices * Add OHCI support for AU1200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5fb7f1b5b832946eaf450b2a695ec3e7fd2d351 (commit)] * Add EHCI support for AU1200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76fa9a240de4294a097235c9ddd470c21eb3449e (commit)] * Add support for OCHI on AT91rm9200 based boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39a269c09f854d3d98cbb755b3568175f04efa10 (commit)] * Add support for AT91 (rm9200, eventually also sam9261 or uClinux) platforms [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bae4bd848dc0b7e6defc7a5d62834a35d1eed06d (commit)] * Add a new device ID to the cp2101 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59224f5352542b968c41200954e56c26c4f0a075 (commit)] * Add Icom ID1 USB product and vendor ids to the ftdi_sio driver. The Icom ID-1 1.2 GHz band digital transceiver is a new radio that has a USB interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf58fbd5e86a43466e638407ff8a4eb7766a3b68 (commit)] * Add support for Creativelabs Silvercrest USB keyboard [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e56222ed52cec40427fa89f23b228232e3e327e (commit)] * Add navman GPS device driver (USB serial) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9a66c64bb7033cb0180d419b2008acf7a141adc (commit)] * Add support for the Nokia ca42 version 2 cable to the cypress_m8 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5c44e29e5637b5e6fe59d225eb4f438688b3849 (commit)] * Adds Linksys USBVPN1 support (http://www1.linksys.com/Products/product.asp?prid=3D543&scid=3D30) to the pegasus driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=efafe6fb72b2bbab40080a08f7946f1eadb9bad9 (commit)] * EHCI for Freescale 83xx. This driver supports both the Dual-Role (DR) controller and the Multi-Port-Host (MPH) controller present in the Freescale MPC8349 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80cb9aee01245b38325dd84f1359b14a3f01f10d (commit)] * Add a Video4linux2 driver for ZC0301 Image Processor and Control Chip.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=60f780528f3ae603eb169a221628b93b6c6929f9 (commit)] * Adds support for three USB peripheral controllers: "musbhsfc" for peripherals only, as found in for example the IBM/AMCC 44EP processors; "musbhdrc" is OTG-capable (dual role), and is found in various products including OMAP 2430 and the new DaVinci SOCs. The full speed controller on the FreeScale MPC8272 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c05ad4447e4ecbd61647c102fb6f2f5a6634ff3 (commit)] * Network devices * Driver for the Broadcom 43xx based wireless cards (from http://bcm43xx.berlios.de). This chip is embedded in lots of laptops: Apple (Airport Extreme), Acer, Asus, Dell, Compaq and [http://linux-bcom4301.sourceforge.net/go/hardware many others] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f222313a61a5e134de80767b35c672b91e78383c (commit)] * ipw2100 * Add LEAP authentication algorithm support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbbdd03fadeddd02efec05ccfd4e6870ed913762 (commit)] * Add generic geo information [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be6b3b15b511aededd89d1ebbc7b25d0edd1ccd3 (commit)] * ipw2200: * switch to the new ipw2200-fw-3.0 image format. You will also need to upgrade your firmware image to the 3.0 version, available from http://ipw2200.sf.net/firmware.php [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9006ea75cfaded82acbc34d03e9d4e86447f40a9 (commit)] * Support WE-18 WPA, used to advertise the WPA-related encryption options that it does really support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f1b50863aa6a96c61a57e3b3a5e76e67b38c5c3e (commit)] * Add LEAP authentication algorithm support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e234b4e5768b4f783fc45f20be8c6515b875f17 (commit)] * Bluetooth coexistence support. It adds a new module param "bt_coexist" which defaults to OFF [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=810dabd466fe70869b66ab64dd326b6153cef645 (commit)] * Add module parameter to enable/disable roaming [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bfdb91dcff0dd4b70922de263ccffffb8fb1d16 (commit)] * Enable the "slow diversity" algorithm. This forces one antenna or the other, if the background noise is significantly quieter in one than the other [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71de1f3dd14e3e39cef929506a9526779f5a447d (commit)] * Wireless extension sensitivity threshold support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=651be26f2daf31e61faf4b55ada709cf39ec76a2 (commit)] * TG3 * Add support for 5714S and 5715S [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4d2c558fd3e1f5e386b153f194aa8f0be496c77 (commit)] * Add support for new chip 5755 which is very similar to 5787 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af36e6b6d7f4ad7a5ccfd14dfa71ec941255f93d (commit)] * Add 5755 nvram support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3c7b886978bef42f5ea487dec376c482d3cd7e3 (commit)] * Add basic support for 5787 and 5754 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9ab5ad12b0d865bdb1b750d81192d34465541e9 (commit)] * Support additional nvrams and new nvram format for 5787 and 5754 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b27777a9b9b2b6d1c06000b7a31262d198b4238 (commit)] * Support 5787 hardware TSO [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a6f3074c2ea5a7b4ff5b18f0e1fd9b1257e1a29 (commit)] and ipv6 checksum support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c27dbdf64cba05d0cacc343118a7fd01d4b82f7 (commit)] * Support one-shot MSI on 5787. In this mode, MSI disables itself automatically after it is generated, saving the driver a register access to disable it for NAPI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcfa0a32c767219c1bdad621ef4a3aff1904cbbd (commit)] * Forcedeth * Let FORCEDETH no longer depend on EXPERIMENTAL [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=827700866ad0996e8c0f5ce75d1c01ae9b034cd6 (commit)] * Add support for vlan stripping/inserting in hardware [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee407b02f3f1992bc746876c26f8175c8783562b (commit)] * Add highdma support for tx/rx rings [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0832b25a75d128e4f9724156380ba071c4f3f20d (commit)] * Add support for MSI/MSIX interrupts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d33a73c81241e3d9ab8da2d0558429bdd5b4ef9a (commit)] * e1000 * Add support for ESB2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6418ecc68e1d9416451b6f78ebb2c0b077e0abf2 (commit)] * Add TSO workaround for 82573 controller support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f68788856b134f93d9d10b19aa902924c61fc02 (commit)] * Added a performance enhancement - prefetch [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30320be88fb9cae888eacf1f1eaae95a03720128 (commit)] * sky2 * Add MSI support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb2690a9bfa330aff3de29cbdde526591ac90dce (commit)] * Remove support for untested Yukon EC/rev 0, the Yukon EC/rev0 (A1) chipset requires a bunch of workarounds [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=290d4de5b71f60bb5853a7ef9f0e8c817cd26892 (commit)] * Airo * Cache wireless scans [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e75af30d529d54fc650586776c100d0665c0c93 (commit)] * Adds IWENCODEEXT and IWAUTH support for WEP and unencrypted operation, but no WPA [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4be757dd4c00ddabff2d6faf639466bb5d76bc79 (commit)] * S2io * Large Receive Offload (LRO) feature(v2) for Neterion 10GbE Xframe PCI-X and PCI-E NICs. More details in the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d3d0439f574a4857c97b3ad2e63b082b7382d7e (commit)] * BNX2: Add ETHTOOL_GREGS support (ethtool -d support) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=244ac4f446ac6a19caf5eb692c4844f29e6478bf (commit)] * natsemi * Converts the driver to use NAPI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b27a16b7c4738ea16f6f0730caf382a3f57317bb (commit)] * Support oversized EEPROMs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8b4cf42cf57e44e3c4a585e0f0a71e3a7efbf29 (commit)] * Starfire: Implement suspend and resume methods. It allows to put a computer with a starfire dual board into S4 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4fbeabbc9e68c80738fe59135d201c3ed5fe40f (commit)] * sb1250-mac: Add support for the 4th port and other new features of the BCM1480 SOC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90fdc3cce3d8c8ed09615dc68cb789655078803 (commit)] * pcnet_cs: Add new id (Logitec LPM-LN100TE):[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c96a34ec3bad5ba37ee4da4a188ad534b2fa4321 (commit)] * isdn4linux: Add drivers for the Siemens Gigaset 3070 family of ISDN DECT PABXes connected via USB, either directly or over a DECT link using a Gigaset M105 or compatible DECT data adapter. The devices are integrated as ISDN adapters within the isdn4linux framework, supporting incoming and outgoing voice and data connections, and also as tty devices providing access to device specific AT commands. Supported devices include models 3070, 3075, 4170, 4175, SX205, SX255, and SX353 from the Siemens Gigaset product family, as well as the technically identical models 45isdn and 721X from the Deutsche Telekom Sinus series. Supported DECT adapters are the Gigaset M105 data and the technically identical Gigaset USB Adapter DECT, Sinus 45 data 2, and Sinus 721 data (but not the Gigaset M34 and Sinus 702 data which advertise themselves as CDC-ACM devices). These drivers have been developed over the last four years within the project http://sourceforge.net/projects/gigaset307x . [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/isdn/gigaset Source code] * sis900 adm7001 PHY support: This is required to get a SIS964 based motherboard ethernet working (FSC D1875) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=494aced2cda34c186083f7d53c419426eea3d584 (commit)] * spidernet: enable tx checksum offloading by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8dfc914a3f2ae4e303e2bff89f28fc14cee8a9a6 (commit)] * bonding: support carrier state for master [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff59c4563a8d1b39597aab4917959146c61f09b0 (commit)] * axnet_cs.c: Add hardware multicast support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8ab2dc3e1a7c525ca73ba0af3518ec0b7654b3b (commit)] * ALSA * Driver for AdLib FM cards. An AdLib card is just an OPL2, the driver has been tested with an actual ancient 8-bit ISA AdLib cards and works fine, but given that AdLib cards don't have their own mixer, upping the volume from 0 might be a problem without the card driver already loaded and driving the OPL3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf40a310a7aaf1944eea3e01e9c120b31850c3b6 (commit)] * Make procfs & OSS plugin code optional (CONFIG_SND_VERBOSE_PROCFS, CONFIG_SND_PCM_OSS_PLUGINS) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21a3479a0b606d36fe24093f70a1c27328cec286 (commit)] * Add Zoom Video support in the ES18xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95b712965f0a50365cc0128dacc27acf562f2ff1 (commit)] * Add support for EDIROL UM-3ex [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e03173fce2f2c233b755f2d668d6d4247a717453 (commit)] * Add Leadtek Winfast tv 2000xp delux to whitelist in the bt848 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abf58f095525c0e46b4ee64a4f9c2084b4c08f4c (commit)] * Add support of Prodigy-7.1LT to the ice1724 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45fe722ba814dc50410729a473022c550dd96910 (commit)] * ac97: Added a codec patch for LM4550 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ba22429d3ea3b9945735b88d4dde74711171ffab (commit)] * HDA/ALC260: add 'acer' models [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0bfc90e95946ac420e2de049707232ce18ddeba9 (commit)] * via82xx - Add dxs entry for FSC Amilo L7300 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd84b0cc99d267d6512f01a55af7dbb673f784af (commit)] * Add default entry for CTL Travel Master U553W [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1fc8047310c9d3147f9521af651a5823a72d218 (commit)] * emu10k1 - Add the entry for Audigy4 SB0400 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4fcf0117d599965a5916985c9923776628e16779 (commit)] * via82xx - Add dxs entry for ASRock mobo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42611c02ac31e44abd53893209460ce60205cb8e (commit)] * Add more PCI subsystem IDs of DVB cards to the blacklist of cards to the bt87x driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0110f50b6eb7a833f0e1e4e9a58d04a03d58939c (commit)] * Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3a70d5ece60684c00d7d94ccc42741efdf99336 (commit)] * Add dxs entry for EPoX EP-8KRAI in via82xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c04d092bde6a5dce632dec595f3974a35ed2cc2a (commit)] * Add a mixer control which allows the user to switch the Aux playback between the internal Aux jack, Wavetable, and Rear Line-In on Aureon Universe cards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af9b70ac0044d126b28d28894cd890447c0a9dc1 (commit)] * Add snd-riptide driver for Conexant Riptide chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=109a9638f0fe38915838b7b9acd98e7cfa91797f (commit)] * Add snd-miro driver for miroSOUND PCM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1841f613fd2e73f09d3fa2beeccf2f8d978ec2db (commit)] * Add support of LG LW20 laptop with ALC880 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d681518a56d25d21d73a421174d189242adc68c7 (commit)] * hda-codec * Add PCM for 2nd ADC on ALC260 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c5186ed6b25278df595edf2d355ee87b00c4426 (commit)] * Add missing model entries for Intel 945 boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=353b9e667042d6faa15a41df022bf38c949a7b2f (commit)] * Added a new model 'laptop-eapd' to AD1986A codec for Samsung R65 and ASUS A6J laptops [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=825aa97241b46d2819c1db984c86a1a9df41b8e1 (commit)] * Add a model entry for Aopen i915GMm-HFS mobo with ALC880 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede3531e8ce2deb81e477e18d72ef10efeb20ebe (commit)] * Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661). The new model 'vaio' is added [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db064e503419c32df463326a3891a973bb30582e (commit)] * Add model entry for FIC P4M-915GD1 with ALC880 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a12606cff106335650f0e9382e87b0fb08733eff (commit)] * Added the support ASUS P4GPL-X with ALC880 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84f3430c7255668a0298d166605d27e3c96b5de4 (commit)] * Add HP model [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=18a815d7426986890b88078ea63b77732baca0b5 (commit)] * Add lg model for LG laptop (m1 express dual) with ALC880 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae6b813a4dbba2713df497c032798b845289653f (commit)] * Added the support for HP nx9420 (Angelfire) laptop with AD1981HD codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2c2844c5a486020e5d564870d114a7f4cd5ea4f (commit)] * Add support for high definition audio on ATI SB600 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89be83f8eef781a801898c08a5317ed463fe872f (commit)] * usb-audio * Add a quirk entry for the Edirol PC-50 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=415b09e4559b0c95666af3cebe918386212aef98 (commit)] * Add Miditech Play'n Roll support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2b8229dde970b95e407d90a140e8a8753e1f0f6 (commit)] * Add Roland G-70 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdca881d79dc4133b35db5c855b688ee9cba12a9 (commit)] * Add support for the Yamaha MDP-5 and EZ-J24 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ccb4a4387b3ed8c5a03862ef1e6f7be484ade25 (commit)] * Add a quirk for the Casio AP-80R [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0243ef71acc0b5bd734b511ae6d9b4b481c1dc5e (commit)] * Add mixer control names for the Audiotrak Maya44 USB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7a93b852bf9ffcf466b304fa3cfac8823f9b932 (commit)] * Add a quirk entry for the Casio PL-40R. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9808dc962f6780ce7eac47c82400fede7f4a08b3 (commit)] * V4L/DVB * Add new internal VIDIOC_INT commands for setting the tuner mode, for putting a chip into standby mode and to set/get the routing of inputs/outputs of audio or video of a chip. These new commands will replace older commands that are no longer up to the task [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=757d250518c4905c5d13c8974446e08a2e3cf244 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28ecc4490100488663f1a978846632800ab198d5 (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC and several audio chips need this information in order to set the correct audio processing registers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d97a11e091a0bf40f1cfb0bbf443ddd7b455b133 (commit)] * Hauppauge Grey Remote support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf47e4e43e4dcf88fef61b1b4139ce2da20e1f73 (commit)] * Added terratec hybrid xs and kworld 2800rf support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d17d0834a2e6a5cba096ea09592a4a096183300 (commit)] * Support for Galaxis DVB-S rev1.3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bd6301c2a33271b629ac1ef2088e110624d5665 (commit)] * Hauppauge HVR 900 Composite support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94e95b443811c127734ef10f3b7d2220532c1d2 (commit)] * Add support for the Avermedia 777 DVB-T card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a78d0bfabda67dd40a5a97ba4c24265e1820e7ea (commit)] * Added signal detection support to tvp5150 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19d7509c0531b0e08f52ab93070569e0aba54cdf (commit)] * Add initial support for KWorld HardwareMpegTV XPert [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=44256de13ecc72291b616fda5f2c7ca8b110feec (commit)] * Added support for the Tevion DVB-T 220RF, an analog/digital hybrid card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3dfb729f4513184d06a0c618179489ac7bb277e0 (commit)] * Add filtered Composite2 input to Pinnacle PCTV 40i: add filtered Composite2 input. This improves video quality for Composite signals on the S-Video connector of the card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb46e3c28ef8055e82dfbc64ba64dda123833036 (commit)] * Add support for ELSA EX-VISION 700TV, which is the ELSA Japan's flagship model of the software encoding TV capture card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d0456d1d67044ff2987190d0d8148a88f1a775af (commit)] * Add support for Terratec Prodigy XS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=282b7cb3e03d9ada4067083e61919d74197a1e5a (commit)] * Add radio support for KWorld HardwareMpegTV XPert [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2798212e3ce0057336bc0807beb3213de1dc5be (commit)] * Add support for the Lifeview FlyDVB-T LR301 card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d8466ece44c70555a101da73845955c443f4d18 (commit)] * Add DVB-T support for the Lifeview DVB Trio PCI card: only DVB-T support, no DVB-S yet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=420f32fe4e3eed466a6563e15a89f4688134cc98 (commit)] * Add support for xc3028 analogue tuner (Hauppauge HVR900, Terratec Hybrid XS) to v4l [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0004fd59d57a5875db8897966c414a88b5dad481 (commit)] * Add support for Kworld ATSC110 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e1410adc7cc9e8511327179b5b86864be17b7f9 (commit)] * Add cpia2 camera support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab33d5071de7a33616842882c11b5eb52a6c26a1 (commit)] * Add support for the FE6600 tuner used on the DViCO FusionHDTV DVB-T Hybrid board, and add support for the Zarlink ZL10353 DVB-T demodulator, which supersedes the MT352, used on the DViCO FusionHDTV DVB-T Hybrid and later model Plus boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=780dfef37e2c941985b708f67aa0074edc922bea (commit)] * Add support for Satelco Easywatch DVB-S light [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36f4f334a169e5d42721d74b5d92fda89f792b06 (commit)] * Add support for remote control in Lifeview FlyDVB-T Duo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8029170b907e7bfac5f6ea3fcd5d076e90beaf3 (commit)] * Add support for AVerMedia A169 Dual Analog tuner card (dual saa7134 decoders - only 1 working right now) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68593af311aadb541b3b70acea175dea8e9cf7ca (commit)] * Added ID entries for the Genius VideoWonder DVB-T and the LifeView FlyTV Platinum Gold [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42e6b3b476f89b08232d1c1efd2327665b9050c8 (commit)] * There seems to be a new version of the USB DVB-T stick from WideView with a new demod-revision inside and thus a new firwmare. This patch enables support for that [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d46e6451956df4bee829dfebd5b521d0ee4868d1 (commit)] * Added support for the new Lifeview hybrid cardbus modules [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d95b8942eed310759bc866a2a4c0f110578aaa69 (commit)] * Added keycodes for the DViCO FusionHDTV portable remote control in Cxusb driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c150178bff4ae76635ccb06abd5258933379ecc6 (commit)] * Remove VIDIOC_S_AUDIO from tvaudio: no longer used [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11cda1075d8c40e536b77fce6dbf4cdbf8f77736 (commit)] * Add support for the Wolfson Microelectronics WM8739 stereo A/D converter from the ivtv driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75c4570ca4849b089c4edfc14bf02b4720087aba (commit)] * Cx88 default picture controls values [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f9c907fdc331fc6062d758f46f65cb0d2dd11be (commit)] * Add PAL / SECAM support to LG TALN series [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3629be8388a679590eb919919ee63e2715ec25e (commit)] * Add support for the uPD6408x NEC Electronics 3-Dimensional Y/C separation i2c device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=add953cecba870f4ad7730bd0a6d5eaaabeac3bc (commit)] * Creates a virtual video device driver. The Virtual Video Device Driver (aka vivi) is a device that can be used to test core v4l functionalities or be a prototype for newer development. When loaded, it provides a video device that generates a standard color bar, with a timestamp placed at top left corner [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6dd65e17b8b584026334b16485365bab486422 (commit)] * Infiniband: * PathScale InfiniPath Verbs Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd5e25d93e6efeb93db7b6731b0a674495270621 (commit)] * Various updates [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=064c94f9da8845f12446ab37142aa10f3c6f66ac (commit)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ace48471736a4b00753c74633f430c4a3a7d89cb (commit)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52aef8183fbedb0232b20127b089e85e7aa095e3 (commit)] * IRDA * TOIM3232 dongle support: Here goes a patch for supporting TOIM3232 based serial IrDA dongles [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ac81ae34ec8898e7eb1388fe21e3cee7b626a88 (commit)] * nsc-ircc: support for yet another Thinkpad IrDA chipset, a variation of the nsc-ircc PC8739x chipset, found in some IBM Thinkpad laptops [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ed79c9b7dea5cd9a55589a495cf96f00cd037d9 (commit)] * nsc-ircc: Enable PnP support for the nsc-ircc chipset [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec4f32d550b94b4b66c9c7689bc09c6b32c8e82e (commit)] * Video: * vgacon: Add support for soft scrollback. The scrollback buffer of the VGA console is located in VGA RAM. This RAM is fixed in size and is very small. To make the scrollback buffer larger, it must be placed instead in System RAM. The feature and the size of the buffer are made as a kernel config option. Besides consuming kernel memory, this feature will slow down the console by approximately 20% [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15bdab959c9bb909c0317480dd9b35748a8f7887 (commit)] * fbdev: Support the framebuffer driver for the display controller in AMD Geode GX processors (Geode GX533, Geode GX500 etc). Tested at 640x480, 800x600, 1024x768 and 1280x1024 at 8, 16, and 24 bpp with both CRT and TFT. No accelerated features currently implemented and compression remains disabled. This driver requires that the BIOS (or the SoftVG/Firmbase code in the BIOS) has created an appropriate virtual PCI header [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc4effc7a98d0d320e478d1d42bc4a8a64380150 (commit)] * nvidiafb: Add suspend and resume hooks to make software suspend more reliable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a07cd786dbd0111b9dd977e114438220cb4eee5 (commit)] * Add ID for Quadro NVS280: Quadro NVS280 is a dual-head PCIe card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed49843b897da9969e349c279ffc832efcb93213 (commit)] * fbdev: Make BIOS EDID reading configurable: DDC reading via the Video BIOS may take several tens of seconds with some combination of display cards and monitors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59153f7d7effdb5b3c81eb6d03914a866157b319 (commit)] * fbdev: add modeline for 1680x1050@60 for the Philips 200W display. aty128fb does not do DDC, it picks 1920x1440 or similar. It works ok with nvidiafb because it can ask for DDC data. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0c87978216836455ef5fbcac6df1ce6679750b0 (commit)] * au1200fb: Add support for Alchemy Au1200 framebuffer driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f95ec3c6df271ae4e6290cd6b95c18a009c76dc9 (commit)] * w100fb: Add acceleration support in w100fb.c (i.e. ATI Imageons) for the copyarea and fillrect operations [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b0e1c5dd2941aec566047e10a5cc929ca7f7d4f (commit)] * Remove old radeon driver, which has been obsoleted by the new one since a few releases [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39451a73a2d190763ba8a98f486cf23d63d22582 (commit)] * i2c * Add support for the CS5535/CS5536 in the scx200_acb driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16ffc5c99554bc1630bc3939e0950a75b2b1c811 (commit)] * Add Broadcom HT-1000 south bridge's PCI ID to i2c-piix driver. Note that at least on Supermicro H8SSL it uses non-standard SMBHSTCFG = 3 and standard values like 0 or 9 causes hangup [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f7ea3c58c9aa571617a9d77dd2fbd4bd81cc50a (commit)] * Add the DS2482 I2C-to-w1 bridge driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baf12ae29ab4cc6381e21b2e1a3af75a6a8f7566 (commit)] * acpiphp * Add dock event handling: These patches add generic dock event handling to acpiphp. If there are pci devices that need to be inserted/removed after the dock event, the event notification will be handed down to the normal pci hotplug event handler in acpiphp so that new bridges/devices can be enumerated. Because some dock stations do not have pci bridges or pci devices that need to be inserted after a dock, acpiphp will remain loaded to handle dock events even if no hotpluggable pci slots are discovered. You probably need to have the pci=assign-busses kernel parameter enabled to use these patches, and you may not allow ibm_acpi to handle docking notifications and use this patch [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=20416ea54087c25502d6fb973b8e119973e16341 (commit)] * Add new bus to acpi: If we add a new bridge with subordinate busses, we should call make sure that acpi is notified so that the PRT (if present) can be read and drivers who have registered on this bus will be notified when it is started. Also make sure to use the max reserved bus number for the starting the bus scan [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15a1ae74879925d0d3f71ebc3f56d0a2c5db393a (commit)] * hwmon * Add support for the Intel Pentium M series to the hwmon-vid driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c537fb287e68b84df685f4730348e83a163367b (commit)] * Add support for the Winbond W83687THF chip to the w83627hf hardware monitoring driver. This new chip is almost similar to the already supported W83627THF chip, except for VID and a few other minor changes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c2db6ce14a743ac5f8973124272cf425c4f86b90 (commit)] * pcmcia * Add support for Possio GCC AKA PCMCIA Siemens MC45 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30bac7aa0e3678c79ff00fc9372f34712eeb34fc (commit)] * AT91RM9200 Compact Flash driver: This patch adds support for the Compact Flash controller integrated in he Atmel AT91RM9200 processor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c1f3b7a30286c16ba151fadb0abf0b20e2a1e45 (commit)] * Serial: * Add rs422 support to the Altix ioc4 serial driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64b91379439ff0fb007bde90eb496299c14a9b2a (commit)] * serial_cs: Add Merlin U630 IDs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9cedfbdff1d8adb662cd3afc5bda66e393351 (commit)] * Allow 8250 PCI, PNP, GSC and HP300 support to be disabled with EMBEDDED enabled [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0cff260a42c051ee64c184ed05d96d18d243f7f6 (commit)] * mmc * Secure Digital Host Controller Interface driver: Driver for the Secure Digital Host Controller Interface specification [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d129bceb1d44ed3c23b99164849193703372bab4 (commit)] * Add OMAP MMC host driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=730c9b7e6630f786fcec026fb11d2e6f2c90fdcb (commit)] * udf: fix uid/gid options and add uid/gid=ignore and forget options: As Pekka Enberg pointed out, with the if still following the else, you can still get a null uid written to the disk if you specify a default uid= without uid=forget. In other words, if the desktop user is uid=1000 and the mount option uid=1000 is given ( which is done on ubuntu automatically and probably other distributions that use hal ), then if any other user besides uid 1000 owns a file then a 0 will be written to the media as the owning uid instead [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e6b3e5e97e2e8a25bcfc528dad94edf5220dfeb (commit)] * aoe: support dynamic resizing of AoE devices: Allow the driver to recognize AoE devices that have changed size. Devices not in use are updated automatically, and devices that are in use are updated at user request [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ae1c24e395b2b65326439622223d88d92bfa03a (commit)] * dm/md: * Raid5 reshaping support [http://lwn.net/Articles/169140/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e (commit)] * Infrastructure to allow normal IO to continue while array is expanding: We need to allow that different stripes are of different effective sizes, and use the appropriate size. Also, when a stripe is being expanded, we must block any IO attempts until the stripe is stable again [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ecaa1e6a1ad69862e9980b6c777e11f26c4782d (commit)] * Following symlinks are created if dm-0 maps to sda: /sys/block/dm-0/slaves/sda --> /sys/block/sda, /sys/block/sda/holders/dm-0 --> /sys/block/dm-0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f165921df46a977e3561f1bd9f13a348441486d1 (commit)] * Following symlinks are created if md0 is built from sda and sdb: /sys/block/md0/slaves/sda --> /sys/block/sda, /sys/block/md0/slaves/sdb --> /sys/block/sdb, /sys/block/sda/holders/md0 --> /sys/block/md0, /sys/block/sdb/holders/md0 --> /sys/block/md0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5463c7904c952aa6b6804dd902c72a5332fa5221 (commit)] * LED * Adds an LED driver for LEDs exported by the Sharp LOCOMO chip as found on some models of Sharp Zaurus [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d3cb35476903768541f79e61f171e79e6065098 (commit)] * Add NAND MTD activity LED trigger [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8fe833c1b010489b71b082e553b1dfa80ef81061 (commit)] * Adds LED drivers for LEDs found on the Sharp Zaurus c7x0 (corgi, shepherd, husky) and cxx00 (akita, spitz, borzoi) models [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3179108daaaccbf28b17d6d8b0e06abf0eee6d9f (commit)] * Add an LED trigger for IDE disk activity to the ide-disk driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2bfb646cdf348cb77c572f06d5b9d17ea205c7e2 (commit)] * Add an LED trigger for the charger status as found on the Sharp Zaurus series of devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=181bf8aa68a1d062d7f98abb0f1cb8871910320c (commit)] * Adds LED drivers for LEDs found on the Sharp Zaurus c6000 model (tosa) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d0cf3e0480f6be9232854387794443d1a904d6d (commit)] * LED: class documentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75c1d31d9ea71025b73430c696b727e8aa15872d (commit)] * Add LED class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0 (commit)] * add LED device support for ixp4xx devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a0c51bfce5ae4058366017d861aea6564d25aee (commit)] * Add support for LED triggers to the LED subsystem. "Triggers" are events which change the state of an LED. Two kinds of trigger are available, simple ones which can be added to exising code with minimum disruption and complex ones for implementing new or more complex functionality [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3bc9956ec52fb2c70f29aa894d8eec766116584 (commit)] * Add an example of a complex LED trigger in the form of a generic timer which triggers the LED its attached to at a user specified frequency and duty cycle [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6655c6fe575b720eb8cb6c143ae10995a7aa1916 (commit)] * Add driver support for general purpose I/O feature of the Synclink GT adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0080b7aae88c75e2a6b38dfcb228b0f239e18e3c (commit)] * WATCHDOG at91_wdt.c Watchdog driver for the Atmel AT91RM9200 processor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=853807fb500a9442d88646b7be92bfa51334f8e8 (commit)] [[Anchor(rules)]] Rules and tips: * Name of the new feature/description of the change, including a small explanation (if possible). Add links to web pages (if available), papers, etc. Keep the structure of previous changelogs! * If there's a interesting email (benchmarks, announcements if there's no web page, etc) about it in the mailing lists, get a link in one of the list's archives (at http://marc.theaimsgroup.com/?l=linux-kernel please, just for coherence. There're also fsdev & netdev mailing lists, etc) and add it. * Add commit's link to the git's web interface if possible, using the "(commit)" word. * To find commit's links you can search in the [http://www.kernel.org/git git web interface]. Remember that there're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff committed after 2.6.12-rc2] (ie: current development) and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] * However, if you want to keep track in "realtime", do NOT use the git's web interface (or the RSS). The RSS gets overflowed when there's a big merge. And more importantly, the shortlog you find in git's web interface does NOT care when things were really "committed": If a developer writes a patch, merges it in his git repository and then Linus pulls and merges it a month after it was merged in the developer's repository , the commit data won't appear in the "todays shortlog", but in the one-month-old changes (this could be fixed in the future however). * IOW: To keep track of the linux merges in realtime, the best option is to [http://vger.kernel.org/vger-lists.html#git-commits-head subscribe to the git-commits-head] mailing list (or search in the archives). Commit IDs are in the X-Git-Commit mail header. Tell your mailer to show them (by default it will be hidden unless you activate the "see the whole mail" option), if your mailer is good enought you'll be able to add a script which gets the Commit ID out of the header and launch a browser with the "http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=" needed gitweb URL before it. * It may look too hard to review the thousands of emails you get from the git-commit-head list, get the commit ID, the URL, a description and format all of it to put it here: "Formatting" is what would take most of your time. But the fact is that you can avoid most of the hard job by using some tricks. First of all, most of the relevant commits will be merged (and sent to the git-commits-head list) in the first two weeks after a kernel is released. When the mailing list sends you the commit messages, use the "mark" feature of your mailer to mark important commits - this is a easy operation, since the subject tells you if the commit is important, you can review quite a lot of commit messages per minute. When you're done, create an action/filter/whatever which allows you to extract the commit id. My MUA (sylpheed) allows me to create an "action" which allows me to pass the selected message(s) to a command. This allows to me to order my messages by marked/umarked to make easier to select at the same time all the marked messages, the I tell sylpheed to execute the previous "action", which runs a scripts which "greps" the commit-id out of the email headers and appends it to a file. This way I get a file with a list of all the relevant commit IDs (Other MUAS could have another methods to achieve this same goal or not have any at all). Now, with a local linux git repository (updated to head) and with a bit of scripting you can get (with git) the changelog information of every commit ID, so you can parse that information and generate a wiki-compatible-syntax list of commits with descriptions, URLs to gitweb automatically generated, etc. You'll need to fix the descriptions, but you get a LOT of work done automatically. * The web interface will show "meta-commits". When Linus merges things from a remote repository, You'll see a "Merge git://git.domain.com/foo/bar" style of message commit. If you click it for details you'll see a huge merge, but then the git shortlog will also show the individual commits. So those "meta-commits" are useful to add links to big merges which do one thing but do not mean anything by themselves. Those "meta-commits" will not be mailed to the git-commits-head mailing list. Random related stuff: * [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document], [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Todo: Find links to corresponding changesets for the untracked 2.5 releases (if you're really bored) |
<<Include(Linux_5.19)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.19 was released on Sunday, 31 Jul 2022.
Summary: This release adds optional support for IPv6 packets larger than 64KB; support AMD's SEV-SNP and Intel's TDX for more secure virtualized guests; support for a new LoongArch architecture; support for hundreds of millions of extended attributes per inode in XFS; support for ID mapping in overlayfs; support for proactive reclaim in memory control groups; support for NFS Courteous Server; support for ZSTD compressed firmware files; support for several new BPF features. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- More secure virtualization with AMD's SEV-SNP and Intel's TDX
- Jumbograms: IPv6 packets bigger than 64 KB
- New architecture: LoongArch
- Larger per-inode attribute limits in XFS
- ID mapping in overlayfs
- Proactive reclaim in memory control groups
- BPF improvements: dynamic pointers, typed pointers, libbpf USDT
- NFS Courteous Server
- ZSTD compressed firmware files
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- 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
- 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)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. More secure virtualization with AMD's SEV-SNP and Intel's TDX
These release incorporate two features that help to make existing encrypted virtualization (ie. hosts can't access the memory contents of virtualized guests) more secure:
- - AMD Secure Nested Paging (SEV-SNP): Add to confidential guests the necessary memory integrity protection against malicious hypervisor-based attacks like data replay, memory remapping and others, thus achieving a stronger isolation from the hypervisor
- Intel TDX: This release adds support for running Linux as a guest under Intel TDX, which provides encrypted guest memory support. TDX also includes memory encryption and integrity capabilities, like those of AMD's SEV-SNP Documentation
1.2. Jumbograms: IPv6 packets bigger than 64 KB
The maximum size of a standard IPv4/6 header is 64 KB. For high speed networking interfaces (400 GB), this maximum size is too small and the networking stack can't avoid having too much per-packet overhead. With the help of RFC 2675, it's possible to create the so called "jumbograms", which allow for packets much bigger than 64KB. This release incorporates supports for such packets. This feature is aimed mainly at local networks with intense network traffic, not the Internet, and can provide huge performance wins.
Recommended LWN article: Going big with TCP packets
Conference slides/video: BIG TCP
1.3. New architecture: LoongArch
This release adds initial support for the LoongArch architecture. LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its boot protocol LoongArch-specific interrupt controllers (similar to APIC) are already added in the next revision of ACPI Specification (current revision is 6.4)
1.4. Larger per-inode attribute limits in XFS
Some people want to use XFS to store hundreds of millions of xattrs per inode. This release adds an on-disk format change to allow these huge number of extended attributes. This change also increases the number of supported data extents per inode from 232 to 247, and a new logging feature is introduced that lays the foundation for future integration of attribute modifications as part of other atomic transactional operations.
1.5. ID mapping in overlayfs
ID mapping is a feature that lets you map a UID or GID to another one in a different mount. This release adds support for ID mapping in overlayfs itself, which is one of the file system where this feature is more likely to be used.
1.6. Proactive reclaim in memory control groups
This releases introduces a memcg interface to trigger memory reclaim on a memory cgroup. 'echo 10M > memory.reclaim' will trigger reclaim in the target memory cgroup.
The reason why this interface has been added is that a userspace proactive reclaimer can continuously probe the memcg to reclaim a small amount of memory. This gives more accurate and up-to-date workingset estimation as the LRUs are continuously sorted and can potentially provide more deterministic memory overcommit behavior. The memory overcommit controller can provide more proactive response to the changing behavior of the running applications instead of being reactive. A userspace reclaimer's purpose in this case is not a complete replacement for kswapd or direct reclaim, it is to proactively identify memory savings opportunities and reclaim some amount of cold pages set by the policy to free up the memory for more demanding jobs or scheduling new jobs.
1.7. BPF improvements: dynamic pointers, typed pointers, libbpf USDT
As usual, there are many BPF related changes. Between many other features, this release includes support for:
- Dynamic pointers: A dynamic pointer (struct bpf_dynptr) is a pointer that stores extra metadata alongside the address it points to. This abstraction is useful in bpf given that every memory access in a bpf program must be safe.
- Typed pointers: It enables storing pointers of a certain type in BPF map, and extends the verifier to enforce type safety and lifetime correctness properties.
- libbpf support for USDT (User Statically-Defined Tracing) probes: While USDTs themselves are pretty complicated abstraction built on top of uprobes, for end-users USDT is as natural a primitive as uprobes themselves. And thus it's important for libbpf to provide best possible user experience when it comes to build tracing applications relying on USDTs. With enough diligence and BPF cookies it's possible to implement USDT support that feels as natural as tracing any uprobe.
1.8. NFS Courteous Server
This release implements the NFSv4 Courteous Server. Previously NFSD would purge open and lock state for an unresponsive client after one lease (typically 90 seconds). Now, after one lease period, another can open and lock those files and the unresponsive client's is purged; otherwise if the unresponsive client's open and lock is uncontended, the server retains that open and lock state for to 24 hours, allowing the client's workload to resume after a network partition
1.9. ZSTD compressed firmware files
This release adds support for ZSTD compressed firmware files, and support for userspace to initiate the firmware load when it needs to, instead of being always initiated by the kernel.
2. Core (various)
- io_uring
Adds large CQE support. Large CQE's are 16 bytes longer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Return an error when cqe is dropped commit, commit, commit, commit, commit
Support for co-operative task_work signaling, rather than always forcing an IPI commit, commit, commit, commit, commit, commit
Support sparse buffers and file maps commit, commit, commit, commit, commit, commit
Support more types of cancelations commit, commit, commit, commit, commit
io_uring passthrough for nvme commit, commit, commit, commit, commit
Add support for ring mapped provided buffers commit, commit, commit
Add socket(2) support. This is handy when using direct / registered file descriptors with io_uring commit
fanotify: support for fsnotify inode marks that don't pin inodes in memory but rather get evicted together with the inode (they are useful if userspace needs to exclude receipt of events from potentially large subtrees using fanotify ignore marks) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- firmware
- modules
Generic Ticket Spinlocks. This is a simple, fair spinlock. Specifically it doesn't have all the subtle memory model dependencies that qspinlock has, which makes it more suitable for simple systems as it is more likely to be correct. It is implemented entirely in terms of standard atomics and thus works fine without any arch-specific code commit, commit, commit, commit, commit, commit, commit
printk: Allow consoles to print messages concurrently. Recommended LWN article. commit
binder: extended error and logging enhancements commit, commit, commit, commit, commit
bootconfig: Support embedding a bootconfig in kernel for non initrd boot commit, commit, commit, commit
SRCU: Add boot-time control over srcu_node array allocation commit
taskstats: version 12 with thread group and exe info commit
Extend FW framework for user FW uploads commit, commit, commit, commit, commit, commit, commit, commit
tools/thermal: thermal library and tools commit, commit, commit, commit
nolibc: Add a number of library functions and splits this library into multiple files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
binfmt_flat: Remove shared library support commit
kbuild: support W=e to make build abort in case of warning commit
objtool: Interface overhaul 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 core
initramfs: "crc" cpio format and INITRAMFS_PRESERVE_MTIME commit, commit, commit, commit, commit, commit
printk: Printk index feature documentation commit
3. File systems
- BTRFS
Avoid blocking on space reservation when doing nowait direct IO writes (+7% throughput for reads and writes) commit, commit, commit, commit, commit, commit, commit, commit
NOCOW write throughput improvement due to refined locking commit, commit, commit, commit, commit
Allow defrag to convert inline extents to regular extents commit
Support more pages sizes for the subpage support commit, commit, commit
Enable subpage support for RAID56 commit
Allow automatic block group reclaim for non-zoned filesystems, with sysfs tunables commit, commit, commit, commit
Repair super block num_devices automatically if it does not match the number of device items commit
tree-checker: check extent buffer owner against owner rootid commit
send: reduce pressure to page cache by dropping extent pages right after they're processed commit, commit
- XFS
(FEATURED) Add Large Extent Count. Removes the limits that prevent XFS from storing hundreds of millions of xattrs per inode, and while the on disk extent count format is modified, it also increases the number of supported data extents per inode from 232 to 247 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Logged Attribute Replay feature support. This is a fundamental change to the way XFS modifies attributes, laying the foundation for future integration of attribute modifications as part of other atomic transactional operations the filesystem performs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add XFS messages to printk index commit
- OVERLAYFS
- CIFS
- EROFS
fscache-based on-demand read support to allow erofs be mounted and accessed even when the bootstrap/data blob files have not been fully downloaded. Then it'll have native performance after data is available locally commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make filesystem exportable commit
Support idmapped mounts commit
- EXFAT
Introduce mount option sys_tz to use system timezone as time offset commit
- F2FS
- FAT
- NFS
(FEATURED) Implement the NFSv4 Courteous Server. Previously NFSD would purge open and lock state for an unresponsive client after one lease (typically 90 seconds). Now, after one lease period, another can open and lock those files and the unresponsive client's is purged; otherwise if the unresponsive client's open and lock is uncontended, the server retains that open and lock state for to 24 hours, allowing the client's workload to resume after a network partition commit, commit, commit, commit, commit, commit, commit
Export the NFSv4.1 'dacl' and 'sacl' attributes commit, commit, commit
- SMBFS
- ZONEFS
4. Memory management
(FEATURED) memcg: introduce per-memcg proactive reclaim. A userspace proactive reclaimer can continuously probe the memcg to reclaim a small amount of memory. This gives more accurate and up-to-date workingset estimation as the LRUs are continuously sorted and can potentially provide more deterministic memory overcommit behavior. The memory overcommit controller can provide more proactive response to the changing behavior of the running applications instead of being reactive. A userspace reclaimer's purpose in this case is not a complete replacement for kswapd or direct reclaim, it is to proactively identify memory savings opportunities and reclaim some amount of cold pages set by the policy to free up the memory for more demanding jobs or scheduling new jobs commit, commit, commit, commit
- Folios work
conversion from alloc_pages_vma() to vma_alloc_folio(), finish converting shrink_page_list() to folios, start converting shmem from pages to folios 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
Convert aops->read_page to aops->read_folio 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
- damon
COW fixes (recommended LWN article)
part 1: fix the COW security issue for THP and swap commit, commit, commit, commit, commit, commit, commit, commit, commit
part 2: reliable GUP pins of anonymous pages commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
part 3: reliable GUP R/W FOLL_GET of anonymous pages commit, commit, commit, commit, commit, commit, commit, commit
sparse-vmemmap: memory savings for compound devmaps (device-dax) commit, commit, commit, commit, commit
mprotect: avoid unnecessary TLB flushes commit, commit, commit
userfaultfd-wp: Support shmem and hugetlbfs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vmstat: add events for ksm cow commit
Add hugetlb_optimize_vmemmap sysctl for runtime enablement of the recent huge page vmemmap optimization feature commit, commit, commit, commit
zswap: accounting & cgroup control commit, commit, commit, commit, commit, commit
Assorted improvements to usercopy commit, commit, commit, commit
SLUB debugfs improvements based on stackdepot commit, commit, commit, commit, commit, commit
5. Block layer
loop: support partitions without scanning commit
cdrom: mark CDROMGETSPINDOWN/CDROMSETSPINDOWN obsolete commit
virtio-blk: support polling I/O and mq_ops->queue_rqs() commit, commit
zram: add a huge_idle writeback mode commit
6. Tracing, perf and BPF
- BPF
(FEATURED) Add support for dynamic pointers. A dynamic pointer (struct bpf_dynptr) is a pointer that stores extra metadata alongside the address it points to. This abstraction is useful in bpf given that every memory access in a bpf program must be safe. The verifier and bpf helper functions can use the metadata to enforce safety guarantees for things such as dynamically sized strings and kernel heap allocations. There are several uses cases for dynamic pointers in bpf programs. Some examples include: dynamically sized ringbuf reservations without extra memcpys, dynamic string parsing and memory comparisons, dynamic memory allocations that can be persisted in maps, and dynamic + ergonomic parsing of sk_buff and xdp_md packet data commit, commit, commit, commit, commit, commit
(FEATURED) Introduce typed pointer support in BPF maps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce access remote cpu elem support in BPF percpu map commit
Refine kernel.unprivileged_bpf_disabled behaviour commit
Bpf link iterator commit
Allow attach TRACING programs through LINK_CREATE command commit
Allow kfunc in tracing and syscall programs commit
Extend batch operations for map-in-map bpf-maps commit
Speed up symbol resolving in kprobe multi link commit, commit, commit, commit
- libbpf
(FEATURED) Add support for User Statically-Defined Tracing (USDTs) commit, commit, commit, commit, commit, commit, commit, commit, commit
name-based u[ret]probe attach commit, commit, commit, commit, commit
Allow to opt-out from BPF map creation commit, commit, commit, commit
Add target-less tracing SEC() definitions commit, commit, commit
Support opting out from autoloading BPF programs declaratively commit
bpftool: add program & link type names commit, commit, commit
bpftool: Use sysfs vmlinux when dumping BTF by ID commit
- perf
annotate: Add --percent-limit option commit
lock: Add -t/--thread option for report commit
Add --off-cpu option to enable the off-cpu profiling with BPF. It'd use a bpf_output event and rename it to "offcpu-time". Samples will be synthesized at the end of the record session using data from a BPF map which contains the aggregated off-cpu time at context switches commit, commit, commit, commit, commit, commit
script python: Add script for CoreSight disassembly commit, commit
stat: add user_time and system_time tool events commit, commit, commit
perf stat: Support metrics with hybrid events commit, commit, commit
7. Virtualization
KVM: Add Xen event channel acceleration 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
vDPA: Control VQ support in vDPA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Xen: dom0less + PV drivers commit
8. Cryptography
random: Various improvements merge
9. Security
Landlock: add a new LANDLOCK_ACCESS_FS_REFER access right to properly handle file reparenting (i.e. full rename and link support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for including fs-verity file digests and signatures in the IMA measurement list as well as verifying the fs-verity file digest based signatures commit, commit, commit, commit, commit, commit, commit
KEYS: trusted: Introduce support for NXP CAAM-based trusted keys commit, commit, commit, commit, commit
Enable root to update the blacklist keyring commit, commit, commit, commit, commit
randstruct: Enable Clang support commit, commit, commit, commit, commit, commit
10. Networking
(FEATURED) Support TCPv6 segmentation offload with super-segments larger than 64k bytes using the IPv6 Jumbogram extension header (AKA BIG TCP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
icmp: add skb drop reasons to icmp commit, commit, commit, commit
IP: add skb drop reasons to ip ingress commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: Expand and rename accept_unsolicited_na to accept_untracked_na commit
Add accept_unsolicited sysctl to enable adding a new neighbour cache entry in STALE state for routers on receiving an unsolicited (gratuitous) neighbour advertisement with source-link-layer-address option specified. This is similar to the arp_accept configuration for IPv4, done to implementes router-side changes for RFC9131 commit
TCP: drop reason additions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv4: Add a second bind table hashed by port and address commit
SO_RCVMARK socket option for SO_MARK with recvmsg() commit
Add skb_defer_max sysctl, max size (in skbs) of the per-cpu list of skbs being freed by the cpu which allocated them. Used by the TCP protocol so far commit
af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO commit
- mptcp
Userspace path manager prerequisites commit, commit, commit, commit, commit, commit, commit
Path manager mode selection commit, commit, commit, commit, commit, commit
Userspace path manager API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Timeout for MP_FAIL response commit, commit, commit, commit, commit, commit, commit
The infinite mapping support commit, commit, commit, commit, commit, commit, commit, commit
Improve MPTCP-level window tracking commit, commit, commit, commit, commit
inet diag listen dump support commit, commit, commit, commit
sockopt: add TCP_DEFER_ACCEPT support commit
- sched
Remove non-Ethernet drivers using virt_to_bus() commit, commit, commit, commit, commit, commit
- bridge
- can
- 802.11
memcg: accounting for objects allocated for new netdevice commit
- netfilter
Add the new nf_conntrack_events=2 autodetect mode and makes it the default commit
page_pool: introduce ethtool stats commit
rxrpc: Allow list of in-use local UDP endpoints to be viewed in /proc commit
TLS: Add opt-in zerocopy mode of sendfile() commit
11. Architectures
11.1. New LoongArch architecture
(FEATURED) Add basic LoongArch support. LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its boot protocol LoongArch-specific interrupt controllers (similar to APIC) are already added in the next revision of ACPI Specification (current revision is 6.4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.2. X86
(FEATURED) Add AMD Secure Nested Paging (SEV-SNP) Guest Support. This adds to confidential guests the necessary memory integrity protection against malicious hypervisor-based attacks like data replay, memory remapping and others, thus achieving a stronger isolation from the hypervisor. At the core of the functionality is a new structure called a reverse map table (RMP) with which the guest has a say in which pages get assigned to it and gets notified when a page which it owns, gets accessed/modified under the covers so that the guest can take an appropriate action commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) TDX Support, Intel's version of a confidential computing solution called Trust Domain Extensions. This release adds support to run the kernel as part of a TDX guest. It provides similar guest protections to AMD's SEV-SNP like guest memory and register state encryption, memory integrity protection and a lot more. Design-wise, it differs from AMD's solution considerably: it uses a software module which runs in a special CPU mode called (Secure Arbitration Mode) SEAM 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 * intel_idle: Add AlderLake support commit
Remove "noclflush" commit
Remove "noexec" commit
Remove "nosep" commit
Introduce In Field Scan driver. Cloud Service Providers that operate fleets of servers have reported occasions where they can detect that a CPU has gone bad due to effects like electromigration, or isolated manufacturing defects. However, that detection method is A/B testing seemingly random application failures looking for a pattern. In-Field Scan (IFS) is a driver for a platform capability to load a crafted 'scan image' to run targeted low level diagnostics outside of the CPU's architectural error detection capabilities commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
split locks: Make life miserable for apps using split locks by slowing them down considerably while the rest of the system remains responsive. commit
- platform
gpe: Add support for Surface Pro 8 commit
asus-nb-wmi: Add keymap for MyASUS key commit
gigabyte-wmi: Add support for Z490 AORUS ELITE AC and X570 AORUS ELITE WIFI commit
thinkpad_acpi: Add a s2idle resume quirk for a number of laptops commit
winmate-fm07-keys: Winmate FM07/FM07P buttons commit
chrome: Add ChromeOS ACPI device driver commit
KVM: Add Xen event channel acceleration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl commit
KVM: Support the vCPU preemption check with nopvspin and realtime hint commit
nSVM/SVM features commit, commit, commit, commit, commit, commit
KVM: nSVM: implement nested VMLOAD/VMSAVE commit
KVM: SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES commit
amd_hsmp: Add HSMP protocol version 5 messages commit
PCI: Add support for the SiS85C497 PIRQ router commit
Allow feature bit names from /proc/cpuinfo in clearcpuid= commit
perf/amd: Add AMD PerfMonV2 support commit, commit, commit, commit, commit, commit
- perf vendor events intel
perf intel-pt: Add support for tracing KVM test programs commit, commit, commit, commit, commit, commit
intel-pt: Add support for emulated ptwrite commit, commit, commit
xsave: Add support for XSAVEC - the Compacted XSTATE saving variant - and thus allow for guests to use this compacted XSTATE variant when the hypervisor exports that support commit
split_lock: Enable the split lock feature on Raptor Lake commit
vsyscall: Remove CONFIG_LEGACY_VSYSCALL_EMULATE commit
Remove a.out support commit
11.3. ARM
New SoCs
Renesas RZ/G2UL (R9A07G043), the single-core version of the RZ/G2L general-purpose MPU. Also basic support for Renesas RZ/G2UL SMARC EVK (based on R9A07G043U11) commit, commit
Renesas RZ/V2M (R9A09G011) is a smart camera SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Renesas R-Car V4H (R8A779G0), an automotive chip with Cortex-A76 cores and deep learning acceleration. Also suppor for White Hawk boards commit, commit
Broadcom BCM47622 is a new broadband !SoC based on a quad Cortex-A7 and dual Wifi-6 commit, commit, commit
Corstone1000, a generic platform from Arm that is used for designing custom SoCs, the support for now is for the Fixed Virtual Platform emulation for it commit, commit
Mediatek MT8195 (Kompanio 1200) is a high-end consumer chip used in upcoming Chromebooks commit, commit
NXP i.MXRT1050 is a Cortex-M7 based microcontroller commit
New machines based on supported SoCs
Two wireless routers based on Broadcom bcm4708 commit
30 new boards based on NXP i.MX6, i.MX7 and i.MX8 families, mostly for the industrial embedded market, and on NXP LS1021A based IOT board 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
Two ethernet switches based on Microchip LAN966 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Eight Qualcomm Snapdragon based machines, including a smartwatch, a Chromebook board and some phones commit, commit, commit
Another phone based on the old ST-Ericsson Ux500 platform commit
Four single-board computers based on Rockchip RK3566/RK3568 commit, commit, commit, commit, commit, commit
intel: add device tree for n6000 commit
qcom: sc7280: Delete herobrine-r0 commit
rockchip: add basic dts for the radxa rock3 model a commit
Add bosch acc board commit
Introduce HPE GXP Device tree commit
aspeed: Add Nuvia DC-SCM BMC commit
Initial clock support for exynosauto v9 SoC commit, commit, commit, commit, commit, commit, commit, commit, commit
at91: add support for secure suspend on sama5d2 commit, commit
ARMv5 multiplatform conversions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hpe: Introduce the HPE GXP architecture commit, commit, commit, commit, commit, commit, commit, commit
PXA multiplatform support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
omap1: enable multiplatform commit
perf/arm-cmn: Add CMN-650 and CMN-700 commit, commit, commit, commit
perf: arm64: Tools support for Dwarf unwinding through SVE functions commit, commit, commit, commit, commit
- ARM64
Initial support for ARMv9 Scalable Matrix Extension (SME). SME takes the approach used for vectors in SVE and extends this to provide architectural support for matrix operations. No KVM support yet, SME is disabled in guests 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
hugetlb: enable HUGETLB_PAGE_FREE_VMEMMAP for arm64 commit
Add ARMv8 NEON and Crypto Extensions implementation of SM4-ECB/CBC/CFB/CTR commit, commit
Hypervisor stack enhancements commit, commit, commit, commit, commit
Add support for hypercall services selection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add initial support for FEAT_WFxT commit, commit, commit, commit, commit
KVM: PSCI SYSTEM_SUSPEND support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf vendors events arm64: Multiple Arm CPUs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for crashkernel reservations above ZONE_DMA via the 'crashkernel=X,high' command line option commit, commit, commit, commit, commit, commit
11.4. RISCV
Support for running rv32 binaries on rv64 systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kexec: add kexec_file_load() support commit, commit, commit, commit, commit, commit
KVM RISC-V Sv57x4 support and HFENCE improvements commit, commit, commit, commit, commit, commit, commit
KVM: Introduce ISA extension register commit
bpf: Implement more atomic operations for RV64 commit
efi_stub: Add support for RISCV_EFI_BOOT_PROTOCOL commit
Support for Svpbmt and D1 memory types commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dts: microchip: add the sundance polarberry commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf jitdump: Add riscv64 support commit
11.5. S390
Add support for Processor Activity Instrumentation commit
Add an Ultravisor(UV) device letting the userspace send some Ultravisor calls to the UV. Currently two calls are supported. Query Ultravisor Information (QUI) and Receive Attestation Measurement (Attest[ation]) commit
crypto: add crypto library interface for ChaCha20 commit
Add KCSAN instrumentation to barriers and spinlocks commit
Add vdso randomization commit
ap: uevent on apmask/aqpmask change commit
perf list: Add IBM z16 event description for s390 commit
11.6. MIPS
Octeon: add SNIC10E board commit
11.7. M68K
Introduce a virtual m68k machine based on Goldfish interfaces defined by Google for Android simulator. It uses Goldfish-rtc (timer and RTC), Goldfish-pic (PIC) and Goldfish-tty (for early tty). The machine is created with 128 virtio-mmio buses, and they can be used to add serial console, GPU, disk, NIC, HID, hwrng, 9PFS...the virtual m68k machine has been merged in QEMU and will be available with the release 6.0 commit
11.8. OPENRISC
11.9. POWERPC
Convert powerpc to default topdown mmap layout commit, commit, commit, commit, commit, commit, commit, commit, commit
ftrace optimisation and cleanup 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
KASAN support for 64-bit Book 3S powerpc commit, commit, commit, commit
11.10. UM
Enable ARCH_HAS_GCOV_PROFILE_ALL commit
daemon: Make default socket configurable commit
xterm: Make default terminal emulator configurable commit
11.11. XTENSA
Support coprocessors on SMP commit
Add hibernation support commit
Enable context tracking and VIRT_CPU_ACCOUNTING_GEN commit, commit, commit, commit, commit
Enable KCSAN commit
Enable ARCH_HAS_DEBUG_VM_PGTABLE commit
11.12. ARC
11.13. H8300
Remove the h8300 architecture commit
12. Drivers
12.1. Graphics
Enable boot time VESA graphic mode selection commit
- Intel
- DG2 laptop PCI-IDs ("motherboard down")
Initial RPL-P PCI IDs commit
RPL-S PCI IDs added commit
DG2 Tile4 support commit
DG2: Add support for render/media decompression commit, commit, commit, commit
- DG2 render/media compression formats support
ATS-M platform info commit
Bump ADL-P DMC version to v2.16 commit
Support static DRRS commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DP HDR support for HSW+ commit
sysfs support for multi-tile commit, commit, commit, commit, commit, commit, commit
fdinfo per-client gpu utilisation commit, commit, commit, commit, commit, commit, commit, commit
small PCI BAR enablement commit, commit, commit, commit, commit, commit, commit
GuC error capture support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sunset igpu legacy mmap support for newer devices commit
GuC version 70.1.1 support commit
Add first set of DG2 PCI IDs commit
Add lmem_size modparam commit
- amdgpu
SMU 13.0.7 Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for GC 11.0 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
Enable sysfs nodes for vclk and dclk for NAVI12 commit
Add a AMDGPU_GEM_CREATE_DISCARDABLE flag to note that the content of a BO doesn't needs to be preserved during eviction and AMDGPU_VM_NOALLOC to let userspace control MALL allocation commit, commit
Add support for USBC connector commit
Add debugfs TA load/unload/invoke support commit
Add beige goby PCI ID commit
amdkfd: CRIU add support for GWS queues commit
amdkfd: add RAS poison consumption handling for UTCL2 (v2) commit
- bridge
- panel
- msm
Add Display Stream Compression Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Fourcc modifier for tiled but not compressed layouts
Support for userspace allocated IOVA (GPU virtual address) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mxsfb
LCDIF CRC support commit
- omapdrm
- vc4
HDMI YUV support commit
- vmwgfx
- solomon
Add SSD130x OLED displays SPI support commit
- sun4i
- ast
Displayport support commit
- rockchip
- mediatek
MT8186 support commit
Add RGB565-to-XRGB8888 conversion commit
Add RGB888-to-XRGB8888 conversion commit
ttm: Add common debugfs code for resource managers commit
Remove support for Hyper-V 2008 and 2008R2/Win7 commit, commit, commit, commit
12.2. Power Management
- ACPI
cpuidle: PSCI: Improve support for suspend-to-RAM for PSCI OSI mode commit
- EFI
- thermal
- tools/power turbostat
12.3. Storage
ahci: Add a generic 'controller2' RAID id commit
nvme-apple: Add initial Apple SoC NVMe driver commit
nvme: add support for TP4084 - Time-to-Ready Enhancements commit
scsi: core: Increase max device queue_depth to 4096 commit
scsi: lpfc: Add support for ATTO Fibre Channel devices commit
scsi: lpfc: Add support for VMID tagging of NVMe I/Os commit
scsi: mpi3mr: Add bsg device support commit
scsi: mpi3mr: Add shost related sysfs attributes commit
scsi: mpi3mr: Add support for MPT commands commit
scsi: mpi3mr: Add support for NVMe passthrough commit
scsi: mpi3mr: Add support for PEL commands commit
scsi: mpi3mr: Add support for driver commands commit
scsi: mpi3mr: Add target device related sysfs attributes commit
scsi: mpi3mr: Expose adapter state to sysfs commit
scsi: scsi_debug: Add gap zone support commit
scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 commit
scsi: target: Allow changing dbroot if there are no registered devices commit
12.4. Drivers in the Staging area
H.264 Field Decoding Support for Frame-based Decoders commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
wfx: get out from the staging area commit
media: hantro: Implement support for encoder commands commit
media: hantro: Add support for Hantro G1 on RK356x commit
Remove the drivers for the Unisys s-Par commit
bcm2835-audio: remove compat ALSA card commit
12.5. Networking
- Bluetooth
appletalk: remove Apple/Farallon LocalTalk PC support commit
- ath10k
- ath11k
Add support for WCN6750 commit, commit, commit, commit, commit, commit, commit, commit, commit
Support WoW functionalities commit, commit, commit, commit, commit, commit
Add peer rhash table support commit
Add support for targets without trustzone commit
Add feature for device recovery commit, commit, commit, commit
Add support muti-type regdb data for WCN6855 commit
axienet: Use NAPI for TX completion path commit
bnxt: Support XDP multi buffer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bnxt_en: Enable packet timestamping for all RX packets commit
- can
cpsw: ale: add broadcast/multicast rate limit support commit
- dsa
amd: remove NI6510 support (ni65) commit
de4x5: remove support for Generic DECchip & DIGITAL EtherWORKS PCI/EISA commit
Introduce mt7986 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
MediaTek SoC flow offload improvements + wireless support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add driver for Sunplus SP7021 commit
ti: am65-cpsw: enable bc/mc storm prevention support commit
ti: cpsw_new: enable bc/mc storm prevention support commit
hamradio: remove support for DMA SCC devices commit
- hns3
hv_netvsc: Add support for XDP_REDIRECT commit
- i40e
- ice
- ipa
ixgbe: add xdp frags support to ndo_xdp_xmit commit
- lan966x
- mdio
- mlx5
Add last command failure syndrome to debugfs commit
Lag, add debugfs to query hardware lag state commit
Lag, expose number of lag ports commit
Lag, support single FDB only on 2 ports commit
Support devices with more than 2 ports commit
Support multiport eswitch mode commit
Drop Mellanox FPGA IPsec support from the kernel commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Drop Mellanox FPGA TLS support from the kernel commit, commit, commit, commit, commit
Show statistics for a vdpa device commit, commit, commit, commit, commit
- mlxsw
Line cards status tracking commit, commit, commit, commit, commit, commit
Introduce line card support for modular switch commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparations for line cards support commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend line card model by devices and info commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mt76
Ethernet->WLAN hardware flow offloading support on MT7622 commit, commit, commit, commit
mt7915: add debugfs knob for RF registers read/write commit
mt7915: add more statistics from fw_util debugfs knobs commit
mt7915: add support for 6G in-band discovery commit
mt7921: Add AP mode support commit
mt7921: add ipv6 NS offload support commit
mvneta: add support for page_pool_get_stats commit
mwifiex: Add SD8997 SDIO-UART firmware commit
- nfp
flower: decap neighbour table rework commit, commit, commit, commit, commit, commit, commit, commit, commit
flower: support ct merging when mangle action exists commit
Support 802.1ad VLAN assingment to VF commit
Support Corigine PCIE vendor ID commit
Support VxLAN inner TSO with GSO_PARTIAL offload commit
Add octeon_ep driver commit, commit, commit, commit, commit, commit, commit
octeontx2-pf: Add support for adaptive interrupt coalescing commit
- phy
adin1100: Add initial support for ADIN1100 industrial PHY commit, commit, commit, commit, commit, commit
LAN87xx: add ethtool SQI support commit
LAN937x: add interrupt support for link detection commit
adin: add support for clock output commit
dp83td510: Add support for the DP83TD510 Ethernet PHY commit
smsc: add LAN8742 phy support commit
- prestera
qed: Remove IP services API commit
Add Renesas RZ/V2M Ethernet support commit, commit, commit, commit, commit
- rtw88
- rtw89
Refine interrupt masks for SER, and add H2C for new chip commit, commit, commit
Update TX power from internal tables that support UK and 6G; implement TX/RX descriptors V1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8852c: add 8852c tables, TX power and set channel functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8852c: add RFK and then enable 8852ce in Makefile and Kconfig commit, commit, commit, commit, commit, commit, commit, commit, commit
sfc: add EF100 VF support via a write to sriov_numvfs commit
stmmac: intel: Add RPL-P PCI ID commit
- qmi_wwan
wan: remove support for COSA and SRP synchronous serial boards commit
wan: remove support for Z85230-based devices commit
wan: remove the lanmedia (lmc) driver commit
wcn36xx: Implement tx_rate reporting commit
wil6210: remove 'freq' debugfs commit
wireless: add plfxlc driver for pureLiFi X, XL, XC devices commit
wwan: t7xx: PCIe driver for MediaTek M.2 modem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove non-Ethernet drivers using virt_to_bus() commit, commit, commit, commit, commit, commit, commit
12.6. Audio
Add generic serial MIDI driver using serial bus API commit
ctxfi: Add SB046x PCI ID commit
hda/conexant: add a new hda codec SN6140 commit
hda/cs8409: Add Speaker Playback Switch for Cyborg commit
hda/cs8409: Add Speaker Playback Switch for Warlock commit
hda/cs8409: Support new Odin Variants commit
hda/realtek: Add new type for ALC245 commit
hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop commit
hda/tegra: Enable Jack poll for tegra commit
hda: Jack detection poll in suspend state commit
- ASoC
Intel: AVS - Audio DSP for cAVS 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
SOF: Add IPC4 FW loader support commit, commit, commit, commit, commit
SOF: Intel: improve HDaudio DAI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sof_rt5682: Add support for adl_rt1019_rt5682s commit
SOF: Intel: pci-tgl: add ADL-PS support commit
SOF: Intel: pci-tgl: add RPL-P support commit
SOF: add INTEL_IPC4 plumbing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: sof-client: Update for different IPC versions commit, commit, commit, commit, commit, commit, commit, commit
SOF: IPC4: Introduce message handling functionality commit, commit, commit
SOF: mediatek: Add ipc support for mt8195 commit
SOF: Add support of MediaTek mt8186 commit, commit, commit, commit
adau1761: Add ADAU1761-as-ADAU1361 compatibility mode commit
ak4613: add TDM256 support commit
ASoC: cs35l41: Support external boost commit
ASoC: cs35l45: Add driver for Cirrus Logic CS35L45 Smart Amp commit
ASoC: fsl_micfil: Add support for i.MX8MPlus commit
ASoC: fsl_sai: Add support for i.MX8M Plus commit
ASoC: fsl_sai: Add support for i.MX8MM commit
ASoC: fsl_sai: Add support for i.MX8ULP commit
ASoC: fsl_ssi: Add support multi fifo script commit
ASoC: max98396: add amplifier driver commit
ASoC: mediatek: mt8192: support rt1015p_rt5682s commit
ASoC: mediatek: mt8195: add machine support for max98390 and rt5682 commit
ASoC: mediatek: mt8195: merge machine driver commit
ASoC: qcom: Add driver support for ALC5682I-VS commit
ASRC support on Tegra186 and later commit, commit, commit, commit, commit, commit
12.7. Tablets, touch screens, keyboards, mouses
Add Raspberry Pi Sense HAT joystick driver commit
Add support for Azoteq IQS7222A/B/C commit
pm8941-pwrkey - add software key press debouncing support commit
pm8941-pwrkey - add support for PON GEN3 base addresses commit
sun4i-lradc-keys - add optional clock/reset support commit
sun4i-lradc-keys - add support for R329 and D1 commit
sun4i-lradc-keys - add wakeup support commit
- HID
Add support for Mega World controller force feedback commit
amd_sfh: Add physical location to HID device commit
amd_sfh: Add support for sensor discovery commit
intel-ish-hid: ipc: add ADL and RPL device id commit
lenovo: Add support for ThinkPad TrackPoint Keyboard II commit
multitouch: Add support for Google Whiskers Touchpad commit
uclogic: Add pen support for XP-PEN Star 06 commit
uclogic: Add support for Huion Q620M commit
uclogic: Add support for Huion touch ring reports commit
uclogic: Add support for bitmap dials commit
uclogic: Add support for touch ring reports commit
uclogic: Allow three frame parameter sets commit
uclogic: Support disabling pen usage commit
wacom: Adding Support for new usages commit
12.8. TV tuners, webcams, video capturers
Support OVTI7251 on Microsoft Surface line commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support Qualcomm custom compressed pixfmt commit, commit, commit, commit, commit, commit
amphion: handle picture skipped event commit
atmel: microchip-csi2dc: add link validation support commit
coda: Add more H.264 levels for CODA960 commit
coda: add JPEG downscale support commit
entity: Add support for ancillary links commit
i2c: adv7180: Add support for the test patterns commit
i2c: imx412: Add bulk regulator support commit
imx-jpeg: Support dynamic resolution change commit
mtk-vcodec: support for M8192 decoder commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.9. Universal Serial Bus
dwc3: Add AM62 USB wrapper driver commit
dwc3: xilinx: Add gpio-reset support commit
gadget: Add a new bus for gadgets commit
hcd: Add support for deferring roothub registration commit
serial: option: add Quectel BG95 modem commit
typec: mux: Add On Semi fsa4480 driver commit
12.10. Serial Peripheral Interface (SPI)
Add driver for MTK SPI NAND Flash Interface commit
Support hclk commit
aspeed: Add support for the AST2400 SPI controller commit
ingenic: Add support for use GPIO as chip select line commit
omap2-mcspi: add support for interword delay commit
12.11. Watchdog
Add Renesas RZ/N1 Watchdog driver commit
Add watchdog driver for Sunplus SP7021 commit
bcm7038_wdt: Support BCM6345 compatible string commit
hpe-wdt: Introduce HPE GXP Watchdog commit
mediatek: mt8186: add wdt support commit
mtk_wdt: mt7986: Add toprgu reset controller support commit
12.12. Serial
Add RS485 support to DW UART commit, commit, commit, commit, commit, commit
8250: dw: RZN1 DMA support commit, commit, commit, commit, commit, commit, commit, commit, commit
serial/8250: Use fifo in 8250 console driver commit
serial: stm32: add KGDB support commit and earlycon support commit
12.13. CPU Frequency scaling
mediatek: Cleanup and support MT8183 and MT8186 commit, commit, commit
tegra194: Add support for Tegra234 commit
CPPC: Enable fast_switch commit
intel_pstate: Support Sapphire Rapids OOB mode commit
12.14. Device Voltage and Frequency Scaling
Add cpu based scaling support to passive governor with required-opp property commit, commit, commit, commit
PM / devfreq: rk3399_dmc: Support new disable-freq properties commit
12.15. Voltage, current regulators, power capping, power supply
Add error flags to sysfs attributes commit
rt5759: Add support for Richtek RT5759 DCDC converter commit
12.16. Real Time Clock (RTC)
12.17. Pin Controllers (pinctrl)
mediatek: Add pinctrl driver for MT6795 Helio X10 commit
mvebu: pinctrl driver for 98DX2530 SoC commit
qcom-pmic-gpio: Add support for pmx65 commit
qcom: Add SC7280 lpass pin configuration commit
renesas: r8a77990: Add drive-strength commit
renesas: rzg2l: Add RZ/G2UL support commit
rockchip: add rk3588 support commit
rockchip: support deferring other gpio params commit
rockchip: support setting input-enable param commit
12.18. Multi Media Card (MMC)
Support zeroout using TRIM for eMMC commit
renesas_sdhi: R-Car V3H ES2.0 gained HS400 support commit
sdhci-msm: Add SoC specific compatibles commit
12.19. Memory Technology Devices (MTD)
cfi_cmdset_0002: Add S29GL064N ID definition commit
rawnand: add support for Toshiba TC58NVG0S3HTA00 NAND flash commit
rawnand: gpmi: Add large oob bch setting support commit
rawnand: kioxia: Add support for TH58NVG3S0HBAI4 commit
spi-nor: support eon en25qh256a variant commit
spi-nor: winbond: add support for W25Q512NW-IM commit
spinand: add support for more GD SPI NANDs commit, commit, commit, commit, commit
spinand: Add support for XTX XT26G0xA commit
maps: ixp4xx: Drop driver commit
12.20. Industrial I/O (iio)
accel: add support for LIS302DL variant commit
adc: ad7124: add sequencer support commit
adc: ad7192: add sequencer support commit
adc: ad_sigma_delta: Add sequencer support commit
adc: sc27xx: add support for PMIC sc2720 and sc2721 commit
adc: sc27xx: add support for PMIC sc2730 commit
adc: ti-ads1015: Add TLA2024 support commit
imu: inv_mpu6050: Add support for ICM-20608-D commit
imu: st_lsm6dsx: add support to ASM330LHHX commit
12.21. Multi Function Devices (MFD)
intel-lpss: Add support for ADL-P i2c6 and i2c7 commit
12.22. Pulse-Width Modulation (PWM)
pwm-mediatek: Add support for MediaTek Helio X10 MT6795 commit
pwm-cros-ec: Add channel type support commit
sunplus-pwm: Add Sunplus SoC SP7021 PWM Driver commit
Add support for Xilinx AXI Timer commit
12.23. Hardware monitoring (hwmon)
Add driver for the Microchip LAN966x SoC commit
adt7475: Add support for pin configuration commit
aquacomputer_d5next: Add support for Aquacomputer Farbwerk commit
aquacomputer_d5next: Add support for Aquacomputer Octo commit
asus-ec-sensors: add support for board families commit, commit, commit, commit
asus-ec-sensors: Add T_Sensor for ASUS WS X570-ACE commit
asus-ec-sensors: add ProArt X570 Creator WIFI board commit
bt1-pvt: use generic polynomial functions commit
dell-smm: Add cooling device support commit
jc42: Add support for S-34TS04A commit
lm75: Add Atmel AT30TS74 support commit
nct6775: Add i2c driver commit
nct6775: add ASUS PRO H410T / PRIME H410M-R / ROG X570-E GAMING WIFI II commit
pmbus: Add support for Infineon Digital Multi-phase xdp152 family controllers commit
tmp401: Add support of three advanced features commit
asus-ec-sensors: add ROG STRIX X570-E GAMING WIFI II commit
12.24. General Purpose I/O (gpio)
adp5588: Remove support for platform setup and teardown callbacks commit
rcar: Add R-Car Gen4 support commit
realtek-otto: Add RTL930x support commit
realtek-otto: Add RTL931x support commit
realtek-otto: Support per-cpu interrupts commit
realtek-otto: Support reversed port layouts commit
12.25. Leds
Add PWM multicolor driver commit
Add pm8350c support to Qualcomm LPG driver commit
Add driver for Qualcomm LPG commit
12.26. DMA engines
PTDMA: support polled mode commit
dw: dmamux: Introduce RZN1 DMA router support commit
qcom: gpi: Add SM8350 support commit
sun6i: Add support for 34-bit physical addresses commit
sun6i: Add support for the D1 variant commit
tegra: Add tegra gpcdma driver commit
12.27. Hardware Random Number Generator (hwrng)
mpfs: Add polarfire soc hwrng support commit
12.28. Cryptography hardware acceleration
atmel-sha204a - Add support for ATSHA204 cryptochip commit
KEYS: trusted: Introduce support for NXP CAAM-based trusted keys commit, commit, commit, commit, commit, commit, commit
caam/rng: Add support for PRNG commit
hisilicon/sec: add sm4 generic selection commit
qat: add support for 401xx devices commit
sa2ul: Add the new compatible for AM62 commit
sun8i-ss: add hmac(sha1) commit
12.29. PCI
hv: Add validation for untrusted Hyper-V values commit
mvebu: Add support for sending Set_Slot_Power_Limit message commit
qcom: Add SM8150 SoC support commit
rockchip-dwc: Add legacy interrupt support commit
12.30. Thunderbolt
12.31. Clock
en7523: Add clock driver for Airoha EN7523 SoC commit
imx8mn: add GPT support commit
imx8mp: add clkout1/2 support commit
imx: add mcore_booted module paratemter commit
mediatek: Add MT8186 mcusys clock support commit
mediatek: Add MT8186 topckgen clock support commit
qcom: add sc8280xp GCC driver commit
qcom: lpass: Add support for LPASS clock controller for SC7280 commit
renesas: Add RZ/V2M support using the rzg2l driver commit
renesas: Add support for RZ/G2UL SoC commit
renesas: cpg-mssr: Add support for R-Car V4H commit
renesas: r9a07g044: Add M1 clock support commit
renesas: rzg2l: Add support for RZ/V2M reset monitor reg commit
stm32: Introduce STM32MP13 RCC drivers (Reset Clock Controller) commit
stm32mp13: add stm32_gate management commit
sunxi-ng: h616: Add PLL derived 32KHz clock commit
clocksource: timer-gxp: Add HPE GXP Timer commit
clocksource: Add a goldfish-timer clocksource commit
12.32. PHY ("physical layer" framework)
qcom-qmp: Add support for SDX65 QMP PHY commit
qcom-qmp: Add SM6350 UFS PHY support commit
cadence: Sierra: Add TI J721E specific PCIe multilink lane configuration commit
12.33. EDAC (Error Detection And Correction)
synopsys: Add driver support for i.MX platforms commit
12.34. Various
- bus
Add initial support for MHI endpoint stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add driver for initializing the SSC bus on (some) qcom SoCs commit
mhi: host: Add soc_reset sysfs commit
mhi: host: Add support for Cinterion MV32-WA/MV32-WB commit
mhi: host: Add support for Foxconn T99W373 and T99W368 commit
mhi: host: pci_generic: add Telit FN990 commit
mhi: host: pci_generic: add Telit FN980 v1 hardware revision commit
SCMI: miscellaneous changes to support basically all the SCMIv3.1 specification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
firmware: xilinx: Add feature check support in ZU+ commit, commit, commit, commit
firewire: assist unit driver to compute packet time stamp commit, commit, commit
firmware: mtk: add adsp ipc protocol for SOF commit, commit, commit
- habanalabs
gaudi: add debugfs to fetch internal sync status commit
Add separate poll interval value for protocol commit
Add device memory scrub ability through debugfs commit
Add support for notification via eventfd commit
Add user API to get valid DRAM page sizes commit
Expose compute ctx status through info ioctl commit
Support debugfs Byte access to device DRAM commit
Unified memory manager infrastructure commit
Introduce new subsystem called hardware timestamping engine (HTE). It offers functionality such as timestamping through hardware means in realtime commit, commit, commit, commit, commit, commit, commit, commit
- interconnect
- ipmi
- mailbox
mei: add support for graphics system controller (gsc) devices commit
memory: tegra: Add Tegra234 support commit
- nvmem
of: Support more than one crash kernel regions for kexec -s commit
- powercap
- ptp
remoteproc: imx_rproc: Support i.MX93 commit
remoteproc: qcom: pas: Add MSM8226 ADSP support commit
reset: simple: Add AST2600 compatible commit
tpm: cr50: Add new device/vendor ID 0x504a6666 commit
dma: omap: hide legacy interface commit
- extcon
13. List of Pull Requests
14. Other news sites
LWN merge window part 1, part 2, Development statistics
Phoronix feature overview